Browse code

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.

Originally committed as revision 24933 to svn://svn.ffmpeg.org/ffmpeg/trunk

Måns Rullgård authored on 2010/08/26 05:14:21
Showing 4 changed files
... ...
@@ -511,6 +511,11 @@ CAVS_MC(put_, 16)
511 511
 CAVS_MC(avg_, 8)
512 512
 CAVS_MC(avg_, 16)
513 513
 
514
+#define ff_put_cavs_qpel8_mc00_c  ff_put_pixels8x8_c
515
+#define ff_avg_cavs_qpel8_mc00_c  ff_avg_pixels8x8_c
516
+#define ff_put_cavs_qpel16_mc00_c ff_put_pixels16x16_c
517
+#define ff_avg_cavs_qpel16_mc00_c ff_avg_pixels16x16_c
518
+
514 519
 av_cold void ff_cavsdsp_init(CAVSDSPContext* c, AVCodecContext *avctx) {
515 520
 #define dspfunc(PFX, IDX, NUM) \
516 521
     c->PFX ## _pixels_tab[IDX][ 0] = ff_ ## PFX ## NUM ## _mc00_c; \
... ...
@@ -1161,7 +1161,7 @@ CALL_2X_PIXELS(OPNAME ## _pixels16_c  , OPNAME ## _pixels8_c  , 8)\
1161 1161
 CALL_2X_PIXELS(OPNAME ## _pixels16_x2_c , OPNAME ## _pixels8_x2_c , 8)\
1162 1162
 CALL_2X_PIXELS(OPNAME ## _pixels16_y2_c , OPNAME ## _pixels8_y2_c , 8)\
1163 1163
 CALL_2X_PIXELS(OPNAME ## _pixels16_xy2_c, OPNAME ## _pixels8_xy2_c, 8)\
1164
-CALL_2X_PIXELS(OPNAME ## _no_rnd_pixels16_c  , OPNAME ## _pixels8_c         , 8)\
1164
+av_unused CALL_2X_PIXELS(OPNAME ## _no_rnd_pixels16_c  , OPNAME ## _pixels8_c         , 8)\
1165 1165
 CALL_2X_PIXELS(OPNAME ## _no_rnd_pixels16_x2_c , OPNAME ## _no_rnd_pixels8_x2_c , 8)\
1166 1166
 CALL_2X_PIXELS(OPNAME ## _no_rnd_pixels16_y2_c , OPNAME ## _no_rnd_pixels8_y2_c , 8)\
1167 1167
 CALL_2X_PIXELS(OPNAME ## _no_rnd_pixels16_xy2_c, OPNAME ## _no_rnd_pixels8_xy2_c, 8)\
... ...
@@ -1175,6 +1175,9 @@ PIXOP2(put, op_put)
1175 1175
 #undef op_avg
1176 1176
 #undef op_put
1177 1177
 
1178
+#define put_no_rnd_pixels8_c  put_pixels8_c
1179
+#define put_no_rnd_pixels16_c put_pixels16_c
1180
+
1178 1181
 #define avg2(a,b) ((a+b+1)>>1)
1179 1182
 #define avg4(a,b,c,d) ((a+b+c+d+2)>>2)
1180 1183
 
... ...
@@ -1757,10 +1760,6 @@ static void OPNAME ## mpeg4_qpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dst
1757 1757
     }\
1758 1758
 }\
1759 1759
 \
1760
-static void OPNAME ## qpel8_mc00_c (uint8_t *dst, uint8_t *src, int stride){\
1761
-    OPNAME ## pixels8_c(dst, src, stride, 8);\
1762
-}\
1763
-\
1764 1760
 static void OPNAME ## qpel8_mc10_c(uint8_t *dst, uint8_t *src, int stride){\
1765 1761
     uint8_t half[64];\
1766 1762
     put ## RND ## mpeg4_qpel8_h_lowpass(half, src, 8, stride, 8);\
... ...
@@ -1939,9 +1938,6 @@ static void OPNAME ## qpel8_mc22_c(uint8_t *dst, uint8_t *src, int stride){\
1939 1939
     put ## RND ## mpeg4_qpel8_h_lowpass(halfH, src, 8, stride, 9);\
1940 1940
     OPNAME ## mpeg4_qpel8_v_lowpass(dst, halfH, stride, 8);\
1941 1941
 }\
1942
-static void OPNAME ## qpel16_mc00_c (uint8_t *dst, uint8_t *src, int stride){\
1943
-    OPNAME ## pixels16_c(dst, src, stride, 16);\
1944
-}\
1945 1942
 \
1946 1943
 static void OPNAME ## qpel16_mc10_c(uint8_t *dst, uint8_t *src, int stride){\
1947 1944
     uint8_t half[256];\
... ...
@@ -2136,6 +2132,13 @@ QPEL_MC(0, avg_       , _       , op_avg)
2136 2136
 #undef op_put
2137 2137
 #undef op_put_no_rnd
2138 2138
 
2139
+#define put_qpel8_mc00_c  ff_put_pixels8x8_c
2140
+#define avg_qpel8_mc00_c  ff_avg_pixels8x8_c
2141
+#define put_qpel16_mc00_c ff_put_pixels16x16_c
2142
+#define avg_qpel16_mc00_c ff_avg_pixels16x16_c
2143
+#define put_no_rnd_qpel8_mc00_c  ff_put_pixels8x8_c
2144
+#define put_no_rnd_qpel16_mc00_c ff_put_pixels16x16_c
2145
+
2139 2146
 #if 1
2140 2147
 #define H264_LOWPASS(OPNAME, OP, OP2) \
2141 2148
 static av_unused void OPNAME ## h264_qpel2_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
... ...
@@ -2402,7 +2405,7 @@ static void OPNAME ## h264_qpel16_hv_lowpass(uint8_t *dst, int16_t *tmp, uint8_t
2402 2402
 }\
2403 2403
 
2404 2404
 #define H264_MC(OPNAME, SIZE) \
2405
-static void OPNAME ## h264_qpel ## SIZE ## _mc00_c (uint8_t *dst, uint8_t *src, int stride){\
2405
+static av_unused void OPNAME ## h264_qpel ## SIZE ## _mc00_c (uint8_t *dst, uint8_t *src, int stride){\
2406 2406
     OPNAME ## pixels ## SIZE ## _c(dst, src, stride, SIZE);\
2407 2407
 }\
2408 2408
 \
... ...
@@ -2560,6 +2563,11 @@ H264_MC(avg_, 16)
2560 2560
 #undef op2_put
2561 2561
 #endif
2562 2562
 
2563
+#define put_h264_qpel8_mc00_c  ff_put_pixels8x8_c
2564
+#define avg_h264_qpel8_mc00_c  ff_avg_pixels8x8_c
2565
+#define put_h264_qpel16_mc00_c ff_put_pixels16x16_c
2566
+#define avg_h264_qpel16_mc00_c ff_avg_pixels16x16_c
2567
+
2563 2568
 static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){
2564 2569
     uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
2565 2570
     int i;
... ...
@@ -2578,31 +2586,18 @@ static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int
2578 2578
     }
2579 2579
 }
2580 2580
 
2581
-#if CONFIG_CAVS_DECODER
2582
-/* AVS specific */
2583
-void ff_put_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride) {
2581
+void ff_put_pixels8x8_c(uint8_t *dst, uint8_t *src, int stride) {
2584 2582
     put_pixels8_c(dst, src, stride, 8);
2585 2583
 }
2586
-void ff_avg_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride) {
2584
+void ff_avg_pixels8x8_c(uint8_t *dst, uint8_t *src, int stride) {
2587 2585
     avg_pixels8_c(dst, src, stride, 8);
2588 2586
 }
2589
-void ff_put_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride) {
2587
+void ff_put_pixels16x16_c(uint8_t *dst, uint8_t *src, int stride) {
2590 2588
     put_pixels16_c(dst, src, stride, 16);
2591 2589
 }
2592
-void ff_avg_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride) {
2590
+void ff_avg_pixels16x16_c(uint8_t *dst, uint8_t *src, int stride) {
2593 2591
     avg_pixels16_c(dst, src, stride, 16);
2594 2592
 }
2595
-#endif /* CONFIG_CAVS_DECODER */
2596
-
2597
-#if CONFIG_VC1_DECODER
2598
-/* VC-1 specific */
2599
-void ff_put_vc1_mspel_mc00_c(uint8_t *dst, const uint8_t *src, int stride, int rnd) {
2600
-    put_pixels8_c(dst, src, stride, 8);
2601
-}
2602
-void ff_avg_vc1_mspel_mc00_c(uint8_t *dst, const uint8_t *src, int stride, int rnd) {
2603
-    avg_pixels8_c(dst, src, stride, 8);
2604
-}
2605
-#endif /* CONFIG_VC1_DECODER */
2606 2593
 
2607 2594
 #if CONFIG_RV40_DECODER
2608 2595
 static void put_rv40_qpel16_mc33_c(uint8_t *dst, uint8_t *src, int stride){
... ...
@@ -2648,10 +2643,6 @@ static void wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int
2648 2648
     }
2649 2649
 }
2650 2650
 
2651
-static void put_mspel8_mc00_c (uint8_t *dst, uint8_t *src, int stride){
2652
-    put_pixels8_c(dst, src, stride, 8);
2653
-}
2654
-
2655 2651
 static void put_mspel8_mc10_c(uint8_t *dst, uint8_t *src, int stride){
2656 2652
     uint8_t half[64];
2657 2653
     wmv2_mspel8_h_lowpass(half, src, 8, stride, 8);
... ...
@@ -4363,7 +4354,7 @@ av_cold void dsputil_init(DSPContext* c, AVCodecContext *avctx)
4363 4363
     c->avg_rv40_qpel_pixels_tab[1][15] = avg_rv40_qpel8_mc33_c;
4364 4364
 #endif
4365 4365
 
4366
-    c->put_mspel_pixels_tab[0]= put_mspel8_mc00_c;
4366
+    c->put_mspel_pixels_tab[0]= ff_put_pixels8x8_c;
4367 4367
     c->put_mspel_pixels_tab[1]= put_mspel8_mc10_c;
4368 4368
     c->put_mspel_pixels_tab[2]= put_mspel8_mc20_c;
4369 4369
     c->put_mspel_pixels_tab[3]= put_mspel8_mc30_c;
... ...
@@ -82,6 +82,11 @@ extern const uint8_t ff_zigzag248_direct[64];
82 82
 extern uint32_t ff_squareTbl[512];
83 83
 extern uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP];
84 84
 
85
+void ff_put_pixels8x8_c(uint8_t *dst, uint8_t *src, int stride);
86
+void ff_avg_pixels8x8_c(uint8_t *dst, uint8_t *src, int stride);
87
+void ff_put_pixels16x16_c(uint8_t *dst, uint8_t *src, int stride);
88
+void ff_avg_pixels16x16_c(uint8_t *dst, uint8_t *src, int stride);
89
+
85 90
 /* VP3 DSP functions */
86 91
 void ff_vp3_idct_c(DCTELEM *block/* align 16*/);
87 92
 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_c    (DCTELEM *block);
96 96
 void ff_bink_idct_add_c(uint8_t *dest, int linesize, DCTELEM *block);
97 97
 void ff_bink_idct_put_c(uint8_t *dest, int linesize, DCTELEM *block);
98 98
 
99
-/* CAVS functions */
100
-void ff_put_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride);
101
-void ff_avg_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride);
102
-void ff_put_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride);
103
-void ff_avg_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride);
104
-
105
-/* VC1 functions */
106
-void ff_put_vc1_mspel_mc00_c(uint8_t *dst, const uint8_t *src, int stride, int rnd);
107
-void ff_avg_vc1_mspel_mc00_c(uint8_t *dst, const uint8_t *src, int stride, int rnd);
108
-
109 99
 /* EA functions */
110 100
 void ff_ea_idct_put_c(uint8_t *dest, int linesize, DCTELEM *block);
111 101
 
... ...
@@ -630,7 +630,7 @@ av_cold void ff_vc1dsp_init(DSPContext* dsp, AVCodecContext *avctx) {
630 630
     dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_c;
631 631
     dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_c;
632 632
 
633
-    dsp->put_vc1_mspel_pixels_tab[ 0] = ff_put_vc1_mspel_mc00_c;
633
+    dsp->put_vc1_mspel_pixels_tab[ 0] = ff_put_pixels8x8_c;
634 634
     dsp->put_vc1_mspel_pixels_tab[ 1] = put_vc1_mspel_mc10_c;
635 635
     dsp->put_vc1_mspel_pixels_tab[ 2] = put_vc1_mspel_mc20_c;
636 636
     dsp->put_vc1_mspel_pixels_tab[ 3] = put_vc1_mspel_mc30_c;
... ...
@@ -647,7 +647,7 @@ av_cold void ff_vc1dsp_init(DSPContext* dsp, AVCodecContext *avctx) {
647 647
     dsp->put_vc1_mspel_pixels_tab[14] = put_vc1_mspel_mc23_c;
648 648
     dsp->put_vc1_mspel_pixels_tab[15] = put_vc1_mspel_mc33_c;
649 649
 
650
-    dsp->avg_vc1_mspel_pixels_tab[ 0] = ff_avg_vc1_mspel_mc00_c;
650
+    dsp->avg_vc1_mspel_pixels_tab[ 0] = ff_avg_pixels8x8_c;
651 651
     dsp->avg_vc1_mspel_pixels_tab[ 1] = avg_vc1_mspel_mc10_c;
652 652
     dsp->avg_vc1_mspel_pixels_tab[ 2] = avg_vc1_mspel_mc20_c;
653 653
     dsp->avg_vc1_mspel_pixels_tab[ 3] = avg_vc1_mspel_mc30_c;