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.