I can encode a H264 video successfully in my laptop with the following parameters:
Profile: High Profile
Size: 1920 * 1088
Rate control: VBR
But it will fail in the Intel pad, the root cause is that BufferSizeInKB is too small while it's larger in my laptop.
I don't understand why GetVideoParam method returned different BufferSizeInKB value with the same input?
Is it related to the hardware of the Intel pad?
The OS of my laptop is Win7 and OS of the pad is Win8, will this impact the result?
While we don't expect Win7/8 to impact the result, the different hardware and drivers between the laptop and tablet will. For this purpose, we encourage you to use the queries provided by the SDK to get hints what is supported and not on the platform of execution. You can find information related to your scenario in the MFXVideoENCODE_Query topic in the dev manual.
I used MFXVideoENCODE_Query, it returns MFX_ERR_UNSUPPORTED, and the output of the function was zeroed.
Does it mean that the input parameter is invalid?
It's strange that in my laptop the function also returns MFX_ERR_UNSUPPORTED, is it a coincidence that encoding is successful?
Thanks for following up. I am seeing similar behavior, and investigating it. I will get back to you once I have an answer for you. Going back to your initial issue -"But it will fail in the Intel pad," Can you please provide some more details - For example, does a smaller resolution video encode on your Intel pad? Also, it will help us investigate if you could use Creative Commons videos for your input (bigbuckbunny etc.,)
I may have found a reason why we were observing "MFX_ERR_UNSUPPORTED" as the return status for MFXVideoENCODE_Query. When you call the query, say like, sts = mfxEncode->Query(*inParams, *outParams), make sure you set the CodecID in *outParams to MFX_CODEC_AVC (or other codec depending on your output). When you do that, the Query function returns without any error and also populates the *outParams structure. Use the *outParams structure for your Encode.
Let me know what your Intel Pad returns for your Query, and also your system details (you can get that by running the analyzer tool in tools/ in Media SDK install folder).