# HG changeset patch # User mru # Date 1282767261 0 # Node ID 4269ae88366bfe94ad11e47e7dbdf6606143d659 # Parent ce660f4bda0df788e01a925b0b067b6d64105737 Remove duplicate definitions of fullpel MC functions This removes duplicated definitions of 8x8 and 16x16 fullpel MC functions with various names reducing dsputil.o by 8k on x86_64. diff -r ce660f4bda0d -r 4269ae88366b cavsdsp.c --- a/cavsdsp.c Wed Aug 25 20:14:17 2010 +0000 +++ b/cavsdsp.c Wed Aug 25 20:14:21 2010 +0000 @@ -511,6 +511,11 @@ CAVS_MC(avg_, 8) CAVS_MC(avg_, 16) +#define ff_put_cavs_qpel8_mc00_c ff_put_pixels8x8_c +#define ff_avg_cavs_qpel8_mc00_c ff_avg_pixels8x8_c +#define ff_put_cavs_qpel16_mc00_c ff_put_pixels16x16_c +#define ff_avg_cavs_qpel16_mc00_c ff_avg_pixels16x16_c + av_cold void ff_cavsdsp_init(CAVSDSPContext* c, AVCodecContext *avctx) { #define dspfunc(PFX, IDX, NUM) \ c->PFX ## _pixels_tab[IDX][ 0] = ff_ ## PFX ## NUM ## _mc00_c; \ diff -r ce660f4bda0d -r 4269ae88366b dsputil.c --- a/dsputil.c Wed Aug 25 20:14:17 2010 +0000 +++ b/dsputil.c Wed Aug 25 20:14:21 2010 +0000 @@ -1161,7 +1161,7 @@ CALL_2X_PIXELS(OPNAME ## _pixels16_x2_c , OPNAME ## _pixels8_x2_c , 8)\ CALL_2X_PIXELS(OPNAME ## _pixels16_y2_c , OPNAME ## _pixels8_y2_c , 8)\ CALL_2X_PIXELS(OPNAME ## _pixels16_xy2_c, OPNAME ## _pixels8_xy2_c, 8)\ -CALL_2X_PIXELS(OPNAME ## _no_rnd_pixels16_c , OPNAME ## _pixels8_c , 8)\ +av_unused CALL_2X_PIXELS(OPNAME ## _no_rnd_pixels16_c , OPNAME ## _pixels8_c , 8)\ CALL_2X_PIXELS(OPNAME ## _no_rnd_pixels16_x2_c , OPNAME ## _no_rnd_pixels8_x2_c , 8)\ CALL_2X_PIXELS(OPNAME ## _no_rnd_pixels16_y2_c , OPNAME ## _no_rnd_pixels8_y2_c , 8)\ CALL_2X_PIXELS(OPNAME ## _no_rnd_pixels16_xy2_c, OPNAME ## _no_rnd_pixels8_xy2_c, 8)\ @@ -1175,6 +1175,9 @@ #undef op_avg #undef op_put +#define put_no_rnd_pixels8_c put_pixels8_c +#define put_no_rnd_pixels16_c put_pixels16_c + #define avg2(a,b) ((a+b+1)>>1) #define avg4(a,b,c,d) ((a+b+c+d+2)>>2) @@ -1757,10 +1760,6 @@ }\ }\ \ -static void OPNAME ## qpel8_mc00_c (uint8_t *dst, uint8_t *src, int stride){\ - OPNAME ## pixels8_c(dst, src, stride, 8);\ -}\ -\ static void OPNAME ## qpel8_mc10_c(uint8_t *dst, uint8_t *src, int stride){\ uint8_t half[64];\ put ## RND ## mpeg4_qpel8_h_lowpass(half, src, 8, stride, 8);\ @@ -1939,9 +1938,6 @@ put ## RND ## mpeg4_qpel8_h_lowpass(halfH, src, 8, stride, 9);\ OPNAME ## mpeg4_qpel8_v_lowpass(dst, halfH, stride, 8);\ }\ -static void OPNAME ## qpel16_mc00_c (uint8_t *dst, uint8_t *src, int stride){\ - OPNAME ## pixels16_c(dst, src, stride, 16);\ -}\ \ static void OPNAME ## qpel16_mc10_c(uint8_t *dst, uint8_t *src, int stride){\ uint8_t half[256];\ @@ -2136,6 +2132,13 @@ #undef op_put #undef op_put_no_rnd +#define put_qpel8_mc00_c ff_put_pixels8x8_c +#define avg_qpel8_mc00_c ff_avg_pixels8x8_c +#define put_qpel16_mc00_c ff_put_pixels16x16_c +#define avg_qpel16_mc00_c ff_avg_pixels16x16_c +#define put_no_rnd_qpel8_mc00_c ff_put_pixels8x8_c +#define put_no_rnd_qpel16_mc00_c ff_put_pixels16x16_c + #if 1 #define H264_LOWPASS(OPNAME, OP, OP2) \ static av_unused void OPNAME ## h264_qpel2_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ @@ -2402,7 +2405,7 @@ }\ #define H264_MC(OPNAME, SIZE) \ -static void OPNAME ## h264_qpel ## SIZE ## _mc00_c (uint8_t *dst, uint8_t *src, int stride){\ +static av_unused void OPNAME ## h264_qpel ## SIZE ## _mc00_c (uint8_t *dst, uint8_t *src, int stride){\ OPNAME ## pixels ## SIZE ## _c(dst, src, stride, SIZE);\ }\ \ @@ -2560,6 +2563,11 @@ #undef op2_put #endif +#define put_h264_qpel8_mc00_c ff_put_pixels8x8_c +#define avg_h264_qpel8_mc00_c ff_avg_pixels8x8_c +#define put_h264_qpel16_mc00_c ff_put_pixels16x16_c +#define avg_h264_qpel16_mc00_c ff_avg_pixels16x16_c + static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){ uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; int i; @@ -2578,31 +2586,18 @@ } } -#if CONFIG_CAVS_DECODER -/* AVS specific */ -void ff_put_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride) { +void ff_put_pixels8x8_c(uint8_t *dst, uint8_t *src, int stride) { put_pixels8_c(dst, src, stride, 8); } -void ff_avg_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride) { +void ff_avg_pixels8x8_c(uint8_t *dst, uint8_t *src, int stride) { avg_pixels8_c(dst, src, stride, 8); } -void ff_put_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride) { +void ff_put_pixels16x16_c(uint8_t *dst, uint8_t *src, int stride) { put_pixels16_c(dst, src, stride, 16); } -void ff_avg_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride) { +void ff_avg_pixels16x16_c(uint8_t *dst, uint8_t *src, int stride) { avg_pixels16_c(dst, src, stride, 16); } -#endif /* CONFIG_CAVS_DECODER */ - -#if CONFIG_VC1_DECODER -/* VC-1 specific */ -void ff_put_vc1_mspel_mc00_c(uint8_t *dst, const uint8_t *src, int stride, int rnd) { - put_pixels8_c(dst, src, stride, 8); -} -void ff_avg_vc1_mspel_mc00_c(uint8_t *dst, const uint8_t *src, int stride, int rnd) { - avg_pixels8_c(dst, src, stride, 8); -} -#endif /* CONFIG_VC1_DECODER */ #if CONFIG_RV40_DECODER static void put_rv40_qpel16_mc33_c(uint8_t *dst, uint8_t *src, int stride){ @@ -2648,10 +2643,6 @@ } } -static void put_mspel8_mc00_c (uint8_t *dst, uint8_t *src, int stride){ - put_pixels8_c(dst, src, stride, 8); -} - static void put_mspel8_mc10_c(uint8_t *dst, uint8_t *src, int stride){ uint8_t half[64]; wmv2_mspel8_h_lowpass(half, src, 8, stride, 8); @@ -4363,7 +4354,7 @@ c->avg_rv40_qpel_pixels_tab[1][15] = avg_rv40_qpel8_mc33_c; #endif - c->put_mspel_pixels_tab[0]= put_mspel8_mc00_c; + c->put_mspel_pixels_tab[0]= ff_put_pixels8x8_c; c->put_mspel_pixels_tab[1]= put_mspel8_mc10_c; c->put_mspel_pixels_tab[2]= put_mspel8_mc20_c; c->put_mspel_pixels_tab[3]= put_mspel8_mc30_c; diff -r ce660f4bda0d -r 4269ae88366b dsputil.h --- a/dsputil.h Wed Aug 25 20:14:17 2010 +0000 +++ b/dsputil.h Wed Aug 25 20:14:21 2010 +0000 @@ -82,6 +82,11 @@ extern uint32_t ff_squareTbl[512]; extern uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP]; +void ff_put_pixels8x8_c(uint8_t *dst, uint8_t *src, int stride); +void ff_avg_pixels8x8_c(uint8_t *dst, uint8_t *src, int stride); +void ff_put_pixels16x16_c(uint8_t *dst, uint8_t *src, int stride); +void ff_avg_pixels16x16_c(uint8_t *dst, uint8_t *src, int stride); + /* VP3 DSP functions */ void ff_vp3_idct_c(DCTELEM *block/* align 16*/); void ff_vp3_idct_put_c(uint8_t *dest/*align 8*/, int line_size, DCTELEM *block/*align 16*/); @@ -96,16 +101,6 @@ void ff_bink_idct_add_c(uint8_t *dest, int linesize, DCTELEM *block); void ff_bink_idct_put_c(uint8_t *dest, int linesize, DCTELEM *block); -/* CAVS functions */ -void ff_put_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride); -void ff_avg_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride); -void ff_put_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride); -void ff_avg_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride); - -/* VC1 functions */ -void ff_put_vc1_mspel_mc00_c(uint8_t *dst, const uint8_t *src, int stride, int rnd); -void ff_avg_vc1_mspel_mc00_c(uint8_t *dst, const uint8_t *src, int stride, int rnd); - /* EA functions */ void ff_ea_idct_put_c(uint8_t *dest, int linesize, DCTELEM *block); diff -r ce660f4bda0d -r 4269ae88366b vc1dsp.c --- a/vc1dsp.c Wed Aug 25 20:14:17 2010 +0000 +++ b/vc1dsp.c Wed Aug 25 20:14:21 2010 +0000 @@ -630,7 +630,7 @@ dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_c; dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_c; - dsp->put_vc1_mspel_pixels_tab[ 0] = ff_put_vc1_mspel_mc00_c; + dsp->put_vc1_mspel_pixels_tab[ 0] = ff_put_pixels8x8_c; dsp->put_vc1_mspel_pixels_tab[ 1] = put_vc1_mspel_mc10_c; dsp->put_vc1_mspel_pixels_tab[ 2] = put_vc1_mspel_mc20_c; dsp->put_vc1_mspel_pixels_tab[ 3] = put_vc1_mspel_mc30_c; @@ -647,7 +647,7 @@ dsp->put_vc1_mspel_pixels_tab[14] = put_vc1_mspel_mc23_c; dsp->put_vc1_mspel_pixels_tab[15] = put_vc1_mspel_mc33_c; - dsp->avg_vc1_mspel_pixels_tab[ 0] = ff_avg_vc1_mspel_mc00_c; + dsp->avg_vc1_mspel_pixels_tab[ 0] = ff_avg_pixels8x8_c; dsp->avg_vc1_mspel_pixels_tab[ 1] = avg_vc1_mspel_mc10_c; dsp->avg_vc1_mspel_pixels_tab[ 2] = avg_vc1_mspel_mc20_c; dsp->avg_vc1_mspel_pixels_tab[ 3] = avg_vc1_mspel_mc30_c;