Is userQpMin supported in i.MX6 VPU API ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Is userQpMin supported in i.MX6 VPU API ?

1,844 Views
masa-i
Contributor I

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)

Labels (1)
0 Kudos
Reply
5 Replies

1,247 Views
jfp
Contributor II

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

0 Kudos
Reply

1,247 Views
Aemj
Contributor IV

Hi Yuri,

We believe that useQPMin parameter is not supported neither in your latest LinuxBSP.

Is it true?

Thanks,

Miyamoto

0 Kudos
Reply

1,247 Views
Yuri
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

1,247 Views
masa-i
Contributor I

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

0 Kudos
Reply

1,247 Views
masa-i
Contributor I

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

0 Kudos
Reply