Q&A: i.MX6 VPU Bitrate

Document created by Yixing Kong Employee on Sep 8, 2013
Version 1Show Document
  • View in full screen mode


How much control of the bitrate does the i.MX6's VPU provide?


VPU API includes a bitrate setting in the EcnOpenParam, is this a maximum, minimum, or something else?


To encode two 1280x1080 streams at 30fps with a bit rate of at least 20Mbps, from the information in the following thread, it looks like this isn't supported due to VPU bandwitdh,

Is there any limit on bitrate due to the VPU's processing bandwidth?  I.e., if the stream is limited to one 1280x1080 channel, can we choose a maximum bit rate and if so, how do we determine what it is?



The bitRate field in the EncOpenParam structure is the desired target bit rate in kbps. If 0, there is no rate control and frames are encoded based on the quantization parameter specified by the quantParam field in EncParam.structure. It seems upper limit is 20Mbps for 1280x1080@30fps. So you should specified bitrate=2000 in your use case.


In general, the maximum bitrate is about 30Mbps. Vpu driver will return invalid parameter if the appointed bitrate reach out of the range (0, 32767kbps).


Please refer to Q&A: MX6 VPU H.264 Dual Stream Encode Limits.