The nvjpegenc got segment fault when the nvarguscamerasrc’s layout was NvBufferLayout_Pitch

The nvjpegenc was work well when nvarguscamerasrc’s layout was NvBufferLayout_BlockLinear,and it get Segment Fault after nvarguscamerasrc’s layout was change to NvBufferLayout_Pitch.
The test commands are as follows:

gst-launch-1.0 nvarguscamerasrc num-buffers=1 ! ‘video/x-raw(memory:NVMM), width=(int)4000, height=(int)3000, format=(string)NV12’ ! nvjpegenc quality=100 idct-method=2 ! filesink location=test.jpg -e

Hi,
We will try to reproduce the issue. For information, do yo use r32.5 or r32.6?

Hello,DaneLL
r32.6.1

Hi,
Please modify nvarguscamerasrc to send I420 pitch linear buffer to nvjpegenc plugin. There is conversion from NV12 block linear/I420 block linear to I420 pitch linear in low-level software stack. NV12 pitch linear is not well handled. The I420 pitch linear buffer can be encoded directly.

Hello,DaneLL
Can you point to specific code locations that need to be changed,I didn’t find anything related to “I420 pitch” in the file gstnvarguscamerasrc.cpp.

Hi,
Please modify NV12 to I420, and change NvBuffer format to NvBufferColorFormat_YUV420. After rebuilding/replacing the prebuilt lib, you should see I420 is shown in gst-inspect-1.0.

The implementation is based on jetson_multimedia_api. You may refer to the samples in

/usr/src/jetson_multimedia_api

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