Hi all,
(1), issue
Our video encoder use DM816x and DVRRDK.
I set one of the encoder channel to work on vbr mode and one of the encoder channel to work on cbr mode. and my setup parameter see as "(2) my setup parameter"
but it seem that the two channel have the same bitrate.
when hold still, and the two channel's the bitrate is about 2Mbps
when move, and the two channel's bitrate up to about 3.5Mbps
when move and do not stop, but after a while , the two channel's bitrate down to 2Mbps
(2), my setup parameter
EncLink_ChCreateParams:
rateControlPreset = IVIDEO_USER_DEFINED;
maxBitRate = (4 * 1000 * 1000);
targetBitRate = (2 * 1000 * 1000);
EncLink_ChRcAlgParams: rcAlgo = 0; //for CBR and rcAlgo = 1; //for VBR
EncLink_ChCVBRDurationParams: vbrDuration = 8;
EncLink_ChCVBRSensitivityParams: vbrSensitivity = 0;
(3), Platform
DVRRDK: DVRRDK_02.00.00.23
SOC: DM8168/DM8165
OS: Linux
(4), my question
Why the bitrate of the two video channels are the same, or my setup parameter is not right?
How can I know which mode does the encoded work on, vbr or cbr?
Can someone help me?
thanks,
With best regards,
Focus
Hi Focus,
Please dont use maxBitrate, as in the current use case scenario, it is not going to help. You can set maxBitRate is '-1'.
Ideally in CBR case scenario, bit rate should not shoot up more than 2 Mbps ( targetBitRate). In VBR bit rate can shoot up for short period, but overall bit rate will be still 2Mbps. So CBR is kind of restrict rate control algorithm compared to VBR.
As per your description it seems that there is some problem in CBR.
Please try (or make sure)following setting in CBR.
HRD buffer size = 2*T
initialBufferLevel = 2*T
skipDistributionWindowLength = 0
numSkipInDistributionWindow =0
Regards
Deepak Poddar