Community
cancel
Showing results for 
Search instead for 
Did you mean: 
koby_s_
Beginner
63 Views

MFX_RATECONTROL_QVBR and sample_encode

Hi
I am trying to use MFX_RATECONTROL_QVBR and I am getting the same problem described here : https://software.intel.com/en-us/forums/intel-media-sdk/topic/594161 .
The difference is that I am using  the H264 encoder on windows.

In pipeline_encode::InitMfxEncParams (line ~370, just after setting the TargetKbps) I added

m_mfxEncParams.mfx.MaxKbps                 = pInParams->nBitRate * 2;
m_mfxEncParams.mfx.BufferSizeInKB         = (m_mfxEncParams.mfx.MaxKbps / 8);
m_mfxEncParams.mfx.RateControlMethod     = MFX_RATECONTROL_QVBR;

MSDK_ZERO_MEMORY(m_CodingOption3);
m_CodingOption3.Header.BufferId         = MFX_EXTBUFF_CODING_OPTION3;
m_CodingOption3.Header.BufferSz         = sizeof(m_CodingOption3);
m_CodingOption3.QVBRQuality             = 30;
m_EncExtParams.push_back((mfxExtBuffer *)&m_CodingOption3);

I tried to use software and hardware implementations. In both cases I got MFX_ERR_INCOMPATIBLE_VIDEO_PARAM from m_pmfxENC->Init(&m_mfxEncParams;
Attached are tracer logs and system analyzer output.

I can confirm that the original 'sample_encode' is working without any problem (both sw and hw).

Also, I couldn't find in the release notes if QVBR rc is supported on windows and if so, which encoders supporting this rate control (HEVC?  MPEG2?)

Can you please refer me to the correct file/link ?

BTW - 

I am using Media Server Studio 2016

Thnak you

Koby

0 Kudos
5 Replies
Surbhi_M_Intel
Employee
63 Views

Hi Koby, 

Uri has asked same question through IPS, case number 6000159669. I am copying my reply here to the original question -" QVBR is supported for windows and H264 codec. It is not supported for other codecs. Can you please confirm if your are seeing issue with H264 encoding using QVBR rate control?" 
Can we discuss this issue at one place to avoid multiple parallel discussion on same topic. 

Thanks,
Surbhi

koby_s_
Beginner
63 Views

Hi Surbhi

Thank you for the answer.
Yes, it's the H264 encoder with QVBR rate control (both software and hardware).

Thank you
koby

Surbhi_M_Intel
Employee
63 Views

Koby, 

I am able to reproduce the issue on 3rd generation core processor, however same application works on 4th generation core processor. My initial analysis is that it could be broken on 3rd generation driver, will check with the driver and developer team to work on the root cause.

Thanks,
Surbhi 

koby_s_
Beginner
63 Views

Hi Surbhi

Thank you for the response.

Did you also try the software implementation or just the hardware? As I mentioned before it happens on both modes.

Thank you

Koby

Surbhi_M_Intel
Employee
63 Views

Hi Koby, 

I tested using hardware implementation, also received confirmation form development team that QVBR is not supported on 3rd generation. This rate control successfully works on 4th generation. QVBR is not supported through sw implementation, from Media Server Studio release notes - 

  • The following APIs are not supported by the software implementation of the SDK library:
    • mfxExtEncoderCapability, mfxExtEncoderResetOption, mfxExtAVCEncodedFrameInfo
    • MFX_RATECONTROL_LA, MFX_RATECONTROL_ICQ, MFX_RATECONTROL_LA_ICQ, MFX_RATECONTROL_VCM, MFX_RATECONTROL_QVBR, MFX_RATECONTROL_LA_HRD  and any options related to these BRC modes

Thanks,
Surbhi

Reply