Lossless encoding

I have been trying to use the jetson_multimedia_api example 01_video_encode to achieve lossless compression for my pipeline. When I tried the example on my yuv file, without the --elossless option, it works fine and gives me a compressed h264 video as expected. However, with the flag enabled, it crashes with the following trace.

sudo ./video_encode sample.yuv 640 360 H264 sample.h264 --elossless --max-perf --stats

Creating Encoder in blocking mode 
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 4 
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4 
875967048
875711833
H264: Profile = 244, Level = 51 
NvVideoEncTransferOutputBufferToBlock: DoWork failed line# 667 
NvVideoEnc: NvVideoEncTransferOutputBufferToBlock TransferBufferToBlock failed Line=678

Also, for the command above it was suggested to use the -p high444 profile but that is not recognized. How do I tell the encoding command that the input is a YUV444 file?

I tried using the h265 output format with the --elossless flag (if I recall correctly on Jetpack 4.6.1 it is supported) and it ran without any error.

Hi,
Please refer to the topics:
Lossless H264/HEVC - #3 by DaneLLL
Can tx2nx decode YUV444? - #3 by DaneLLL

If you need encoding and decoding, please use h265.

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