Quantcast
Channel: Intel® Software - Media
Viewing all articles
Browse latest Browse all 2185

HEVC Main10 Init and use.

$
0
0

I have both Coffee Lake and Skylake boxes here and managed to get both H264 encode/decode and H265 encode/decode working.  The H265 was MFX_PROFILE_HEVC_MAIN using MFX_FOURCC_NV12, i.e. 8 bit only.  Apparently you don't need to manually load a plugin to get it to work on these platforms.

Anyway I've now moved onto trying to get MFX_PROFILE_HEVC_MAIN10 with MFX_FOURCC_P010 HEVC working.  I think things are somewhat different here, i.e. I need to manually load a plugin first.  I'm not 100% when and where to do this however.  Right now I'm loading the plugin as follows:

        auto status = MFXVideoUSER_Load(*My_QSV_Session, &MFX_PLUGINID_HEVCE_HW, 1);

, if and only if the caller asks for HEVC Main10.  OK, I can choose one of the following plugins:

    MFX_PLUGINID_HEVCD_HW
    MFX_PLUGINID_HEVCE_HW
    MFX_PLUGINID_HEVCE_FEI_HW
    MFX_PLUGINID_HEVC_FEI_ENCODE
    MFX_PLUGINID_HEVCE_DP_GACC

Some of them don't exist, i.e. aren't in my Intel(R) Media SDK 2018 R2 Plugin folder.  So my first question is where do I find them all?  Secondly neither sample_encode nor my own project can successfully initialise against HEVC Main10.  Is the above MFXVideoUSER_Load statement all I have to do to load a plugin?  If I want the fastest hardware encode (we control customer CPU platform quite tightly, i.e. no need for CUDA-style encoding acceleration), which of the above options should I choose?

My command line with sample_encode is:

    sample_encode h265 -i "..\..\gops\in_p010\1.raw" -o output.265 -w 1280 -h 720 -p010 -hw -d3d11 -CodecProfile 2

The raw frame is p010 format (verified as such) and of the correct size.  I'd like -hw (hardware) and preferably -d3d11, with the Main10 profile which I believe is "2".  sample_encode fails with MFX_ERR_MEMORY_ALLOC in MFXVideoENCODE::Init.

 

I get incompatible params from Query with -d3d11, so I reverted it to use the SysMemAllocator.  Using that I get Unsupported when I come to Init my encoder.  The parameters in my project were:

    ...mfx.CodecId = MFX_CODEC_HEVC;
    ...mfx.CodecProfile = MFX_PROFILE_HEVC_MAIN10;
    ...mfx.FrameInfo.FourCC = MFX_FOURCC_P010;

These match the ones sample_encode submits (it fails too).

What mistake have I made?

 


Viewing all articles
Browse latest Browse all 2185

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>