In the last few days, we have seen lot of concern for using Intel® Media 2016 on 6th generation Intel® Core™ processors (codename Skylake) from the customers. We wanted to explain how one can still install the latest Media SDK 2016 package and use it on 6th generation Intel Core processor and below are the steps which shows how one can run basic encode/decode test to start with –

Pre-requisites:
[Sample version]: Intel Media Samples 6.0.0.68
[MediaSDK]: Intel Media SDK 2016
[Graphic Drivers]: Latest drivers from https://downloadcenter.intel.com/

System Information (we have tested on):

[CPU]: SKL Core Platforms and SKL Core M Platforms
[OS]: Windows 7, Windows 8/8.1 and Windows 10

For HEVC HW encoding –

Change the width and height alignment to 32 pixels in
InitMfxEncParams function in pipeline_encode.cpp and recompile the
sample and run the below cmd line to use HEVC HW encoder.

C++
if(pInParams->CodecId==MFX_CODEC_HEVC && !memcmp(pInParams->pluginParams.pluginGuid.Data,MFX_PLUGINID_HEVCE_HW.Data,sizeof(MFX_PLUGINID_HEVCE_HW.Data)))
{
m_mfxEncParams.mfx.FrameInfo.Width = MSDK_ALIGN32(pInParams->nDstWidth);
m_mfxEncParams.mfx.FrameInfo.Height = MSDK_ALIGN32(pInParams->nDstHeight);
}
else
{
// width must be a multiple of 16
// height must be a multiple of 16 in case of frame picture and a multiple of 32 in case of field picture
m_mfxEncParams.mfx.FrameInfo.Width = MSDK_ALIGN16(pInParams->nDstWidth);
m_mfxEncParams.mfx.FrameInfo.Height = (MFX_PICSTRUCT_PROGRESSIVE == m_mfxEncParams.mfx.FrameInfo.PicStruct)?
MSDK_ALIGN16(pInParams->nDstHeight) : MSDK_ALIGN32(pInParams->nDstHeight);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
if(pInParams->CodecId==MFX_CODEC_HEVC && !memcmp(pInParams->pluginParams.pluginGuid.Data,MFX_PLUGINID_HEVCE_HW.Data,sizeof(MFX_PLUGINID_HEVCE_HW.Data)))
    {
        m_mfxEncParams.mfx.FrameInfo.Width  = MSDK_ALIGN32(pInParams->nDstWidth);
        m_mfxEncParams.mfx.FrameInfo.Height = MSDK_ALIGN32(pInParams->nDstHeight);
    }
    else
    {
        // width must be a multiple of 16
        // height must be a multiple of 16 in case of frame picture and a multiple of 32 in case of field picture
        m_mfxEncParams.mfx.FrameInfo.Width  = MSDK_ALIGN16(pInParams->nDstWidth);
        m_mfxEncParams.mfx.FrameInfo.Height = (MFX_PICSTRUCT_PROGRESSIVE == m_mfxEncParams.mfx.FrameInfo.PicStruct)?
            MSDK_ALIGN16(pInParams->nDstHeight) : MSDK_ALIGN32(pInParams->nDstHeight);
    }

Cmd linesample_encode h265 -i <Inputfile> -o <outputfile> -hw -d3d -w <width> -h <height> -b <bitrate> -f <framerate> -p 6fadc791a0c2eb479ab6dcd5ea9da347

6fadc791a0c2eb479ab6dcd5ea9da347is the plugin GUID for HEVC HW encoding

-p is the input arguement for GUID string (32-character hexadecimal string)
There are different GUID depending upon the implementation you would
like to use like HEVC hw encode, HEVC hw decode, HEVC sw encode and HEVC
hw Decode (sw implementation only available through Media Server Studio
Professional Edition). Please check mfxplugin.h(present at installed
directory) to find the HEVC related plugin guids.

For HEVC HW Decoding-

Simply compile the sample and run this cmd line : sample_decode h265 -i <inputfile> -o <outputfile> -hw -p 33a61c0b4c27454ca8d85dde757c6f8e
33a61c0b4c27454ca8d85dde757c6f8e is the  plugin id for HEVC hw decode. 

For processors below 6th generation, this plugin id will call the
GPU acceleration i.e. hybrid mode using partial core and graphics. For
6th generation, it will call fully hw accelerated mode. We have seen
some variations in using plugin id for HEVC hw decode through sample
decode, on few SKUs plugin guid is not required this will be fixed in
future release. 

There are few other limitations we have found in the sample package to
use it on Skylake system. We are actively working on developing and
validating the samples for Skylake, which we are hoping to release in
few weeks. Until then, if you do come across any issue, feel free to
start a new post and we will be happy to help and receive your valuable
feedback.

来源: How to run Media SDK samples on Skylake

https://elkpi.com/topics/an-overview-of-h-264-advanced-video-coding-vcodex-reprint.html

How to run Media SDK samples on Skylake【转载】的更多相关文章

  1. Getting Started with the Intel Media SDK

    By Gael Hofemeier on March 19, 2015 Follow Gael on Twitter: @GaelHof Media SDK Developer’s Guide Med ...

  2. (转)Integrating Intel® Media SDK with FFmpeg for mux/demuxing and audio encode/decode usages 1

    Download Article and Source Code Download Integrating Intel® Media SDK with FFmpeg for mux/demuxing ...

  3. Intel® Media SDK Media Samples Linux 学习笔记(转)

    最近折腾intel media sdk,主要硬件平台是在HD4600的核显上进行测试,intel media sdk是intel提供的一种基于核显的硬件编解码的解决方案,之前已经有使用ffmpeg进行 ...

  4. Intel Media SDK安装步骤

    !!!(gcc/g++版本要在4.8以上,本人使用的是5.4版本) 要先安装依赖,按以下步骤依次执行 1.LIBVA git clone https://github.com/intel/libva. ...

  5. Intel® Media SDK(一)

    A cross-platform API for developing media applications on Windows* Fast video playback, encode, proc ...

  6. Intel Media SDK H264 encoder GOP setting

    1 I帧,P帧,B帧,IDR帧,NAL单元 I frame:帧内编码帧,又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随 ...

  7. android studio提示unable to run mksdcard sdk

    如题,android studio提示unable to run mksdcard sdk sudo apt-

  8. Unable to run mksdcard SDK tool.

    Ubuntu 14.04,安装android studio后运行出错,sdk manager不能正常运行 Unable to run mksdcard SDK tool. 原因,缺少运行需要的库:li ...

  9. Fixing “Did you mean to run dotnet SDK commands?” error when running dotnet –version

    I recently installed the dotnet 1.11.0 Windows Server Hosting package which apparently installs the ...

随机推荐

  1. Python入门--10--序列

    一.与列表.元祖的相同与不同 1.都可以通索引得到元素 2.默认索引从0开始 3.可以通过分片得到一个范围内的元素集合 4.有很多共同的操作符 二. 1.list()这个函数用法 a="we ...

  2. CF 2018 Battle of Brains GYM 102062 F

    https://codeforces.com/gym/102062/attachments/download/8213/2018-battle-of-brains-en.pdf https://cod ...

  3. GoogLeNet系列解读

    GoogLeNet Incepetion V1 这是GoogLeNet的最早版本,出现在2014年的<Going deeper with convolutions>.之所以名为“GoogL ...

  4. Ubuntu Desktop 常用软件

    IDE: eclipse ***: firefox,登陆账号可以同步书签,我用了全球账号. firefox插件:FireGestures(手势), NoSquint(全局缩放),Url to QRco ...

  5. 【Android小项目】找不同,改编自&quot;寻找房祖名&quot;的一款开源小应用。

    近期在微信朋友圈"寻找房祖名"和"万里寻刀"这类小游戏比較火.我试着写了一个android版本号的,里面全是一系列的形近字,实现原理非常easy:用一个Grid ...

  6. Eureka vs Zookeeper

    著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性).A(可用性)和P(分区容错性).由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡.在此Zookeeper保证 ...

  7. iOS 内购遇到的坑

    一.内购沙盒测试账号在支付成功后,再次购买相同 ID 的物品,会提示如下内容的弹窗.您以购买过此APP内购项目,此项目将免费恢复 原因: 当使用内购购买过商品后没有把这个交易事件关,所以当我们再次去购 ...

  8. java中InputStream String

    Java 中获取输入流时,有时候须要将输入流转成String,以便获取当中的内容 ,以下总结一下 InputStream 转成String 的方式  方法1: public String conver ...

  9. object-c iOS 教程 git for mac

    本文转载至 http://blog.csdn.net/u011728347/article/details/10035191   http://rypress.com/tutorials/object ...

  10. Codeforces Round #422 (Div. 2) E. Liar 后缀数组+RMQ+DP

    E. Liar     The first semester ended. You know, after the end of the first semester the holidays beg ...