- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I need a help with MFXVideoENCODE_Query() from Intel Media SDK. I wrote code posted below and unfortunately it doesn't work. MFXVideoENCODE_Query() always returns error MFX_ERR_UNSUPPORTED. I played with parameters, but each time failed.
At the same time, I'm able to encode video with these parameters using HW HEVC encoder on my Skylake. So, only MFXVideoENCODE_Query() doesn't work correctly for me.
I tried do the same for AVC codec and also tried to call MFXVideoENCODE_Query() after MFXVideoUSER_Load(), but in both cases I constantly get the same error.
I'm running on Windows 7 64bit. Video driver version is 10.18.15.4279 / 24.08.2015.
Thanks in advance!
mfxVideoParam mfx_settings_in = { 0 }, mfx_settings_out = { 0 };
mfx_settings_in.mfx.CodecId = MFX_CODEC_HEVC;
mfx_settings_in.mfx.CodecProfile = MFX_PROFILE_HEVC_MAIN;
mfx_settings_in.mfx.CodecLevel = MFX_LEVEL_UNKNOWN;
mfx_settings_in.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12;
mfx_settings_in.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY;
mfx_settings_in.mfx.TargetUsage = MFX_TARGETUSAGE_BEST_SPEED;
mfx_settings_in.mfx.TargetKbps = 1000;
mfx_settings_in.mfx.RateControlMethod = MFX_RATECONTROL_VBR;
mfx_settings_in.mfx.FrameInfo.FrameRateExtN = 30;
mfx_settings_in.mfx.FrameInfo.FrameRateExtD = 1;
mfx_settings_in.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12;
mfx_settings_in.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420;
mfx_settings_in.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE;
mfx_settings_in.mfx.FrameInfo.CropX = 0;
mfx_settings_in.mfx.FrameInfo.CropY = 0;
mfx_settings_in.mfx.FrameInfo.CropW = 1280;
mfx_settings_in.mfx.FrameInfo.CropH = 720;
mfx_settings_in.mfx.FrameInfo.Width = ALIGN32(1280);
mfx_settings_in.mfx.FrameInfo.Height = ALIGN32(720);
mfxStatus status;
mfxVersion version = { 0, 1 };
mfxSession session;
status = MFXInit(MFX_IMPL_HARDWARE, &version, &session);
status = MFXVideoENCODE_Query(session, &mfx_settings_in, &mfx_settings_out);
Regards,
Timur
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Timur,
I will look into this. Can you please share the platform details by running the system analyzer coming with the media product?
You will find the tool here: “C:\Program Files\Intel\Intel(R) Media Server Studio 2015 R7\Software Development Kit\tools\mediasdk_sys_analyzer\mediasdk_system_analyzer_64.exe”
Best,
Bjoern
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Bjoern,
First of all thanks for your quick response!
I already solved this issue myself. In the beginning I just read the manual for MFXVideoENCODE_Query fluently and I didn't pay attention that CodecId must be filled for output parameter, not for input as I did. After I fixed this small thing and also added call to MFXVideoUSER_Load before MFXVideoENCODE_Query, it began work normally.
Now my code looks like this:
mfxVideoParam mfx_settings_in, mfx_settings_out = { 0 }; mfx_settings_out.mfx.CodecId = MFX_CODEC_HEVC; mfx_settings_out.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12; mfx_settings_in = mfx_settings_out; mfxVersion version = { 0, 1 }; if (MFXInit(MFX_IMPL_AUTO, &version, &session) >= MFX_ERR_NONE) { if (MFXVideoUSER_Load(session, &uid, version.Major) >= MFX_ERR_NONE) { MFXVideoENCODE_Query(session, &mfx_settings_in, &mfx_settings_out); MFXVideoUSER_UnLoad(session, &uid); } MFXClose(session); }
So, I'm happy!
However, I would say that behavior of MFXVideoENCODE_Query is unexpected for me. I would expect that I need to fill input structure including mandatory CodecId and leave output structure uninitialized, because I don't care about output and expect that MFXVideoENCODE_Query will verify / validate input and copy results to output structure. It make sense to fix that in future releases, I think.
Best regards,
Timur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Timur,
Great that the code works now. I will take care of your feature request.
Best,
Bjoern Bruecher
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page