[x264-devel] PPC profile/benchmarks/computational complexity

R. Brouard opensource at musemagic.com
Tue Dec 9 22:29:59 CET 2008


Thx.

What I want to do?  Buy a small island in the BC CAN area, write a
novella illustrating my deepest stream of consciousness...

;)  I'm looking at some embedded ports where they are using a PPC based
core.  

Thx for the below, I'm also looking for, with all vectorized instr. on,
"extreme" profile, target bitrate, input mode.  As you would expect to
see in a computational complexity or a "MIPS" document from say ARM or
TI. So total CPU time, total size of input test stream, fps, memory
usage requirements and then a breakdown of each module

My apologies for the newbie nomenclature vs. what you are using.  I am
looking to expand, leverage on your existing optimizations and port and
just joined this list.  So, also ramping up.  

But first I have to give benchmark feasibility that x264 will "fit" to
move forward, thus your G4 benchmarking is most applicable to map an
est. over.  
 

On Tue, 2008-12-09 at 22:08 +0100, Guillaume POIRIER wrote:
> Hello,
> 
> On Tue, Dec 9, 2008 at 9:37 PM, Roberta <opensource at musemagic.com> wrote:
> > It has to do with a project I am looking at and
> > I cannot enable verbose mode on a PPC because I do not possess a PPC to
> > run the code on.  I need the numbers to consider a particular effort in
> > a port.
> 
> Ok, I guess my sarcasm doesn't didn't survive the translation. I
> meant: please give more details of what _exactly_ you want to do.
> 
> x264 already has a PPC port with routines vectorized with
> Altivec/VMX/VelocityEngine instructions, but there are still a lot to
> do if we want to bring PPC port on par with x86 port. Any help is more
> than welcome.
> 
> I _think_ that you were requesting a profile of x264 on an PPC
> machine. Here's one on a G4 with quite extreme setting (the ones you'd
> use for extra good picture quality):
> 
> 8.5%           pixel_sad_x4_16x16_altivec x264
> 8.4%             pixel_sad_x4_8x8_altivec x264
> 7.7%                      get_ref_altivec x264
> 5.3%                   x264_me_search_ref x264
> 4.8%                    pixel_hadamard_ac x264
> 3.7%                    mc_chroma_altivec x264
> 3.1%           block_residual_write_cabac x264
> 3.0%                      pixel_avg_16x16 x264
> 3.0%               x264_quant_8x8_trellis x264
> 2.9%              pixel_sad_16x16_altivec x264
> 2.8%               pixel_satd_8x8_altivec x264
> 2.4%                   x264_pixel_sad_4x4 x264
> 2.3%             pixel_satd_16x16_altivec x264
> 1.8%               pixel_satd_4x4_altivec x264
> 1.4%                             __memcpy /usr/lib/libSystem.B.dylib
> 1.3%            pixel_sad_x4_8x16_altivec x264
> 1.3%                        refine_subpel x264
> 1.3%                pixel_sad_8x8_altivec x264
> 1.1%               x264_quant_4x4_altivec x264
> 1.1%               x264_macroblock_encode x264
> 1.1%            x264_mb_encode_8x8_chroma x264
> 0.9%            x264_add8x8_idct8_altivec x264
> 0.8%               x264_quant_4x4_trellis x264
> 0.8%           x264_macroblock_size_cabac x264
> 0.8%                        pixel_avg_8x8 x264
> 0.8%              x264_sub8x8_dct_altivec x264
> 0.8%                    x264_cabac_mb_mvd x264
> 0.7%             x264_sub8x8_dct8_altivec x264
> 0.7%             x264_add4x4_idct_altivec x264
> 0.7%            pixel_sad_x4_16x8_altivec x264
> 0.7%                zigzag_scan_8x8_frame x264
> 0.7%          pixel_sa8d_8x8_core_altivec x264
> 0.7%                x264_mb_analyse_intra x264
> 0.7%              pixel_satd_8x16_altivec x264
> 0.6%                   x264_pixel_sad_4x8 x264
> 0.6%              x264_macroblock_analyse x264
> 0.6%           x264_macroblock_cache_load x264
> 0.6%                x264_decimate_score64 x264
> 0.5%                   x264_pixel_sad_8x4 x264
> 0.5%             x264_dequant_8x8_altivec x264
> 0.5%               x264_quant_8x8_altivec x264
> 0.5%                      mc_luma_altivec x264
> 0.5%                   x264_mb_predict_mv x264
> 0.5%              pixel_satd_16x8_altivec x264
> 0.5%             pixel_sad_x3_8x8_altivec x264
> 0.5%             x264_dequant_4x4_altivec x264
> 0.5%            x264_partition_size_cabac x264
> 0.4%               frame_init_lowres_core x264
> 0.4%          x264_mb_predict_mv_ref16x16 x264
> 0.4%                x264_decimate_score15 x264
> 0.4%                x264_decimate_score16 x264
> 0.3%         x264_cabac_encode_decision_c x264
> 0.3%   x264_zigzag_scan_4x4_frame_altivec x264
> 0.3%                pixel_ssd_8x8_altivec x264
> 0.3%           pixel_sad_x3_16x16_altivec x264
> 0.3%              pixel_ssd_16x16_altivec x264
> 0.3%               x264_me_refine_qpel_rd x264
> 0.3%                            ssim_end4 x264
> 0.3%                       x264_mb_mc_8x8 x264
> 0.3%            ml_set_interrupts_enabled              /mach_kernel
> 0.2%              x264_sub4x4_dct_altivec x264
> 0.2%              x264_me_refine_bidir_rd x264
> 0.2%           x264_macroblock_cache_save x264
> 0.2%                    x264_mb_mc_01xywh x264
> 0.2%          x264_macroblock_write_cabac x264
> 0.2%             x264_hpel_filter_altivec x264
> 0.2%                    x264_coeff_last64 x264
> 0.2%                    x264_rd_cost_part x264
> 0.2%            x264_analyse_update_cache x264
> 0.2%               pixel_sad_8x16_altivec x264
> 0.2%                    x264_coeff_last16 x264
> 0.2%                           x264_mb_mc x264
> 0.2%          x264_macroblock_encode_p8x8 x264
> 0.2%              ssim_4x4x2_core_altivec x264
> 0.2%              x264_predict_8x8_filter x264
> 0.2%            x264_me_refine_bidir_satd x264
> 0.2%       x264_mb_predict_mv_direct16x16 x264
> 0.2%                x264_pixel_sad_x4_4x4 x264
> 0.2%                 x264_intra_rd_refine x264
> 0.2%                 x264_pixel_var_16x16 x264
> 0.2%               pixel_satd_8x4_altivec x264
> 0.2%               pixel_sad_16x8_altivec x264
> 0.2%                              mc_copy x264
> 0.1%            x264_quant_2x2_dc_altivec x264
> 0.1%                      x264_rd_cost_mb x264
> 0.1%               pixel_satd_4x8_altivec x264
> 0.1%                       predict_8x8c_p x264
> 0.1%                              __bzero /usr/lib/libSystem.B.dylib
> 0.1%         x264_mb_analyse_inter_b16x16 x264
> 0.1%                  x264_mb_encode_i4x4 x264
> 0.1%           x264_mb_analyse_inter_b8x8 x264
> 0.1%           x264_mb_analyse_inter_p4x4 x264
> 0.1%                       predict_8x8_vr x264
> 0.1%              predict_16x16_p_altivec x264
> 0.1%               x264_slicetype_mb_cost x264
> 0.1%                       predict_8x8_vl x264
> 0.1%                x264_mb_cache_mv_b8x8 x264
> 0.1%                        pixel_avg_4x4 x264
> 0.1%                   x264_pixel_var_8x8 x264
> 0.1%                      predict_8x8_ddr x264
> 0.1%                      predict_8x8_ddl x264
> 0.1%                    x264_cabac_mb_ref x264
> 0.1%     x264_cabac_mb_intra4x4_pred_mode x264
> 0.1%         x264_pixel_hadamard_ac_16x16 x264
> 0.1%                  x264_pixel_ssd_8x16 x264
> 0.1%                x264_pixel_sad_x3_4x4 x264
> 0.1%         x264_mb_analyse_inter_p16x16 x264
> 0.1%                       predict_8x8_hu x264
> 0.1%                       predict_8x8_hd x264
> 0.1%                  x264_ratecontrol_mb x264
> 0.1%                       predict_4x4_vr x264
> 0.1%                  x264_mb_encode_i8x8 x264
> 0.1%             x264_mb_predict_mv_16x16 x264
> 0.1%                   x264_cabac_mb_type x264
> 0.1%            pixel_sad_x3_8x16_altivec x264
> 0.1%                    x264_slices_write x264
> 0.1%                   x264_pixel_ssd_4x8 x264
> 0.1%                      predict_8x8c_dc x264
> 0.1%                      predict_4x4_ddr x264
> 0.1%            pixel_sad_x3_16x8_altivec x264
> 0.1%                 x264_mb_analyse_p_rd x264
> 0.1%                       pixel_avg_8x16 x264
> 0.1%                       pixel_avg_16x8 x264
> 0.1%                   deblock_v_chroma_c x264
> 0.1%                 x264_mb_mc_direct8x8 x264
> 0.1%                x264_mb_cache_mv_p8x8 x264
> 0.1%             x264_cabac_mb_cbp_chroma x264
> 0.1%                       predict_4x4_hd x264
> 
> Note that I didn't include the routines which weighted less than 0.1%
> Guillaume



More information about the x264-devel mailing list