使用Intel VTune Amplifier XE测试x264编码器编码复杂度信息方法

测试的是x264编码器的编码复杂度,使用的测试软件是Intel的VTune Amplifier XE 2011。 即,测试软件:VTune Amplifier XE 2011(软件需要去intel官网下载,但是需要注册用户名,这里分享下我网盘里的地址:)和x264.exe

在进行x264的复杂度测试时,我们是以运行程序的CPUtime来表示复杂程度。IntelVtune软件是一个比较强大的性能分析软件,,可以帮助我们收集我们所需要分析的数据,其中就包括cputime,并且此软件获得的运行时间相比较于其他方式得到的要精确很多,因此我们选择这款软件。由于实验过程中要进行大量的数据测试(不同的参数,不同的参数组合,不同的序列),因此我们要使用脚本文件来进行大量的测试。下面介绍下intelvtune软件的使用以及批处理的写法:

首先,我们安装vtune软件,一般在安装vs时已进行了安装,默认目录C盘。安装完成后,在安装目录下会生成amplxe-cl.exe应用程序,这就是我们批处理使用的应用程序,同时也会生成一些其他文件(我们之后的批处理运行中要在此目录下,因为要需要几个其他生成文件的辅助环境)。

接下来,就进行写批处理来运行,写批处理过程中要分为两项内容:第一,我们要选择所要的分析类型,包括hotspots ,concurrency ,locksandwaits ,lightweight-hotspots ,这里我们主要使用concurrency类型分析。这样我们可以写出收集数据分析的批处理,示例如下amplxe-cl -collect concurrency -result-dir r005ccE:\menglei\HARBOUR\x264-122.exe -v –psnr –bitrate 100 –frames 100 -o NULE:\menglei\test\cif\foreman_cif.yuv –input-res352x288cpu time – -cpu time

最后,前两项批处理文件写好,然后设置变量来不断的调用写好的批处理,就会生成大量实验结果,完成复杂度的测试。

主要过程如下:1、 进入C:\ProgramFiles\Intel\VTune Amplifier XE 2011\bin32目录下建立两个批处理文件(示例批处理文件就是1.bat,3.bat;其他两个1-2.bat和3-2.bat主要是用来循环调用前两个批处理的)。2、 1.bat主要是Vtune调用不同参数下的x264产生复杂度结果,这个结果包括时间一类的信息,是在x264编码运行过程中自动生成的,是Vtune软件生成的固有格式工程。3、 3.bat是Vtune搜集需要的结果,比如时间,输出到excel表格,便于提取。具体操作可以分析我的四个批处理,测试分析一下结果就可以明白了。

示例批处理1.bat内容:

echo %1 %2 %3amplxe-cl -collect concurrency -result-dir E:\leilei\laoshi25\res_%1_%2_%3 E:\leilei\x264-122.exe –threads 1 –profile main –tune psnr –psnr –frames 20 –pass 1 –slow-firstpass –cabac –no-psy –subme 7 –deadzone-inter %2 –deadzone-intra %1 –partitions all –bitrate %3 -o test_pass2_1000.264 D:\test_sequence\cif\bus_cif.yuv –input-res 352×288

示例批处理1-2.bat内容:

@echo offfor %%i in (esa tesa) do ( for %%j in ( 8 16 24 40 64 128 ) do ( for /l %%k in ( 1000,500,3000) do (1.bat %%i %%j %%k)if exist output.txt move output.txt me-%%i_%%j.txt))

示例批处理3.bat内容:

echo %1amplxe-cl -R hotspots -r E:\leilei\subme\norc\keyint-%1_%2_%3 -report-output=E:\leilei\subme\norc\keyint-%1_%2_%3.csv -format=csv -csv-delimiter=comma

示例批处理3-2.bat内容:

@echo offfor %%i in (dia hex umh esa) do ( for %%j in ( 8 16 24 40 64 128 ) do ( for /l %%k in ( 1000,500,3000) do (3.bat %%i %%j %%k)))

以上全套内容打包放在了CSDN资源中,地址:

天下无难事,只怕有心人。

使用Intel VTune Amplifier XE测试x264编码器编码复杂度信息方法

相关文章:

你感兴趣的文章:

标签云: