This question is regarding the use of the h.264 encoder in the DVSDK 3.10.00.19 on the DM6467 platform:
I'm trying to implement runtime control of bit rate on this platform however I'm not getting the results I am expecting. The encoding is of a D1 stream (720x480) @ 29.97fps (captured NTSC).
I'm trying to achieve 2 rate controls, CVBR (constrained variable) & CBR (constant). My experimentation consists of modifying the following variables in the XDM video encoder structures:
IVIDENC1_Params.maxBitRate
IVIDENC1_Params.rateControlPreset
IVIDENC1_DynamicParams.targetBitRate
The issue I'm seeing is
1. there is no noticeable difference in the encoding between VBR (IVIDEO_STORAGE, 2) and CBR (IVIDEO_LOW_DELAY, 1) on rateControlPreset when I analyze the bit rate.
2. the maxBitRate doesn't seem to have any effect on the encoded video. Note: I am only expecting this to have an affect when VBR is used.
targetBitRate on the other hand clearly has an affect when I examine the encoding. That appears to work great. Since I know this works, I hold this variable constant during the test. I'm running with the target at 1333000 (1.3Mbps) and I adjust the max anywhere between 3 and 6 Mbps. I have tried other combinations too and no good. It's almost as if the encoder always runs in CBR mode all the time even if I specify VBR and that it doesn't use the max bit rate argument at all. I do know the rateControlPreset is being used because if I switch it to IVIDEO_NONE the bitrate goes up drastically (to like 24Mbps). The User Guide doesn't say that VBR & maxbitarte are unimplemented (some arguments do say this but not these).
The way I'm analyzing the video is using a free Windows tool called Bitrate Viewer (google "bit rate viewer" and it'll be the first hit). The analysis is a bit qualitative because I'm just looking at a graph but it does let you see the rate down to the frame level. Plus I know this encoder can produce higher bit rates but it does not during panning scenes or even if I encode a video of white noise (which should be more "complex").
I can provide any supporting encodings, the remaining encoding paramaters,etc, if needed.
Any help with this would be much appreciated!!
Regards,
Dave