Jetson h264 decoder loses last few frames

Hi,

with attached samples gstreamer and jetson_multimedi_api/16_multivideo_transcode loses last few frames. I tested using ffmpeg.

hd2.h264 sample contains 1830 frames, after 16_multivideo_transcode/multivideo_transcode only 1806 frames present, also ffmpeg transcode sampe to 1830 frames

sd.h264 contains 5411 frames, after multivideo_transcode 5405

sd2.h264 contains 8005 frames, after multivideo_transcode 7958

sd.h264 - sd.h264 - Google Drive
hd2.h264 - hd2.h264 - Google Drive
sd2.h264 - sd2.h264 - Google Drive

jetson xavier nx, jetson tx2 l4t2 nvidia sdk 32.6.1

# dpkg -l | grep l4t
ii  nvidia-l4t-3d-core                     32.6.1-20210916210945                      arm64        NVIDIA GL EGL Package
ii  nvidia-l4t-apt-source                  32.6.1-20210726122859                      arm64        NVIDIA L4T apt source list debian package
ii  nvidia-l4t-bootloader                  32.6.1-20210726122859                      arm64        NVIDIA Bootloader Package
ii  nvidia-l4t-camera                      32.6.1-20210916210945                      arm64        NVIDIA Camera Package
ii  nvidia-l4t-configs                     32.6.1-20210726122859                      arm64        NVIDIA configs debian package
ii  nvidia-l4t-core                        32.6.1-20210726122859                      arm64        NVIDIA Core Package
ii  nvidia-l4t-cuda                        32.6.1-20210916210945                      arm64        NVIDIA CUDA Package
ii  nvidia-l4t-firmware                    32.6.1-20210916210945                      arm64        NVIDIA Firmware Package
ii  nvidia-l4t-graphics-demos              32.6.1-20210916210945                      arm64        NVIDIA graphics demo applications
ii  nvidia-l4t-gstreamer                   32.6.1-20210916210945                      arm64        NVIDIA GST Application files
ii  nvidia-l4t-init                        32.6.1-20210916210945                      arm64        NVIDIA Init debian package
ii  nvidia-l4t-initrd                      32.6.1-20210726122859                      arm64        NVIDIA initrd debian package
ii  nvidia-l4t-jetson-io                   32.6.1-20210726122859                      arm64        NVIDIA Jetson.IO debian package
ii  nvidia-l4t-jetson-multimedia-api       32.6.1-20210916210945                      arm64        NVIDIA Jetson Multimedia API is a collection of lower-level APIs that support flexible application development.
ii  nvidia-l4t-kernel                      4.9.253-tegra-32.6.1-20210726122859        arm64        NVIDIA Kernel Package
ii  nvidia-l4t-kernel-dtbs                 4.9.253-tegra-32.6.1-20210726122859        arm64        NVIDIA Kernel DTB Package
ii  nvidia-l4t-kernel-headers              4.9.253-tegra-32.6.1-20210726122859        arm64        NVIDIA Linux Tegra Kernel Headers Package
ii  nvidia-l4t-libvulkan                   32.6.1-20210916210945                      arm64        NVIDIA Vulkan Loader Package
ii  nvidia-l4t-multimedia                  32.6.1-20210916210945                      arm64        NVIDIA Multimedia Package
ii  nvidia-l4t-multimedia-utils            32.6.1-20210916210945                      arm64        NVIDIA Multimedia Package
ii  nvidia-l4t-oem-config                  32.6.1-20210726122859                      arm64        NVIDIA OEM-Config Package
ii  nvidia-l4t-tools                       32.6.1-20210726122859                      arm64        NVIDIA Public Test Tools Package
ii  nvidia-l4t-wayland                     32.6.1-20210916210945                      arm64        NVIDIA Wayland Package
ii  nvidia-l4t-weston                      32.6.1-20210916210945                      arm64        NVIDIA Weston Package
ii  nvidia-l4t-x11                         32.6.1-20210916210945                      arm64        NVIDIA X11 Package
ii  nvidia-l4t-xusb-firmware               32.6.1-20210726122859                      arm64        NVIDIA USB Firmware Package

Hi,
Thanks for sharing the streams. We will check and update.

Hi,
We have teams check this and have the finding:
The first few frames in the streams have initial frames which are non-IDR and so they are decoded but not displayed. display will start from the point when 1st IDR frame occurs in the stream

Please try the streams starting from IDR frame.

Hi,

The sd.h264 sample does not contain IDR frames. This clip has an open gop structure of frames.

Here, you can start from any key frame (i frame + sei recovery point).

Also, ffmpeg is able to transcode all 5411 frames from sd.h264.

It is unclear for us why 16_multivideo_transcode doesn’t work similarly. Please advise.

Thanks,

Hi,
Please replace with attached prebuilt lib and try again:
r32_6_1_TEST_libnvparser.zip (96.5 KB)

It allows decoding from non-IDR frames. Please give it a try.

Hello,

this prebuilt lib works for me.

Thanks,

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.