mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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
This commit is contained in:
parent
694c5a2850
commit
3d1b1caa6b
@ -511,6 +511,11 @@ CAVS_MC(put_, 16)
|
||||
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; \
|
||||
|
@ -1161,7 +1161,7 @@ CALL_2X_PIXELS(OPNAME ## _pixels16_c , OPNAME ## _pixels8_c , 8)\
|
||||
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 @@ PIXOP2(put, op_put)
|
||||
#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 ## mpeg4_qpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dst
|
||||
}\
|
||||
}\
|
||||
\
|
||||
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 @@ static void OPNAME ## qpel8_mc22_c(uint8_t *dst, uint8_t *src, int stride){\
|
||||
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 @@ QPEL_MC(0, avg_ , _ , op_avg)
|
||||
#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 @@ static void OPNAME ## h264_qpel16_hv_lowpass(uint8_t *dst, int16_t *tmp, uint8_t
|
||||
}\
|
||||
|
||||
#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 @@ H264_MC(avg_, 16)
|
||||
#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 @@ static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int
|
||||
}
|
||||
}
|
||||
|
||||
#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 wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int
|
||||
}
|
||||
}
|
||||
|
||||
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 @@ av_cold void dsputil_init(DSPContext* c, AVCodecContext *avctx)
|
||||
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;
|
||||
|
@ -82,6 +82,11 @@ extern const uint8_t ff_zigzag248_direct[64];
|
||||
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_c (DCTELEM *block);
|
||||
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);
|
||||
|
||||
|
@ -630,7 +630,7 @@ av_cold void ff_vc1dsp_init(DSPContext* dsp, AVCodecContext *avctx) {
|
||||
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 @@ av_cold void ff_vc1dsp_init(DSPContext* dsp, AVCodecContext *avctx) {
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user