Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
3030 Discussions

MFXVideoENCODE_Query with mfxExtCodingOptions on Hardware Implementation



I would like to query encoder capabilities for mfxExtCodingOption, mfxExtCodingOption2 and mfxExtCodingOption3. I use query mode 1 by attaching mfxExtCodingOption(2,3) structures to out parameter and use NULL for input parameter. When I made query in sofware implementation, everything works as expected. I get MFX_ERR_NONE result for mfxExtCodingOption and mfxExtCodingOption2 and I get "1" for supported and "0" for not supported options on mfxExtCodingOption structures. However, when I run same code with hardware implementation, although I get MFX_ERR_NONE result for mfxExtCodingOption, mfxExtCodingOption2 and mfxExtCodingOption3, all options on mfxExtCodingOption structures are "0". 

I set only codec option on out parameter(params.mfx.CodecId = MFX_CODEC_AVC).

Is it a bug? or should I need to do some extra steps to query on hardware implementation?

SDK Ver: Intel Media SDK 2016 R2


  •  Intel(R) HD Graphics 4600    Win 7
  •  Intel(R) HD Graphics 530    Win 8.1


0 Kudos
2 Replies

Hi Salih,

Did you also try MFXVideoENCODE_Init()?

MFXVideoENCODE_Query() is not very solid in this case, you could get its succeed but MFXVideoENCODE_Init() would still be failed. So you can try to call MFXVideoENCODE_Init() and then call MFXVideoENCODE_GetVideoParam() to see the really parameters being used.

Noted also, if you used MFX_CHECK_RESULT() macro to check the results, it will ignore the status MFX_WRN_INCOMPATIBLE_VIDEO_PARAM which means the input parameters was modified.


0 Kudos

Hello Mark,

Thank you for your kind concern and reply. 

I would like to create user interface for coding option selection depend on the encoder capabilities, therefore I can not call MFXVideoENCODE_Init at that stage (as far as I know, I need fully initialized mfxVideoParam to call the MFXVideoENCODE_Init). I just want to query which options I can use and put on user interface from mfxExtCodingOption(2,3). For example may I put an option for manipulating "mfxExtCodingOption2::FixedFrameRate" option on that system with a specific codec or not.

0 Kudos