测试环境
测试环境:Intel Pentium4 3.00GHz (双核cpu),开启超线程
内存: DDR 1.00G
操作系统: Windows sever 2003 Enterprise Edition
分析软件: Intel(R) VTune(TM) Performance Analyzer 8.0(评估版lic)
编译软件: VC71+nasm0.98
Bus Speed: 800MHz
测试程序: X264 20060506 编码器
1、Debug版本
编码参数:
X264 -fps -o foreman.264 forman.cif 352x288
编码400frames,编码效率:23fps左右(libx264 debug版本),35fps(libx264 release版本),提高了10fps以上,比较可观
2、
编码参数:
X264 -fps --no-asm -o foreman.264 forman.cif 352x288
--no-asm,Disable all CPU optimizations即未使用mmx,mmxext, sse,sse2,3dNow,3dnow ext,altivec等汇编指令优化。
编码400frames,编码效率2.67fps(libx264 debug版本),12.67fps(libx264 release版本),提高了10fps
Clockticks per Instructions Retired (CPI)表示该程序段的平均执行一条指令所需的时钟周期数,CPI越大表示该程序段调用的浮点数操作,乘法,除法,I/O处理,系统调用或文
件访问等代价昂贵的操作较多。
Instructions Retired events, 表示执行的指令数,越大表示该模块调用的较多.
Clockticks events 则表示该模块所消耗的时钟周期数,一般Clockticks events = Instructions Retired events * Clockticks per Instructions Retired (CPI),越大表示该模块消耗的时间越多,后面的Clockticks %则表示该模块的在所有程序中的时耗百分比.
这里有一点需要注意:(还是举例吧),例如要分析视频编码中去块滤波器算法/程序的时耗,并不是一个x264_frame_deblocking_filter函数的时间消耗就是所有x264编解码过程中的时间消耗,由于x264_frame_deblocking_filter调用deblck_edge,x264_clip3(该函数也被其他函数所调用)函数,而deblock_edge下又调用x264_deblock_v8_luma_mmxext, x264_deblock_h_luma_mmxext,x_264_deblock_h_chroma_mmxext, deblock_luma_intra_c, x264_deblock_v_chroma_mmxext(这些函数通过指针重定义的方式以适应于不同的硬件平台,比如Intel,AMD的CPU采用不同的指令系统,其实Mplayer,FFMPEG,T264等软件都采用类似的重定义方式,已达到一个软件使用与不同构架/平台,如arm,powerpc,x86等)等函数。那么这里如果统计去块滤波器的算法的时间消耗百分比,就需要将该函数及其所有调用的子函数的时间消耗都计算在内,x264_deblock_****都是唯一被deblock_edge调用,但对于x264_clip3,并不仅仅是去块滤波器部分调用,那么就只能部分计算在去块滤波器之内,至于部分是多少要根据个函数的调用次数,这里不确定。
相关x264时耗分析数据后面的表格。deblock占4.3%左右,quant+dequant占3.3%左右,DCT+IDCT占1.1%左右,主要是运动估计和运动补偿,ME中大量的sad/satd的计算,MC中的六阶滤波器tap_filter是主要时耗,具体我没有太细统计将近20%左右,x264中由于采用了算法优化,程序优化及mmx,sse,sse2等指令优化,将原本消耗较大的去块滤波器等都有了较大程度地优化。
这里再讨论一下程序性能优化技术,程序性能优化可以大致从3个部分考虑。
1、算法结构优化,实现同样的应用功能可采用多种不同的算法和方法,比如H.264种的运动估计全搜索和快速运动估计算法,实现的编码效率基本一致,但是处理时间可以节省10~20倍,所以需要选择高效的算法。还有递归算法非递归化,递归算法使得程序结构清晰,可读性高,但却需要执行大量的过程调用,堆栈保存等,运行效率低下。
2、编译优化,现在很多编译器都实现了较强的代码优化功能,多数编译器都基于数据流分析以实现别名分析(通过变量重命名来消除数据相关,提高流水线的执行效率),常数折叠,公共子表达式消除、冗余代码删除,循环逆转和循环展开等与体系结构无关的优化,例如GNU gcc就是个很好的编译工具。还有借用并行程序设计技术,进行相关性分析,并通过相应技术是程序具有更好的局部性以提高Cashe命中率。对于GCC中采用-O -O2 -O3 -O4等选项选择针对速度/面积等性能优化,另外debug版本由于程序中加入较多的debug参数,影响程序效率,上面x264的debug和release运行效率的对比可见一斑.编译优化属于静态优化,由编译器自动完成,但是编译器很难得到程序的语义信息,算法流程等信息。所以需要我们手工编程优化以最大程度提高程序运行效率
3、程序优化,包括a)使用inline函数,很多编译器支持inline关键字,减少函数调用开销却增加了代码量。b)针对程序运行平台,如x86(Intel),Xscale,ARM,DSP等不同构架,可采用相应的汇编优化,将主要时耗部分/循环调用等,进行汇编指令优化MMX,SSE,WiMMX,ARM/Thumb指令,DSP汇编等,或者采用专用的库函数,如针对Intel CPU/Xscale构架的嵌入式系统(PXA255,PXA270等)可使用IPP/GPP库,提高程序效率。c)对于DSP系统,由于有多个并行处理单元,编译器会并行优化,所以需要尽量减少频繁小循环跳转,将循环展开,同时减少循环或内层循环也可以提高CPU的流线效率,尽量不断流。d)在Switch语句中根据发生频率排序case语句,编译器对于switch语句将生成if-else-if的嵌套代码,按概率排序可提高效率(FPGA/CPLD等逻辑器件中,采用VHDL语言描述的switch是生成多个逻辑器件,并且完全并行的)。e)减少函数调用参数. f)减少耗时的浮点数操作,除法操作等降低CPI
Size | Function | Clockticks per Instructions Retired (CPI) | Instructions Retired events | Clockticks events | Clockticks % | Source File |
4917 | refine_subpel | 3.050938338 | 1119000000 | 3414000000 | 6.582219909 | f:/x264-060506/x264-060506/encoder/me.c |
176 | x264_mc_chroma_mmxext | 1.463709677 | 2232000000 | 3267000000 | 6.298802707 | |
21502 | x264_me_search_ref | 2.515923567 | 942000000 | 2370000000 | 4.569379374 | f:/x264-060506/x264-060506/encoder/me.c |
880 | x264_pixel_satd_8x8_sse2 | 1.43551797 | 1419000000 | 2037000000 | 3.927352652 | |
99 | RTC_CheckStackVars | 3.563157895 | 570000000 | 2031000000 | 3.915784603 | |
3296 | x264_pixel_satd_16x16_sse2 | 1.54047619 | 1260000000 | 1941000000 | 3.742263867 | |
237 | get_ref_mmx | 1.725925926 | 810000000 | 1398000000 | 2.695355428 | f:/x264-060506/x264-060506/common/i386/mc-c.c |
1183 | block_residual_write_cabac | 3.15862069 | 435000000 | 1374000000 | 2.649083232 | f:/x264-060506/x264-060506/encoder/cabac.c |
6480 | x264_macroblock_analyse | 24.05555556 | 54000000 | 1299000000 | 2.504482619 | f:/x264-060506/x264-060506/encoder/analyse.c |
272 | x264_pixel_satd_4x4_mmxext | 1.229850746 | 1005000000 | 1236000000 | 2.383018104 | |
80 | x264_pixel_avg_w16_mmxext | 2.096045198 | 531000000 | 1113000000 | 2.145873099 | |
232 | x264_mb_decimate_score | 1.354085603 | 771000000 | 1044000000 | 2.012840534 | f:/x264-060506/x264-060506/encoder/macroblock.c |
64 | x264_pixel_avg_w8_mmxext | 1.756906077 | 543000000 | 954000000 | 1.839319799 | |
2413 | x264_frame_deblocking_filter | 1.703910615 | 537000000 | 915000000 | 1.76412748 | f:/x264-060506/x264-060506/common/frame.c |
2491 | x264_macroblock_cache_save | 2.152173913 | 414000000 | 891000000 | 1.717855284 | f:/x264-060506/x264-060506/common/macroblock.c |
656 | x264_center_filter_mmxext | 1.211864407 | 708000000 | 858000000 | 1.654231014 | |
146 | quant_4x4 | 2.989247312 | 279000000 | 834000000 | 1.607958818 | f:/x264-060506/x264-060506/encoder/macroblock.c |
5930 | x264_macroblock_cache_load | 2.090225564 | 399000000 | 834000000 | 1.607958818 | f:/x264-060506/x264-060506/common/macroblock.c |
206 | x264_cabac_encode_renorm | 2.125984252 | 381000000 | 810000000 | 1.561686622 | f:/x264-060506/x264-060506/common/cabac.c |
83 | array_non_zero_count | 1.191964286 | 672000000 | 801000000 | 1.544334548 | f:/x264-060506/x264-060506/encoder/macroblock.h |
96 | memset | 9.464285714 | 84000000 | 795000000 | 1.532766499 | F:/VS70Builds/3077/vc/crtbld/crt/src/intel/memset.asm |
363 | predict_16x16_p | 1.095435685 | 723000000 | 792000000 | 1.526982474 | f:/x264-060506/x264-060506/common/predict.c |
184 | x264_cabac_encode_decision | 2.371428571 | 315000000 | 747000000 | 1.440222107 | f:/x264-060506/x264-060506/common/cabac.c |
37 | _RTC_CheckEsp | 1.707142857 | 420000000 | 717000000 | 1.382381861 | |
3693 | x264_macroblock_encode | 2.890243902 | 246000000 | 711000000 | 1.370813812 | f:/x264-060506/x264-060506/encoder/macroblock.c |
47 | x264_clip_uint8 | 1.317365269 | 501000000 | 660000000 | 1.272485395 | f:/x264-060506/x264-060506/common/clip1.h |
304 | x264_quant_4x4_core15_mmx | 1.674796748 | 369000000 | 618000000 | 1.191509052 | |
2091 | x264_mb_analyse_intra | 1.844036697 | 327000000 | 603000000 | 1.162588929 | f:/x264-060506/x264-060506/encoder/analyse.c |
1680 | x264_pixel_satd_8x16_sse2 | 1.144508671 | 519000000 | 594000000 | 1.145236856 | |
1696 | x264_pixel_satd_16x8_sse2 | 1.449612403 | 387000000 | 561000000 | 1.081612586 | |
164 | motion_compensation_chroma_mmxext | 1.459677419 | 372000000 | 543000000 | 1.046908439 | f:/x264-060506/x264-060506/common/mc.c |
328 | deblock_edge | 1.594059406 | 303000000 | 483000000 | 0.931227948 | f:/x264-060506/x264-060506/common/frame.c |
363 | predict_8x8c_p | 1.453703704 | 324000000 | 471000000 | 0.90809185 | f:/x264-060506/x264-060506/common/predict.c |
176 | x264_macroblock_cache_mv | 1.662650602 | 249000000 | 414000000 | 0.798195384 | f:/x264-060506/x264-060506/common/macroblock.h |
71 | x264_clip3 | 1.666666667 | 216000000 | 360000000 | 0.694082943 | f:/x264-060506/x264-060506/common/common.h |
121 | x264_macroblock_cache_ref | 2.333333333 | 153000000 | 357000000 | 0.688298918 | f:/x264-060506/x264-060506/common/macroblock.h |
272 | x264_horizontal_filter_mmxext | 1.216494845 | 291000000 | 354000000 | 0.682514894 | |
1104 | x264_pixel_sad_x4_16x16_sse2 | 4.423076923 | 78000000 | 345000000 | 0.66516282 | |
480 | x264_pixel_satd_8x4_sse2 | 1.430379747 | 237000000 | 339000000 | 0.653594771 | |
496 | x264_deblock_v8_luma_mmxext | 1.066666667 | 315000000 | 336000000 | 0.647810747 | |
432 | x264_pixel_sad_x4_8x8_mmxext | 1.671641791 | 201000000 | 336000000 | 0.647810747 | |
288 | x264_pixel_sad_16x16_sse2 | 4.608695652 | 69000000 | 318000000 | 0.6131066 | |
910 | x264_mb_predict_mv | 2.363636364 | 132000000 | 312000000 | 0.601538551 | f:/x264-060506/x264-060506/common/macroblock.c |
106 | bs_write1 | 2.666666667 | 117000000 | 312000000 | 0.601538551 | f:/x264-060506/x264-060506/common/bs.h |
224 | x264_sub4x4_dct_mmx | 1.16091954 | 261000000 | 303000000 | 0.584186477 | |
211 | scan_zigzag_4x4full | 1.672727273 | 165000000 | 276000000 | 0.532130256 | f:/x264-060506/x264-060506/encoder/macroblock.c |
656 | x264_deblock_h_luma_mmxext | 3.214285714 | 84000000 | 270000000 | 0.520562207 | |
227 | predict_16x16_dc | 2.378378378 | 111000000 | 264000000 | 0.508994158 | f:/x264-060506/x264-060506/common/predict.c |
496 | x264_pixel_satd_4x8_mmxext | 1.242857143 | 210000000 | 261000000 | 0.503210134 | |
960 | x264_pixel_ssd_16x16_sse2 | 4.315789474 | 57000000 | 246000000 | 0.474290011 | |
33 | abs | 1.860465116 | 129000000 | 240000000 | 0.462721962 | f:/vs70builds/3077/vc/crtbld/crt/src/abs.c |
864 | x264_pixel_sad_x3_16x16_sse2 | 3.391304348 | 69000000 | 234000000 | 0.451153913 | |
962 | x264_mb_analyse_inter_p8x8 | 1.948717949 | 117000000 | 228000000 | 0.439585864 | f:/x264-060506/x264-060506/encoder/analyse.c |
3064 | x264_macroblock_write_cabac | 2.62962963 | 81000000 | 213000000 | 0.410665741 | f:/x264-060506/x264-060506/encoder/cabac.c |
1209 | x264_mb_encode_8x8_chroma | 2.379310345 | 87000000 | 207000000 | 0.399097692 | f:/x264-060506/x264-060506/encoder/macroblock.c |
829 | memcpy | 11 | 18000000 | 198000000 | 0.381745619 | F:/VS70Builds/3077/vc/crtbld/crt/src/intel/memcpy.asm |
386 | predict_8x8c_dc | 2.52 | 75000000 | 189000000 | 0.364393545 | f:/x264-060506/x264-060506/common/predict.c |
202 | bs_write | 1.909090909 | 99000000 | 189000000 | 0.364393545 | f:/x264-060506/x264-060506/common/bs.h |
352 | x264_pixel_sad_x3_8x8_mmxext | 2.172413793 | 87000000 | 189000000 | 0.364393545 | |
144 | x264_pixel_sad_8x8_mmxext | 2.384615385 | 78000000 | 186000000 | 0.358609521 | |
156 | predict_16x16_h | 2 | 90000000 | 180000000 | 0.347041471 | f:/x264-060506/x264-060506/common/predict.c |
178 | predict_16x16_v | 2.52173913 | 69000000 | 174000000 | 0.335473422 | f:/x264-060506/x264-060506/common/predict.c |
128 | x264_mc_copy_w16_mmx | 9.666666667 | 18000000 | 174000000 | 0.335473422 | |
405 | x264_cabac_mb_mvd_cpn | 2.192307692 | 78000000 | 171000000 | 0.329689398 | f:/x264-060506/x264-060506/encoder/cabac.c |
161 | x264_cabac_putbit | 1.4 | 120000000 | 168000000 | 0.323905373 | f:/x264-060506/x264-060506/common/cabac.c |
304 | x264_dequant_4x4_mmx | 2.545454545 | 66000000 | 168000000 | 0.323905373 | |
592 | x264_pixel_sad_x4_16x8_sse2 | 2.291666667 | 72000000 | 165000000 | 0.318121349 | |
103 | x264_median | 2.6 | 60000000 | 156000000 | 0.300769275 | f:/x264-060506/x264-060506/common/common.h |
398 | predict_4x4_ddl | 1.5625 | 96000000 | 150000000 | 0.289201226 | f:/x264-060506/x264-060506/common/predict.c |
272 | x264_add4x4_idct_mmx | 1.139534884 | 129000000 | 147000000 | 0.283417202 | |
418 | x264_cabac_mb_cbp_luma | 2.666666667 | 54000000 | 144000000 | 0.277633177 | f:/x264-060506/x264-060506/encoder/cabac.c |
414 | predict_4x4_ddr | 2.285714286 | 63000000 | 144000000 | 0.277633177 | f:/x264-060506/x264-060506/common/predict.c |
405 | predict_4x4_vl | 1.777777778 | 81000000 | 144000000 | 0.277633177 | f:/x264-060506/x264-060506/common/predict.c |
1455 | x264_mb_predict_mv_ref16x16 | 3.692307692 | 39000000 | 144000000 | 0.277633177 | f:/x264-060506/x264-060506/common/macroblock.c |
1181 | x264_mb_analyse_inter_p16x16 | 4.6 | 30000000 | 138000000 | 0.266065128 | f:/x264-060506/x264-060506/encoder/analyse.c |
176 | x264_macroblock_cache_mvd | 1.769230769 | 78000000 | 138000000 | 0.266065128 | f:/x264-060506/x264-060506/common/macroblock.h |
816 | x264_pixel_sad_x4_8x16_mmxext | 1.769230769 | 78000000 | 138000000 | 0.266065128 | |
199 | scan_zigzag_4x4 | 2.045454545 | 66000000 | 135000000 | 0.260281104 | f:/x264-060506/x264-060506/encoder/macroblock.c |
446 | predict_4x4_mode_available | 2.25 | 60000000 | 135000000 | 0.260281104 | f:/x264-060506/x264-060506/encoder/analyse.c |
1148 | x264_mb_analyse_inter_p16x8 | 3.142857143 | 42000000 | 132000000 | 0.254497079 | f:/x264-060506/x264-060506/encoder/analyse.c |
1746 | x264_mb_analyse_init | 8.2 | 15000000 | 123000000 | 0.237145005 | f:/x264-060506/x264-060506/encoder/analyse.c |
511 | x264_mb_analyse_intra_chroma | 2.733333333 | 45000000 | 123000000 | 0.237145005 | f:/x264-060506/x264-060506/encoder/analyse.c |
425 | predict_4x4_hd | 1.28125 | 96000000 | 123000000 | 0.237145005 | f:/x264-060506/x264-060506/common/predict.c |
425 | predict_4x4_vr | 1.413793103 | 87000000 | 123000000 | 0.237145005 | f:/x264-060506/x264-060506/common/predict.c |
122 | predict_8x8c_h | 1.952380952 | 63000000 | 123000000 | 0.237145005 | f:/x264-060506/x264-060506/common/predict.c |
425 | x264_mb_encode_i4x4 | 2.105263158 | 57000000 | 120000000 | 0.231360981 | f:/x264-060506/x264-060506/encoder/macroblock.c |
464 | x264_pixel_sad_x3_16x8_sse2 | 5 | 24000000 | 120000000 | 0.231360981 | |
672 | x264_pixel_sad_x3_8x16_mmxext | 2.666666667 | 45000000 | 120000000 | 0.231360981 | |
297 | predict_4x4_hu | 1.772727273 | 66000000 | 117000000 | 0.225576956 | f:/x264-060506/x264-060506/common/predict.c |
120 | predict_8x8c_v | 3.083333333 | 36000000 | 111000000 | 0.214008907 | f:/x264-060506/x264-060506/common/predict.c |
464 | x264_deblock_h_chroma_mmxext | 1.166666667 | 90000000 | 105000000 | 0.202440858 | |
240 | x264_pixel_sad_8x16_mmxext | 1.888888889 | 54000000 | 102000000 | 0.196656834 | |
1104 | x264_mb_analyse_inter_p8x16 | 3 | 33000000 | 99000000 | 0.190872809 | f:/x264-060506/x264-060506/encoder/analyse.c |
176 | x264_pixel_sad_16x8_sse2 | 3.666666667 | 27000000 | 99000000 | 0.190872809 | |
194 | x264_cabac_encode_bypass | 1.192307692 | 78000000 | 93000000 | 0.17930476 | f:/x264-060506/x264-060506/common/cabac.c |
836 | x264_cabac_mb_cbf_ctxidxinc | 1.875 | 48000000 | 90000000 | 0.173520736 | f:/x264-060506/x264-060506/encoder/cabac.c |
80 | x264_mc_copy_w8_mmx | 3 | 30000000 | 90000000 | 0.173520736 | |
1385 | x264_slice_write | 4.833333333 | 18000000 | 87000000 | 0.167736711 | f:/x264-060506/x264-060506/encoder/encoder.c |
680 | deblock_luma_intra_c | 2.153846154 | 39000000 | 84000000 | 0.161952687 | f:/x264-060506/x264-060506/common/frame.c |
503 | x264_mb_mc_0xywh | 1.857142857 | 42000000 | 78000000 | 0.150384638 | f:/x264-060506/x264-060506/common/macroblock.c |
134 | predict_4x4_dc | 5 | 15000000 | 75000000 | 0.144600613 | f:/x264-060506/x264-060506/common/predict.c |
577 | x264_mb_predict_mv_16x16 | 2.5 | 30000000 | 75000000 | 0.144600613 | f:/x264-060506/x264-060506/common/macroblock.c |
324 | plane_expand_border | 6.25 | 12000000 | 75000000 | 0.144600613 | f:/x264-060506/x264-060506/common/frame.c |
272 | x264_deblock_v_chroma_mmxext | 1.642857143 | 42000000 | 69000000 | 0.133032564 | |
123 | x264_sub8x8_dct_mmx | 1.111111111 | 54000000 | 60000000 | 0.11568049 | f:/x264-060506/x264-060506/common/i386/dct-c.c |
1359 | x264_macroblock_probe_skip | 2.714285714 | 21000000 | 57000000 | 0.109896466 | f:/x264-060506/x264-060506/encoder/macroblock.c |
305 | x264_cabac_mb_mvd | 3.4 | 15000000 | 51000000 | 0.098328417 | f:/x264-060506/x264-060506/encoder/cabac.c |
1880 | x264_analyse_update_cache | 4 | 12000000 | 48000000 | 0.092544392 | f:/x264-060506/x264-060506/encoder/analyse.c |
64 | array_non_zero | 4.666666667 | 9000000 | 42000000 | 0.080976343 | f:/x264-060506/x264-060506/encoder/macroblock.h |
271 | x264_mb_dequant_2x2_dc | 3.5 | 12000000 | 42000000 | 0.080976343 | f:/x264-060506/x264-060506/common/quant.c |
266 | mc_luma_mmx | 2.166666667 | 18000000 | 39000000 | 0.075192319 | f:/x264-060506/x264-060506/common/i386/mc-c.c |
199 | dct2x2dc | 3.25 | 12000000 | 39000000 | 0.075192319 | f:/x264-060506/x264-060506/common/dct.c |
149 | quant_2x2_dc | 1 | 33000000 | 33000000 | 0.06362427 | f:/x264-060506/x264-060506/encoder/macroblock.c |
320 | x264_cabac_mb_cbp_chroma | 2.75 | 12000000 | 33000000 | 0.06362427 | f:/x264-060506/x264-060506/encoder/cabac.c |
61 | _alloca_probe | 0 | 33000000 | 0.06362427 | F:/VS70Builds/3077/vc/crtbld/crt/src/intel/chkstk.asm | |
38 | x264_me_search | 2.5 | 12000000 | 30000000 | 0.057840245 | f:/x264-060506/x264-060506/encoder/analyse.c |
145 | x264_mb_predict_intra4x4_mode | 1 | 30000000 | 30000000 | 0.057840245 | f:/x264-060506/x264-060506/common/macroblock.c |
194 | x264_mb_predict_mv_pskip | 0 | 30000000 | 0.057840245 | f:/x264-060506/x264-060506/common/macroblock.c | |
279 | x264_nal_encode | 2 | 15000000 | 30000000 | 0.057840245 | f:/x264-060506/x264-060506/common/common.c |
172 | x264_cabac_mb_skip | 3 | 9000000 | 27000000 | 0.052056221 | f:/x264-060506/x264-060506/encoder/cabac.c |
59 | predict_4x4_v | 4.5 | 6000000 | 27000000 | 0.052056221 | f:/x264-060506/x264-060506/common/predict.c |
1253 | x264_mb_mc | 3 | 9000000 | 27000000 | 0.052056221 | f:/x264-060506/x264-060506/common/macroblock.c |
74 | x264_deblock_v_luma_mmxext | 1.125 | 24000000 | 27000000 | 0.052056221 | f:/x264-060506/x264-060506/common/frame.c |
227 | predict_8x8chroma_mode_available | 4 | 6000000 | 24000000 | 0.046272196 | f:/x264-060506/x264-060506/encoder/analyse.c |
47 | bs_size_te | 0 | 24000000 | 0.046272196 | f:/x264-060506/x264-060506/common/bs.h | |
1131 | x264_cabac_mb_type | 1 | 21000000 | 21000000 | 0.040488172 | f:/x264-060506/x264-060506/encoder/cabac.c |
80 | predict_4x4_h | 3.5 | 6000000 | 21000000 | 0.040488172 | f:/x264-060506/x264-060506/common/predict.c |
17 | x264_ratecontrol_qp | 0 | 18000000 | 0.034704147 | f:/x264-060506/x264-060506/encoder/ratecontrol.c | |
55 | scan_zigzag_2x2_dc | 2 | 9000000 | 18000000 | 0.034704147 | f:/x264-060506/x264-060506/encoder/macroblock.c |
115 | x264_macroblock_encode_skip | 2 | 9000000 | 18000000 | 0.034704147 | f:/x264-060506/x264-060506/encoder/macroblock.c |
279 | x264_mb_analyse_transform | 6 | 3000000 | 18000000 | 0.034704147 | f:/x264-060506/x264-060506/encoder/analyse.c |
138 | x264_sub16x16_dct_mmx | 1.5 | 12000000 | 18000000 | 0.034704147 | f:/x264-060506/x264-060506/common/i386/dct-c.c |
125 | bs_size_ue | 1 | 18000000 | 18000000 | 0.034704147 | f:/x264-060506/x264-060506/common/bs.h |
142 | x264_me_refine_qpel | 2.5 | 6000000 | 15000000 | 0.028920123 | f:/x264-060506/x264-060506/encoder/me.c |
233 | x264_mb_analyse_load_costs | 1.666666667 | 9000000 | 15000000 | 0.028920123 | f:/x264-060506/x264-060506/encoder/analyse.c |
14 | _security_check_cookie | 2.5 | 6000000 | 15000000 | 0.028920123 | f:/vs70builds/3077/vc/crtbld/crt/src/secchk.c |
444 | x264_cabac_mb8x8_mvd | 4 | 3000000 | 12000000 | 0.023136098 | f:/x264-060506/x264-060506/encoder/cabac.c |
312 | x264_cabac_mb_qp_delta | 4 | 3000000 | 12000000 | 0.023136098 | f:/x264-060506/x264-060506/encoder/cabac.c |
207 | predict_16x16_dc_top | 2 | 6000000 | 12000000 | 0.023136098 | f:/x264-060506/x264-060506/common/predict.c |
213 | predict_8x8c_dc_top | 0 | 12000000 | 0.023136098 | f:/x264-060506/x264-060506/common/predict.c | |
39 | x264_cabac_pos | 4 | 3000000 | 12000000 | 0.023136098 | f:/x264-060506/x264-060506/common/cabac.h |
368 | x264_deblock_h_chroma_intra_mmxext | 1.333333333 | 9000000 | 12000000 | 0.023136098 | |
5058 | x264_encoder_encode | 0 | 9000000 | 0.017352074 | f:/x264-060506/x264-060506/encoder/encoder.c | |
768 | x264_mb_cache_mv_p8x8 | 0 | 9000000 | 0.017352074 | f:/x264-060506/x264-060506/encoder/analyse.c | |
211 | predict_16x16_dc_left | 1.5 | 6000000 | 9000000 | 0.017352074 | f:/x264-060506/x264-060506/common/predict.c |
299 | predict_8x8c_dc_left | 0.75 | 12000000 | 9000000 | 0.017352074 | f:/x264-060506/x264-060506/common/predict.c |
91 | x264_cabac_encode_terminal | 0 | 9000000 | 0.017352074 | f:/x264-060506/x264-060506/common/cabac.c | |
104 | _aulldiv | 3 | 3000000 | 9000000 | 0.017352074 | F:/VS70Builds/3077/vc/crtbld/crt/src/intel/ulldiv.asm |
341 | x264_macroblock_encode_pskip | 0 | 6000000 | 0.011568049 | f:/x264-060506/x264-060506/encoder/macroblock.c | |
130 | x264_psnr | 0 | 6000000 | 0.011568049 | f:/x264-060506/x264-060506/encoder/encoder.c | |
950 | x264_slice_header_write | 0 | 6000000 | 0.011568049 | f:/x264-060506/x264-060506/encoder/encoder.c | |
161 | x264_cabac_encode_ue_bypass | 1 | 6000000 | 6000000 | 0.011568049 | f:/x264-060506/x264-060506/encoder/cabac.c |
100 | x264_add8x8_idct_mmx | 0.333333333 | 18000000 | 6000000 | 0.011568049 | f:/x264-060506/x264-060506/common/i386/dct-c.c |
69 | plane_copy | 0 | 6000000 | 0.011568049 | f:/x264-060506/x264-060506/common/csp.c | |
142 | x264_cabac_context_init | 2 | 3000000 | 6000000 | 0.011568049 | f:/x264-060506/x264-060506/common/cabac.c |
3526 | _output | 0 | 6000000 | 0.011568049 | f:/vs70builds/3077/vc/crtbld/crt/src/output.c | |
52 | _allmul | 2 | 3000000 | 6000000 | 0.011568049 | F:/VS70Builds/3077/vc/crtbld/crt/src/intel/llmul.asm |
173 | __add_12 | 0 | 6000000 | 0.011568049 | ||
600 | _log_pentium4 | 0 | 6000000 | 0.011568049 | ||
96 | x264_quant_2x2_dc_core16_mmxext | 0 | 6000000 | 0.011568049 | ||
802 | x264_ratecontrol_start | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/encoder/ratecontrol.c | |
1051 | x264_mb_encode_i16x16 | 1 | 3000000 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/encoder/macroblock.c |
139 | x264_nal_end | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/encoder/encoder.c | |
426 | x264_slice_init | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/encoder/encoder.c | |
227 | predict_16x16_mode_available | 1 | 3000000 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/encoder/analyse.c |
1625 | x264_cqm_init | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/common/set.c | |
430 | x264_mb_dequant_4x4_dc | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/common/quant.c | |
137 | predict_16x16_dc_128 | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/common/predict.c | |
101 | predict_8x8c_dc_128 | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/common/predict.c | |
575 | x264_macroblock_slice_init | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/common/macroblock.c | |
929 | x264_mb_mc_8x8 | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/common/macroblock.c | |
338 | i420_to_i420 | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/common/csp.c | |
29 | bs_pos | 1 | 3000000 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/common/bs.h |
172 | bs_write_ue | 0 | 3000000 | 0.005784025 | f:/x264-060506/x264-060506/common/bs.h | |
1100 | _read | 0 | 3000000 | 0.005784025 | f:/vs70builds/3077/vc/crtbld/crt/src/read.c | |
1242 | I10_OUTPUT | 1 | 3000000 | 3000000 | 0.005784025 | |
62 | __addl | 0 | 3000000 | 0.005784025 | ||
332 | __dtold | 0 | 3000000 | 0.005784025 | ||
1007 | __ld12mul | 0.5 | 6000000 | 3000000 | 0.005784025 | |
389 | _cftof | 0 | 3000000 | 0.005784025 | ||
675 | x264_pixel_ssd_wxh | 0 | 6000000 | 0 | 0 | f:/x264-060506/x264-060506/common/pixel.c |
108 | write_string | 0 | 3000000 | 0 | 0 | f:/vs70builds/3077/vc/crtbld/crt/src/output.c |
467 | _filbuf | 0 | 3000000 | 0 | 0 | f:/vs70builds/3077/vc/crtbld/crt/src/_filbuf.c |