How to run Media SDK samples on Skylake【转载】
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 10For 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);
}
12345678910111213 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 picturem_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 line: sample_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【转载】的更多相关文章
- 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 ...
- (转)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 ...
- Intel® Media SDK Media Samples Linux 学习笔记(转)
最近折腾intel media sdk,主要硬件平台是在HD4600的核显上进行测试,intel media sdk是intel提供的一种基于核显的硬件编解码的解决方案,之前已经有使用ffmpeg进行 ...
- Intel Media SDK安装步骤
!!!(gcc/g++版本要在4.8以上,本人使用的是5.4版本) 要先安装依赖,按以下步骤依次执行 1.LIBVA git clone https://github.com/intel/libva. ...
- Intel® Media SDK(一)
A cross-platform API for developing media applications on Windows* Fast video playback, encode, proc ...
- Intel Media SDK H264 encoder GOP setting
1 I帧,P帧,B帧,IDR帧,NAL单元 I frame:帧内编码帧,又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随 ...
- android studio提示unable to run mksdcard sdk
如题,android studio提示unable to run mksdcard sdk sudo apt-
- Unable to run mksdcard SDK tool.
Ubuntu 14.04,安装android studio后运行出错,sdk manager不能正常运行 Unable to run mksdcard SDK tool. 原因,缺少运行需要的库:li ...
- 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 ...
随机推荐
- python 之文件操作
一.文件基本操作 1.文件的打开 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作 文件句柄 = open('文件路径', '模式') 2. ...
- linux 安裝jdk
參考博客:http://www.cnblogs.com/wuqianling/p/5381895.html http://www.cnblogs.com/CuteNet/p/3947193.html ...
- LeetCode OJ--Valid Parentheses
http://oj.leetcode.com/problems/valid-parentheses/ 对栈的考察,看括号的使用方式是否合法. class Solution { public: bool ...
- android Containers控件
1.RadioGroup 一组单选框容器 2.ListView 3.GridView 4.ExpandableListView 可折叠列表 5.ScrollView 上下滚动条 6.Horizonta ...
- json常见用法-loads、jumps、load、jump
这一篇博客的目的主要是想说明一个问题:干什么事情要抓住重点,不要力求完美,不要追求那种'大而全'的办事方式,因为时间是有限的,而客观事物(这里主要指技术方面的知识)是无限的,so,anyway! 1. ...
- poi 读取excel row.getCell() 为null
##### getCell()为null 科目 余额 1 利息 1000 2 60 3 现金 10000 表格第一个单元为空时getCell()为null,直接使用会出现空指针异常
- UICollectionView 讲解
什么是UICollectionView UICollectionView是一种新的数据展示方式,简单来说可以把他理解成多列的UITableView(请一定注意这是 UICollectionView的最 ...
- docker下用keepalived+Haproxy实现高可用负载均衡集群
启动keepalived后宿主机无法ping通用keepalived,报错: [root@localhost ~]# ping 172.18.0.15 PING () bytes of data. F ...
- C++对象模型——Default Constructor的建构操作(第二章)
第2章 构造函数语意学 (The Semantics of Constructor) 关于C++,最常听到的一个抱怨就是,编译器背着程序猿做了太多事情.Conversion运算符就是最常被引用的 ...
- SQL数据库 更改数据类型
向表中添加数据 alter table 表名 add 列名 类型 更改表中列的数据类型 alter table 表名 alter column 列名 类型 删除表中的指定列 alter table 表 ...