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. Android UI自定义Spinner下拉框(用popuwindow实现)-转

    定义出第一个图片的布局和弹出框(一个listView)的布局,,这里就不在多说了~ListView需要自己定义一个MyspinnerAdapter~做好这些准备之后,就是弹出框的实现了~  prote ...

  2. BOJ 2773 第K个与m互质的数

    算法是关键,得出1-m内的互质数,然后类推计算即可.下面有详细说明. #include<iostream> #include<cstring> using namespace ...

  3. jqeury设置元素屏幕居中

    jQuery.fn.center = function () { this.css(“position”,”absolute”); this.css(“top”, ( $(window).height ...

  4. GoldenDict词典下载安装

    Debian/Ubuntu下载: sudo apt-get install goldendict 添加中文维基百科/维基词典: 选择[词典]->[词典来源]->[维基百科]->[添加 ...

  5. BZOJ——2096: [Poi2010]Pilots

    http://www.lydsy.com/JudgeOnline/problem.php?id=2096 Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: ...

  6. 如何使用NSOperations和NSOperationQueues 第二部分

    这篇文章还可以在这里找到 英语 以下是对上面代码的注解: 导入PhotoRecord.h文件,这样你就可以在下载成功后,单独地设置PhotoRecord变量的图片属性(image property). ...

  7. 使用CSS去除 去掉超链接的下划线方法

    我们可以用CSS语法来控制超链接的形式.颜色变化,为什么链接一定要使用下划线和颜色区分呢? 其主要原因主要是考虑到   1.视力差的人 2.色盲的人 ... 下面我们做一个这样的链接:未被点击时超链接 ...

  8. django的form验证机制

    今天遇到了一个奇怪的问题,django中formview一直返回200,但是却没有执行form_valid方法,然后在其中加了一个form_invalid方法: class StudentRegist ...

  9. SpringCloud中Redis的使用

    1.引入redis相关jar包 <dependency> <groupId>org.springframework.boot</groupId> <artif ...

  10. 利用卷积神经网络(CNN)构造社区问答系统

    /* 版权声明:能够随意转载,转载时请标明文章原始出处和作者信息 .*/                                                     author: 张俊林 ...