I would like to get kodi to work on the Jetson Nano. I tested out playing videos with gstreamer and 4k videos play great. But kodi does not currently support Gstreamer. They are working towards a generic v4l2 video player. My question is does the Jetson nano support hardware accelerated video decode through proper v4l2 channels? If not is this being worked on?
The Jetpack software does support hardware video encoding/decoding through the V4L2 API.
Which specific codecs and profiles are supported depends on the specific hardware (Xavier is up-to-date, Nano is a quite old GPU.)
Also, the details of V4L2 codec interactions are somewhat under-specified, which means that “generic” code is unlikely to work without at least a little bit of tweaking for the specific hardware it runs on.
The examples in the /usr/src/nvidia directory show how to encode/decode H264 using the hardware V4L2 interface.
I tried running the video decode example and get a segmentation fault.
sudo ./video_decode H265 --fps ~/Desktop/jellyfish-180-mbps-4k-uhd-hevc-10bit.mkv
Set governor to performance before enabling profiler
Creating decoder in blocking mode
Failed to query video capabilities: Inappropriate ioctl for device
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 279
NVMEDIA: Reading sys.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 279
Setting frame input mode to 1
Starting decoder capture loop thread
Input file read complete
Please extract h265 stream from mkv:
$ gst-launch-1.0 filesrc location= jellyfish-10-mbps-hd-hevc.mkv ! matroskademux ! h265parse ! video/x-h265,stream-format=byte-stream ! filesink location=a.h265
00_video_decode$ ./video_decode H265 ~/a.h265
10-bit h265 decoding is not supported. Please use 8-bit content.