TX2 decode H264 GDR file failed

Which library can be decoded by Nvidia for H264 GDR format video? I try to use usr/src/jetson_multimedia_api/samples/00_video_decode to decode, but the screen is black,Looking forward to your reply!

Hi,
The issue looks specific to the h264 stream. Please share us the stream so that we can reproduce the error.

I try to increase in 00sample, plus --report-input-metadata.Now the video can run but the error shown in the picture below is reported. Does this error affect the stability of the system?lADPGpNycBpSo2TNBgDNCAA_2048_1536.jpg_620x10000q90g

I have more than 6M video stream files, can I send it to you by email?

Hi,
Could you zip it and attach in a comment?

01.zip (2.0 MB)

02.zip (2.0 MB)

03.zip (2.3 MB)

Hi,
Please upload a complete steam to the temporary ftp site:

Username: DATPICLTDV
Password: C]&.27p~
                  

Download URL: 
https://ftpservices.nvidia.com 

The login above will expire on 7/29/2020 12:00:00 AM

I have uploaded successfully, thank you for your support.

Hi,
The h264 stream looks invalid. It can not be decoded through ffmpeg:

nvidia@nvidia-desktop:~$ ffmpeg -i MainCam_2020-6-14_10-46-42.h264 a.yuv        ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
  configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] non-existing PPS 0 referenced
[h264 @ 0x55c20a6580] decode_slice_header error
[h264 @ 0x55c20a6580] no frame!
Input #0, h264, from 'MainCam_2020-6-14_10-46-42.h264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 29.75 fps, 29.97 tbr, 1200k tbn, 59.94 tbc
File 'a.yuv' already exists. Overwrite ? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kb[h264 @ 0x55c20d2220] error while decoding MB 40 38, bytestream -6
[h264 @ 0x55c20d2220] concealing 569 DC, 569 AC, 569 MV errors in P frame
Finishing stream 0:0 without any data written to it.
Output #0, rawvideo, to 'a.yuv':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 331444 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.107.100 rawvideo
frame=    0 fps=0.0 q=0.0 Lsize=       0kB time=00:00:00.00 bitrate=N/A speed=   0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)

The reference h264 stream can be decoded:

nvidia@nvidia-desktop:~$ ffmpeg -i /usr/src/jetson_multimedia_api/data/Video/sample_outdoor_car_1080p_10fps.h264 a.yuv
ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
  configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, h264, from '/usr/src/jetson_multimedia_api/data/Video/sample_outdoor_car_1080p_10fps.h264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 10 fps, 10 tbr, 1200k tbn, 20 tbc
File 'a.yuv' already exists. Overwrite ? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
Press [q] to stop, [?] for help
Output #0, rawvideo, to 'a.yuv':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 248832 kb/s, 10 fps, 10 tbn, 10 tbc
    Metadata:
      encoder         : Lavc57.107.100 rawvideo
Past duration 0.600014 too large
frame=   21 fps=0.0 q=-0.0 size=   63744kB time=00:00:02.10 bitrate=248662.3kbitframe=   57 fps= 57 q=-0.0 size=  173056kB time=00:00:05.70 bitrate=248714.9kbitframe=   93 fps= 61 q=-0.0 size=  282368kB time=00:00:09.30 bitrate=248726.7kbitframe=  130 fps= 64 q=-0.0 size=  394752kB time=00:00:13.00 bitrate=248754.5kbitframe=  165 fps= 66 q=-0.0 size=  500992kB time=00:00:16.50 bitrate=248734.9kbitframe=  203 fps= 67 q=-0.0 size=  616448kB time=00:00:20.30 bitrate=248765.6kbitframe=  244 fps= 69 q=-0.0 size=  741120kB time=00:00:24.40 bitrate=248821.9kbitframe=  284 fps= 70 q=-0.0 size=  862464kB time=00:00:28.40 bitrate=248778.3kbitframe=  325 fps= 72 q=-0.0 size=  987136kB time=00:00:32.50 bitrate=248819.0kbitframe=  360 fps= 65 q=-0.0 size= 1093376kB time=00:00:36.00 bitrate=248803.8kbitframe=  396 fps= 66 q=-0.0 size= 1202688kB time=00:00:39.60 bitrate=248798.5kbitframe=  432 fps= 66 q=-0.0 size= 1312000kB time=00:00:43.20 bitrate=248794.1kbitframe=  468 fps= 66 q=-0.0 size= 1421312kB time=00:00:46.80 bitrate=248790.3kbitframe=  501 fps= 66 q=-0.0 size= 1521664kB time=00:00:50.10 bitrate=248811.8kbitframe=  538 fps= 67 q=-0.0 size= 1634048kB time=00:00:53.80 bitrate=248812.7kbitframe=  571 fps= 67 q=-0.0 size= 1734400kB time=00:00:57.10 bitrate=248830.2kbitframe=  591 fps= 65 q=-0.0 Lsize= 1795162kB time=00:00:59.10 bitrate=248832.0kbits/s speed=6.54x
video:1795162kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

yes,FFmpeg can’t decode the GDR format of H264 stream, jetson xavier nx run /usr/src/jetson_multimedia_api/samples/00_video_decode plus --report-input-metadata can decode ,but have some error .

Hi,
The stream cannot be decoded through JM decoder also.

We think the stream is invalid. Please work out a stream which can be decoded by ffmpeg or JM decoder.