Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
25 Views

VP8 encoder problem

Hi,

I'm trying to encode VP8 stream using MSS 2015R5 on CentOS 7.1
The problem that I constantly get status = 5 (MFX_WRN_INCOMPATIBLE_VIDEO_PARAM) from MFXVideoENCODE_Query() call

First I load the VP8 encoder plug-in:

sts = MFXVideoUSER_Load(session, &MFX_PLUGINID_VP8E_HW, 1);

Than fill the encoding params:

    memset(&enc_params, 0, sizeof(enc_params));
    enc_params.mfx.CodecId = MFX_CODEC_VP8;
    enc_params.mfx.RateControlMethod = MFX_RATECONTROL_VBR;
    enc_params.mfx.TargetUsage = MFX_TARGETUSAGE_BALANCED;
    enc_params.mfx.TargetKbps = 1000;
    enc_params.mfx.FrameInfo.FrameRateExtN = 30;
    enc_params.mfx.FrameInfo.FrameRateExtD = 1;
    enc_params.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12;
    enc_params.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420;
    enc_params.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE;
    enc_params.mfx.FrameInfo.CropX = 0;
    enc_params.mfx.FrameInfo.CropY = 0;
    enc_params.mfx.FrameInfo.CropW = 640;
    enc_params.mfx.FrameInfo.CropH = 480;
    enc_params.mfx.FrameInfo.Width = MSDK_ALIGN16(enc_params.mfx.FrameInfo.CropW);
    enc_params.mfx.FrameInfo.Height = MSDK_ALIGN16(enc_params.mfx.FrameInfo.CropH);
    enc_params.mfx.IdrInterval = 0; //every I-frame is IDR frame
    enc_params.IOPattern = MFX_IOPATTERN_IN_VIDEO_MEMORY;
    enc_params.AsyncDepth = 1;

Can you tell me what I'm doing wrong?

Thanks
Oleg

 

0 Kudos
1 Reply
Highlighted
25 Views

Hi Oleg,

The parameters you set look alright, I also tried some of your parameters in our sample_encode, and they worked fine too. Can you please first try our sample_encode with "-p bffc518cde134df98a96f4cf816c0fac" specified in the command to make sure there is no problem loading VP8 plugins? If there is no problem using our sample_encode with VP8 plugins, could you send us your reproducer code to see if there is any problem loading VP8 plugins in your implementation? Thanks!

0 Kudos