Crash decoding video with nvmpi

We’re using nvmpi decoder with ffmpeg 4.4. It’s pretty much a fork of jocover repo, with some changes to assist with patch editing and generation.

It works consistently with the attached working.mkv. It also consistently crashes with the attached broken.mkv. I don’t see any difference in the two videos, with the exception of optional VUI flags in the SPS.

I’d appreciate some guidance on what can be done to fix this.

Thread 6 "NVMDecBufProcT" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fa95ae1d0 (LWP 2447)]
0x0000007fb2c76ac4 in NvxUpdateNvMMBufferToNvMediaVideoSurface () from /usr/lib/aarch64-linux-gnu/libnvmedia.so
(gdb) bt
#0  0x0000007fb2c76ac4 in NvxUpdateNvMMBufferToNvMediaVideoSurface () at /usr/lib/aarch64-linux-gnu/libnvmedia.so
#1  0x0000007fb2da6eac in  () at /usr/lib/aarch64-linux-gnu/libnvmmlite_video.so
#2  0x0000007fb2c95868 in  () at /usr/lib/aarch64-linux-gnu/libnvmedia.so
#3  0x0000007fb2c15090 in  () at /usr/lib/aarch64-linux-gnu/libnvparser.so
#4  0x0000007fb2c184bc in  () at /usr/lib/aarch64-linux-gnu/libnvparser.so
#5  0x0000007fb2c120e0 in  () at /usr/lib/aarch64-linux-gnu/libnvparser.so
#6  0x0000007fb2c12f8c in  () at /usr/lib/aarch64-linux-gnu/libnvparser.so
#7  0x0000007fb2c9637c in NvMediaParserParse () at /usr/lib/aarch64-linux-gnu/libnvmedia.so
#8  0x0000007fb2da29ac in  () at /usr/lib/aarch64-linux-gnu/libnvmmlite_video.so
#9  0x0000007fb69efc20 in  () at /usr/lib/aarch64-linux-gnu/libnvos.so
#10 0x0000007fb6fee088 in start_thread (arg=0x7fffffd93f) at pthread_create.c:463
#11 0x0000007fb6f5e0cc in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78

working.mkv (2.6 MB)
broken.mkv (1.0 MB)

1 Like

Hi,
Please share which Jetpack release you are using. We can set up to reproduce the issue and check further.

4.6.1 is our main target.

Hi,
The latest Jetpack 4 release is 4.6.3. Could you upgrade to the release and try?

Has something changed since 4.6.1?

Hi,
The ffmpeg package should be identical for Jetpack 4.6.x. But the low-level prebuilt libs are updated in later release(s) for bug fixes.

On Jetpack 4.6.1, are you able to extract the h264 stream from broken.mkv and try to decode the stream by running 00_video_decode? The sample is installed in

/usr/src/jetson_multimedia_api/samples/00_video_decode

You can extract the stream by running the command:

$ gst-launch-1.0 filesrc location=broken.mkv ! matroskademux ! h264parse ! video/x-h264,stream-format=byte-stream ! filesink location=broken.h264

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