Media (Intel® 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
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.
3058 Discussions

MFXVideoENCODE_Query with mfxExtCodingOptions on Hardware Implementation

salih_c_
Beginner
643 Views

Hello,

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

Tested:

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

 

0 Kudos
2 Replies
Mark_L_Intel1
Moderator
643 Views

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.

Mark

0 Kudos
salih_c_
Beginner
643 Views

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
Reply