Hi, I am having issue with video decoder on Orin. With either the working code I have for Xavier or the 00-video-decoder sample provided in the SDK, there are issues.
Here is an output of running the sample:
verdant@orin:~/verdant/jetson_multimedia_api/samples/00_video_decode$ ./video_decode H265 --disable-rendering test001.mp4
Set governor to performance before enabling profiler
Creating decoder in blocking mode
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 279
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 279
Setting frame input mode to 1
Input file read complete
Starting decoder capture loop thread
Got EoS at output plane
[ERROR] (NvV4l2Element.cpp:114) <dec0> Error while DQing event: Invalid argument
Error in dequeueing decoder event
Exiting decoder capture loop thread
App run failed
Hi,
The stream looks invalid. We cannot decode it through software decoder:
nvidia@tegra-ubuntu:~$ gst-launch-1.0 filesrc location= test001.265 ! h265parse ! avdec_h265 ! filesink location=a.yuv
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstH265Parse:h265parse0: No valid frames found before end of stream
Additional debug info:
gstbaseparse.c(3625): gst_base_parse_loop (): /GstPipeline:pipeline0/GstH265Parse:h265parse0
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
This issue has been fixed, our video decoding code was still using nvbuf_utils primitives, while everything else in the codebase had moved to nvbufsurface.