The jetson decode result is different with HM decoder

I find the decode result is different with HM decoder with the attached input file src1.265,
src1.265 (2.5 MB)

The decode command is :
./video_decode H265 --disable-rendering -f 2 -o /mnt/nfs/jetson/nvout.yuv /mnt/nfs/jetson/src1.265

The figure below shows the pixel Y of the yuv file after decoding,the left is the result from HM decoder, and the right is the result of Xavier NX, and they are different.

Is that some wrong with my decoder parameters?
Thanks for your reply.

Can you try ffmpeg? Or avdec_h265 plugin in gstreamer? Wou like to make sure it is not specific to HM decoder.

The ffmpeg’s result is the same with HM decoder.
I find the the luma ranges from 16 to 235 in the jetson’s output yuv, but it is 0 to 255 in the HM decoder’s output yuv,
it may be caused by colorspace/colorFormat, but I don’t know how to correct it in the jetson decoder?

Please replace

    else if (ctx->out_pixfmt == 2)
      input_params.colorFormat = NvBufferColorFormat_YUV420;


    else if (ctx->out_pixfmt == 2)
      input_params.colorFormat = NvBufferColorFormat_YUV420_ER;

to rebuild 00_video_decode. With the modification the dumped YUVs should be in [0,255].

Hi DaneLLL

Thanks, I change it as your advice, the luma range is in [0,255] now, but it is also different with HM decoder

The deviation looks neglectable. The result of hardware conversion may not be exactly identical to software conversion. If you open the dumped YUVs in YUV viewer, can you see and notice the deviation?

Hi DaneLLL

Thanks, it seems we have to accept these deviation.

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