NvDdkVicConfigure Failed


I am in the process of upgrading code for 28.1 to 32.1. There is a bit of change (not very significant though) in the API and the sample code of Tegra Multimedia API. Did all those changes. I am trying to decode H264 stream from an IP camera which was previously working fine. But with the changes I see the following errors in 32.1.

Creating decoder in blocking mode
NvMMLiteOpen : Block : BlockType = 261
NVMEDIA: Reading sys.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 261
Setting frame input mode to 1
Starting decoder capture loop thread
Query and set capture successful
libv4l2_nvvidconv (0):(802) (INFO) : Allocating (14) OUTPUT PLANE BUFFERS Layout=1
libv4l2_nvvidconv (0):(818) (INFO) : Allocating (14) CAPTURE PLANE BUFFERS Layout=0
libv4l2_nvvidconv (0):(1688) (ERROR) : NvDdkVicConfigure Failed
libv4l2_nvvidconv (0):(1710) (ERROR) : NVVIDCONV ERROR 2

Any clues why?
Thanks in advance.

By the way, the sample program works fine though.

On r32.1 please try to use NvBufferTransform(). It is same hardware engine as NvVideoConverter. Sample code is also in 00_video_decode

Thanks DaneLLL. yes, NvBufferTransform API worked.

However, I still don’t understand why the converter did not work. I tried the same code with the provided “sample_outdoor_car_1080p_10fps.h264” sample stream and it worked. But whenever I tried it with a live IP stream it always gives me NvDdkVicConfigure Failed. Tried several ways, no luck. Decoder alone was running fine. The issue showed up whenever I fed the decoded stream into the converter.

Since we are considering deprecating NvVideoConverter, we highly recommend you use NvBuffer APIs.

1 Like