H265 Encoding I-frames only set QP-values ignored

Hi,
I have tried to use the 01_video_encode sample application on the Jetson Xavier NX with the --alliframes option. I set the QP-range between 1 and 2 but the encoder used different values. Also I tried different QP-values but the encoder keeps using it’s own choice of QP-values and no matter what QP-values I used in the execute-command the encoder always used the QP-values it chose for itself for every frame.

For example I used:
./video_encode ~/EncodeHSIImages/project/HSI_test_images/2022_44x64yuv420_10bituint16_msb_aligned.yuv 512 512 H265 /home/jetson/EncodingResults/Intra_only/2022_10bituint16nv_Intra_1_2.h265 -p main10 --insert-vui -MinQpI 1 -MaxQpI 2 -MinQpP 1 -MaxQpP 2 -MinQpB 1 -MaxQpB 2 -hpt 4 -bd 10 --alliframes

I expected the encoder to choose QP-values of 1 or 2. But I got the following:

POC    0 TId: 0 ( I-SLICE, QP 11 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  1 ) [DT  0.024] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  9 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  7 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 10 ) [DT  0.021] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  9 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 10 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 10 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 10 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 11 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 11 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 11 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 11 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.020] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 14 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 14 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 14 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 14 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.021] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.021] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.021] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 14 ) [DT  0.020] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 15 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.020] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 15 ) [DT  0.021] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 15 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 15 ) [DT  0.021] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 13 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 15 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 17 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 16 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 15 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 15 ) [DT  0.020] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 15 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 15 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 14 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 12 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 10 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 10 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 10 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP 10 ) [DT  0.014] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  7 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  5 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  5 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  4 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  4 ) [DT  0.017] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  4 ) [DT  0.016] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  4 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  5 ) [DT  0.018] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  6 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  4 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  6 ) [DT  0.015] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  4 ) [DT  0.019] [L0 ] [L1 ] [:,(unk)]
POC    0 TId: 0 ( I-SLICE, QP  5 ) [DT  0.020] [L0 ] [L1 ] [:,(unk)]

Is there a way to prevent the encoder from automatically choosing the values for QP and force the encoder to use the ones I give in the execute-command?

Best regards.

For your info, I’m using this Jetson Linux API:
R32 (release), REVISION: 6.1, GCID: 27863751, BOARD: t186ref, EABI: aarch64, DATE: Mon Jul 26 19:36:31 UTC 2021

Hi,
Let’s continue in
H265 Encoding works only with I-frames

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