NvMedia IEP InitQP not Working

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version

Target Operating System

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)

SDK Manager Version

Host Machine Version
native Ubuntu 18.04

Hi, we use the NvMedia IEP API to encode video in H265. I’m setting the initQP parameters to configure the initial Quantization values of the encoder.

I’m also adding the corresponding feature NVMEDIA_ENCODE_CONFIG_H265_INIT_QP to the features flags.
However, when I analyze the encoded stream, the initial QP values of the first frame are different from the values I’m setting. I’ve tested setting this with different rcControlModes but still can’t see the initial setting.

Everything other than the initQP parameter works perfectly (minQP, maxQP, and constQP)

How can I make it work so that the first frames are encoded using the initQP quantization values?

Dear @alejandro.solis,
Do you see the same QP values in encoded stream irrespective of what you have set in intQP struct? If so, could you share the values?

@SivaRamaKrishnaNV Yes, if I only change the InitialQP values I get the same QPs in the encoded stream. For example, the first frame macroblocks’ QP values are:

18 18 18 18 18 18 18 18 18 18 18
18 18 18 18 18 18 18 18 18 18 18
20 20 20 20 20 20 20 20 20 20 20
21 21 21 21 21 21 21 21 21 21 21
23 23 23 23 23 23 23 23 23 23 23
29 29 29 29 29 29 29 29 29 29 29
35 35 35 35 35 35 35 35 35 35 35
41 41 41 41 41 41 41 41 41 41 41

For this example I’m using variable bitrate mode, and testet with InitialQP values from 20 to 40.

Just as a side note: the QP values vary from the example values if I set a different RC mode (constant bitrate, constant QP, or other mode using MinQP), and also change if I use a different raw sequence as input, which is expected.

Hi, @alejandro.solis
Please refer to the cases in H.265 Encode Test Cases with NVMEDIA_ENCODE_PARAMS_RC_VBR RCMode. Thanks.

Hi @VickNV ,

My last message showed an example using VBR but it was just an example. I cannot make the InitialQP Parameters work for any RC Mode, not only VBR mode.

Then, I checked those links but I can’t see any use case with InitialQP. Does it mean that it was not tested and therefore is a not-maintained feature? I’m a bit lost with what I should do with the shared information.

Thanks for checking the parameters of the test cases. We will check with our team and get back to you on this.

Dear @alejandro.solis,
This is a bug and unfortunately there is no work around for it.