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. linux的sar命令未找到

    linux的sar命令未找到 一般的命令可以直接使用yum安装,但是sar和mpstat命令这两个命令都是在sysstat包里, 网上的解决方法:rpm -ivh gd-2.0.32-23.2.i58 ...

  2. 通过Nginx 的反向代理来加强kibana的访问安全

    https://blog.csdn.net/choelea/article/details/57406086

  3. AC日记——栈 洛谷 P1044

    题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈). 栈的重要性不言自明,任何 ...

  4. 用canal监控binlog并实现mysql定制同步数据的功能

    业务背景 写任何工具都不能脱离实际业务的背景.开始这个项目的时候是因为现有的项目中数据分布太零碎,零零散散的分布在好几个数据库中,没有统一的数据库来收集这些数据.这种情况下想做一个大而全的会员中心系统 ...

  5. TFS2018 获取所有Build变量及变量值

    添加一个Command Line 步骤,Tool设置为 cmd ,并设置参数为 /k set 注意:若在执行时出现如下报错信息,Tool的值改成 cmd.exe --20T02::.0416435Z ...

  6. Solidworks如何运行Toolbox

    现在的问题不是没安装,没配置,这两项已经勾选了   Toolbox也配置到第五步了,但是没有什么"完成"按钮,我只能点击关闭把这个窗口关了,而且下次要拉一颗螺丝进来也不行   这样 ...

  7. python—networkx:依据图的权重绘图

    首先输入边和边的权重,随后画出节点位置.依据权重大小划分实边和虚边 #coding:utf-8 #!/usr/bin/env python """ An example ...

  8. LInux查看CPU状态

    1.htop 2.top 内容解释: PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT:进程占用的虚拟内存 RES:进程占用的物理内存 SH ...

  9. AngularJs概述

  10. 【转载】关于Hash

    这个HASH算法不是大学里数据结构课里那个HASH表的算法.这里的HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突.所谓不可逆,就是当你知道x的HASH值, ...