NvEncLockBitstream returns error 8 on arm64

Hi, your samples in Video Codec SDK, especially ‘AppEncLowLatency’ works perfectly on x86_64 ubuntu.
But it does not work on arm64 with same code.

I am using Quadra P2200 GPU and Video Codec SDK 10.

terminate called after throwing an instance of ‘NVENCException’
what(): GetEncodedPacket : m_nvenc.nvEncLockBitstream(m_hEncoder, &lockBitstreamData) returned error 8 at /home/ubuntu/NvidiaVideoCodecSdk/Samples/NvCodec/NvEncoder/NvEncoder.cpp:495

Line of 495 in NvEncoder.cpp:

NVENC_API_CALL(m_nvenc.nvEncLockBitstream(m_hEncoder, &lockBitstreamData));

The SDK had stopped at the line for a while, and throws the message, and die with SIGABRT.

Video Codec SDK’s error handlers are very unkind for developers.
It only provides what has happened, and an extremely little info why it has happened.

Please reply on this if you need further information.

Sorry for slow response. Do you still face this issue? Can you describe more about the platform used? We will try to match and try to reproduce issue internally. Please generate nvidia-bug-report and attach here. You can generate bug report by running nvidia-bug-report.sh (installed in your system at driver installation) as a privileged user.


Thank you for response.

Result of uname -a:

Linux vraptor-RAPTOR-EV-883832-X3-0001 5.4.0-52-generic #57-Ubuntu SMP Thu Oct 15 11:33:25 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux

The file name that was used for installing NVIDIA driver is NVIDIA-Linux-aarch64-450.80.02.run

I ran following command:

./AppEncLowLatency -i /mnt/HeavyHand_1080p.yuv -o /mnt/HeavyHand_1080p.h264 -s 1920x1080

And the process stuck for a while and prints the result:

GPU in use: Quadro P2200
low latency encode with bit rate change
[INFO ][22:58:56] Encoding Parameters:
	codec        : h264
	preset       : p3
	tuningInfo   : ultralowlatency
	profile      : (default)
	chroma       : yuv420
	bitdepth     : 8
	rc           : cbr
	fps          : 30/1
	gop          : INF
	bf           : 0
	multipass    : 2
	size         : 1920x1080
	bitrate      : 1100000
	maxbitrate   : 1100000
	vbvbufsize   : 183330
	vbvinit      : 183330
	aq           : disabled
	temporalaq   : disabled
	lookahead    : disabled
	cq           : 0
	qmin         : P,B,I=0,0,0
	qmax         : P,B,I=0,0,0
	initqp       : P,B,I=0,0,0
GetEncodedPacket : m_nvenc.nvEncLockBitstream(m_hEncoder, &lockBitstreamData) returned error 8 at /mnt/Video_Codec_SDK_10.0.26/Samples/NvCodec/NvEncoder/NvEncoder.cpp:493

And here is the report file:
nvidia-bug-report.log.gz (1.3 MB)

Please reply on this if you need further information.

Due to GPU architecture compute_30 is unsupported on Quadro P2200, I modified CMakeLists.txt in AppEncLowLatency.

I changed arch and code; compute_30 to compute_61, sm_30 to sm_61.

Thank you for providing details. I filed issue internally tracked as 200675428, waiting for internal reproduction.

1 Like

Are there kind of ways to see the progress with the issue tracker id?