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
| ... | ... |
@@ -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; |