在编译之前,先介绍一个软件:DXVAChecker
该软件主要作用于检测本机是否支持GPU解码:H264解码、H265解码
下拉框中选中Intel处理器,再看列表中如上图中显示就是该处理器同时支持H264(AVC)和H265(HEVC)
言归正传,编译demo:本文只编译解码样例
打开样例目录,找到解码项目文件夹:
打开工程:
配置项目:
sample_decode右键:
属性—配置属性—C/C++—常规—附加包含目录:
$(INTELMEDIASDKROOT)\include
$(ProjectDir)\..\sample_common\include
属性—配置属性—链接器—常规—附加库目录
$(INTELMEDIASDKROOT)\lib\$(Platform)
属性—配置属性—链接器—常规—输入:
一切默认,这里主要提一下libmfx_vs2015.lib,这个是针对编译器VS2015,如果VS2010,则需要用VS2010重新编译sdk安装目录的libmfx工程及sample_common工程
特别提示:在用vs2010编译项目后,链接库名字需要改为libmfx.lib
运行项目:
属性—配置属性—调试—命令参数:下列4种任选一
H264输出文件:
h264 -i test_h264.mp4 -o out.yuv -hw -i420 -f 25
H265输出文件:
h265 -i test_h265.mp4 -o out.yuv -hw -i420 -f 25
H264渲染显示:
h264 -i test_h264.mp4 -hw -r -d3d11 -f 25
H265渲染显示:
h265 -i test_h265.mp4 -hw -r -d3d11 -f 25
解释一下:
属性选项 | 描述 |
h264、h265 | 解码方式 |
-i | 输入 |
test_h264.mp4/ test_h265.mp4 | 待解码文件 |
-o | 输出 |
out.yuv | 输出文件名 |
-hw/-sw | 硬解码/软解码方式 |
-i420 | 输出数据格式 |
-f 25 | 每秒25帧 |
–r –d3d11 | d3d11渲染显示 |
提示:待解码文件放在工程目录:
H264解码渲染效果:
H264输出文件:
保存文件效果: