aliubimov / xbmc

Kodi is an award-winning free and open source home theater/media center software and entertainment hub for digital media. With its beautiful interface and powerful skinning engine, it's available for Android, BSD, Linux, macOS, iOS and Windows.
https://kodi.tv/
Other
7 stars 2 forks source link

Submit pull request for Tegra Decoder and L4T hardware decoding to upstream 'xbmc/xbmc' #6

Open Hedda opened 3 years ago

Hedda commented 3 years ago

@aliubimov Please consider submitting a pull request for Tegra Decoder and L4T hardware decoding to upstream 'xbmc/xbmc'

I think that a pull request for "Nvidia Tegra support for Nvidia Jetson" to the upstream 'xbmc/xbmc' would be much welcomed by many Kodi fans who like SBC since the newly announced "2GB" NVIDIA Jetson Nano Developer Kit only cost $54-59 (US) at launch!

https://www.cnx-software.com/2020/10/06/nvidia-jetson-nano-2gb-developer-kit/

https://developer.nvidia.com/embedded/jetson-nano-2gb-developer-kit

https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-nano/education-projects/#shop-all

Suggest rebase and then submit pull request upstream to -> https://github.com/xbmc/xbmc master?

https://github.com/aliubimov/xbmc/commits/feature/tegra-support

https://github.com/aliubimov/xbmc/commits/feature/kodi-tegra

Maybe just try submit 'as-is' as a [WIP] (Work-in-Progress) just to get feedback on the code from the upstream developers?

https://github.com/aliubimov/xbmc/commit/b58ad424413e58149593ec4595a8bd0c57131c6a

https://github.com/aliubimov/xbmc/commit/0f57d2f3d52a1f220bec5864ee5f25f5d582f4ae

https://github.com/aliubimov/xbmc/commit/f1933bdf2a1dba3074aba049f2e289558ab4c786

https://github.com/aliubimov/xbmc/commit/6f7f76b872e64c1e700827ebe5f0f8fc99c23106

https://github.com/aliubimov/xbmc/commit/f29bdb84fe0d5b74f10aa3eede4b79300b94effe

https://github.com/aliubimov/xbmc/commit/f62bfa0d3d23cf9eec0c56a5776e3a41698332a8

https://github.com/aliubimov/xbmc/commit/edc023184cb3602bd86c4f625567b820bf8560f0

Please also consider joining the Kodi community forums and posting your progress in both of these two forums threads here:

https://forum.kodi.tv/showthread.php?tid=357522

https://forum.kodi.tv/showthread.php?tid=342261

I believe that LibreELEC users especially would be in interested in Nvidia Jetson Nano if future a LibreELEC version would support it

https://libreelec.tv

https://github.com/LibreELEC

LibreELEC is the semi-official JeOS (Just Enough Operating System) for Kodi and many on Team Kodi are also on Team LibreELEC.

It would be great if Nvidia Tegra decoding could be tested with LibreELEC on an NVIDIA Jetson Nano Developer Kit!

aliubimov commented 3 years ago

Code is rebased, but it needs some clean-up and dedicated platform build, so it doesn't interfere with regular linux build. I hope I can finish PR soon. Sorry I've been a bit short on free time.

Hedda commented 3 years ago

@aliubimov Any updates on making a PR upstream to Kodi's 'xbmc/xbmc' repo ("xbmc:master" branch)?

Noticed that they updated to FFmpeg 4.4 which according to the changelog apparently added "NVDEC AV1 hwaccel" support:

https://github.com/xbmc/xbmc/pull/19558

https://www.ffmpeg.org/index.html#news

https://git.ffmpeg.org/gitweb/ffmpeg.git/blob_plain/refs/heads/release/4.4:/Changelog

Regardless you might want to note that many PRs for upstream are now targeting/tagging to their "N* 20.0 Alpha 1" milestone:

https://github.com/xbmc/xbmc/milestone/137

https://github.com/xbmc/xbmc/milestones/

PS: "N*" is short for Kodi v20 (Kodi version 20.0) codename which is still undecided will start the letter "N";

https://forum.kodi.tv/showthread.php?tid=360624

Update! Kodi v20 has now gotten the codename "Nexus" (Kodi 20.x "Nexus") which in the pre-alpha development stage:

https://kodi.tv/article/the-votes-have-been-counted-and-verified/

Hedda commented 3 years ago

Noticed that they updated to FFmpeg 4.4 which according to the changelog apparently added "NVDEC AV1 hwaccel" support:

xbmc#19558

https://www.ffmpeg.org/index.html#news

https://git.ffmpeg.org/gitweb/ffmpeg.git/blob_plain/refs/heads/release/4.4:/Changelog

For reference; upstream now also have PRs by @a1rwulf for adding AV1 hw decoding in VideoPlayer via VAAPI and MediaCodec:

https://github.com/xbmc/xbmc/pull/19661

https://github.com/xbmc/xbmc/pull/19810

aliubimov commented 3 years ago

Interesting.. NVDEC isn't really compatible with VAAPI or MediaCodec. It has some support of GStreamer. Only way I this working in Kodi, is via separate HWDecoder, specific for Jetson.