I'm checking several parameters in VPU API of i.MX6.
I've tried to check userQPMax/userQpMin parameter which is included in EncOpenParam.
userQpMin is not valid in Linux VPU driver. (userQpMax valid)
Does anyone know the reason?
Where can I get the latest Linux VPU driver and firmware?
(I think VPU API Reference Manual should be updated,if some parameters/functions are not supported now.)
[Current My Environment]
- Target : i.MX6Q (SABRE-SDP)
- OS : Linux 3.14.28
- Encoding : H.264 (1920x1080)
- VPU firmware : Ver 3.1.1_r46063
- VPU library : Ver 5.4.28
- Ref. i.MX 6Dual/6Quad VPU Application Programming Interface Linux Reference Manual
(Rev L3.0.35_4.1.0, 09/2013)
Hi everybody,
this is the only where I found someone speaking about those parameters userQPMax and userQpMin.
I have to make an application which should limit the bitrate, but not set it as constant to save bandwith and disk space. As I understand, configuring the h264 encoder with some constant bitrate and adjusting userQpMin should make the encoder works like in VBR (because of the QP min) but limiting the bitrate to a given maximum.
How can I know if the parameter userQpMin will taken in account one day ?
Is there anybody which try those parameters on an iMX7 ? Should I be sure they are taken in account and that they work correctly ?
Thanks
Jean-François
Hi Yuri,
We believe that useQPMin parameter is not supported neither in your latest LinuxBSP.
Is it true?
Thanks,
Miyamoto
Hello,
You may try the recent Linux BSP L4.1.15_1.1.0-ga.
i.MX 6 Series Software and Development Tool|NXP
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yuri,
Thank you for the information. I will try to check with the latest Linux BSP.
Is there any update about this matter by recent Linux BSP ?
Thanks.
Masahiro Ichkawa
I've tried with the recent Linux BSP L4.1.15_1.1.0-ga. But nothing has been changed.
VPU firmware version: 3.1.1_r46072
VPU library version: 5.4.33
I also check source code. (vpu_lib.c)
-------------------------------------------------------------------------------------
if (cpu_is_mx6x()) {
if (pEncOP->userQpMaxEnable) {
data |= (1 << 6);
VpuWriteReg(CMD_ENC_SEQ_RC_QP_MIN_MAX, pEncInfo->openParam.userQpMax);
}
if (pEncOP->userGamma) {
data |= (1 << 7);
VpuWriteReg(CMD_ENC_SEQ_RC_GAMMA, pEncOP->userGamma);
}
} else {
if (pEncOP->userQpMinEnable) {
data |= (1 << 6);
VpuWriteReg(CMD_ENC_SEQ_RC_QP_MIN_MAX,
(pEncOP->userQpMin << 8) | (pEncOP->userQpMax & 0xFF));
}
if (pEncOP->userQpMaxEnable) {
data |= (1 << 7);
VpuWriteReg(CMD_ENC_SEQ_RC_QP_MIN_MAX,
(pEncOP->userQpMin << 8) | (pEncOP->userQpMax & 0xFF));
}
if (pEncOP->userGamma) {
data |= (1 << 8);
VpuWriteReg(CMD_ENC_SEQ_RC_GAMMA, pEncOP->userGamma);
}
}
-------------------------------------------------------------------------------------
It seems taht the useQPMin parameter is not supported with i.MX6 from above cord.
If there is a reason which isn't supported, I'd like to know that.
Masahiro