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

Formal steps for encoding and decoding using Skylake HEVC?

$
0
0

I'd like some formal documentation on how to use Skylake HEVC for encoding and decoding.  The SDK documentation barely addresses this, and the most useful information can be found in the release notes and the sample_encode sample.  Yet, the information in the sample_encode sample doesn't appear to agree with the information in the release notes.

According to the release notes for version 6.0.0000.349 of the Media SDK (yes, I'm aware this is not the latest), MFX_PLUGINID_HEVCE_HW was added for Skylake HEVC encode.  However, in sample_encode (and sample_decode), from the very latest samples (6.0.0.68), there is no use at all of this GUID.  Instead, it uses the MFX_PLUGINID_HEVCE_FEI_HW GUID in msdkGetPluginUID(), and I think the code path in question is never exercised, since I don't see any cases in which MSDK_VENC is passed in to msdkGetPluginUID() for the type input.  Other than the header file, there is no mention of the MFX_PLUGINID_HEVCE_FEI_HW GUID.  Is the only way to get sample_encode and sample_decode to use Skylake HEVC, currently, to pass in the plug-in GUID using the -p option?

In addition, what pixel format should be used for the raw input to the Skylake HEVC encoder and the raw output from the Skylake HEVC decoder?  In the release notes for the latest SDK (version 6.0.0000.388), it states the following:

-- HW Accelerated HEVC decode plugin outputs frames in DXGI_FORMAT_P010 for Microsoft Direct3D 11 and corresponding FOURCC defined format for Direct3D 9. These formats are 16 bit based and valid data bits alignment is different from usual SW codecs. Please refer to MSDN* pages for description.  In current implementation application needs to shift valid data bits or use VPP. Please check the SDK Reference Manual for more details.
-- HW Accelerated HEVC decode plugin outputs frames in DXGI_FORMAT_P010 always for MAIN10 profile, even if real bit-depth for all components is 8 bit.

However, it's unclear if this refers to the Skylake HEVC decoder or to the HW accelerated HEVC decoder that is associated with Intel Media Server Studio.  Some concrete documentation would be extremely helpful to anyone wanting to implement a solution that takes advantage of Skylake HEVC.

According to the article at http://www.anandtech.com/show/9562/intels-skylake-gpu-analyzing-the-medi... , Skylake HEVC supports HW encoding and decoding for HEVC Main profile only--if this is the case, it would be helpful to see this in the documentation as well.

What would be extremely helpful is if something ala the simple_encode and simple_decode family of tutorials were provided that demonstrated how to formally use Skylake HEVC.  I generally find the tutorials more useful than sample_encode or sample_decode.


Viewing all articles
Browse latest Browse all 2185

Trending Articles



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