diff options
author | Diego Biurrun <diego@biurrun.de> | 2013-12-21 17:33:17 +0100 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2014-03-22 06:17:29 -0700 |
commit | 322a1dda973e802db7b57f2007fad3efcd5bab81 (patch) | |
tree | b90c1ebb0502547287ecf732e122c7dd810dfec8 /libavcodec/x86 | |
parent | f9279ee74936b4990fc46287c27816ef828cc06c (diff) | |
download | ffmpeg-322a1dda973e802db7b57f2007fad3efcd5bab81.tar.gz |
dsputil: Refactor duplicated CALL_2X_PIXELS / PIXELS16 macros
Diffstat (limited to 'libavcodec/x86')
-rw-r--r-- | libavcodec/x86/dsputil_init.c | 5 | ||||
-rw-r--r-- | libavcodec/x86/dsputil_x86.h | 12 | ||||
-rw-r--r-- | libavcodec/x86/h264_qpel.c | 5 | ||||
-rw-r--r-- | libavcodec/x86/hpeldsp_init.c | 29 | ||||
-rw-r--r-- | libavcodec/x86/rnd_mmx.c | 5 |
5 files changed, 24 insertions, 32 deletions
diff --git a/libavcodec/x86/dsputil_init.c b/libavcodec/x86/dsputil_init.c index 288d1af0ad..7b52874e05 100644 --- a/libavcodec/x86/dsputil_init.c +++ b/libavcodec/x86/dsputil_init.c @@ -24,6 +24,7 @@ #include "libavutil/x86/cpu.h" #include "libavcodec/avcodec.h" #include "libavcodec/dsputil.h" +#include "libavcodec/pixels.h" #include "libavcodec/simple_idct.h" #include "libavcodec/version.h" #include "dsputil_x86.h" @@ -107,8 +108,8 @@ void ff_vector_clip_int32_sse4(int32_t *dst, const int32_t *src, #if HAVE_YASM -PIXELS16(static, ff_avg, , , _mmxext) -PIXELS16(static, ff_put, , , _mmxext) +CALL_2X_PIXELS(ff_avg_pixels16_mmxext, ff_avg_pixels8_mmxext, 8) +CALL_2X_PIXELS(ff_put_pixels16_mmxext, ff_put_pixels8_mmxext, 8) #define QPEL_OP(OPNAME, RND, MMX) \ static void OPNAME ## qpel8_mc00_ ## MMX(uint8_t *dst, uint8_t *src, \ diff --git a/libavcodec/x86/dsputil_x86.h b/libavcodec/x86/dsputil_x86.h index 41562e7510..ad41e6911c 100644 --- a/libavcodec/x86/dsputil_x86.h +++ b/libavcodec/x86/dsputil_x86.h @@ -91,16 +91,4 @@ void ff_put_pixels8_xy2_mmx(uint8_t *block, const uint8_t *pixels, void ff_put_pixels16_xy2_mmx(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); -#define PIXELS16(STATIC, PFX1, PFX2, TYPE, CPUEXT) \ -STATIC void PFX1 ## _pixels16 ## TYPE ## CPUEXT(uint8_t *block, \ - const uint8_t *pixels, \ - ptrdiff_t line_size, \ - int h) \ -{ \ - PFX2 ## PFX1 ## _pixels8 ## TYPE ## CPUEXT(block, pixels, \ - line_size, h); \ - PFX2 ## PFX1 ## _pixels8 ## TYPE ## CPUEXT(block + 8, pixels + 8, \ - line_size, h); \ -} - #endif /* AVCODEC_X86_DSPUTIL_X86_H */ diff --git a/libavcodec/x86/h264_qpel.c b/libavcodec/x86/h264_qpel.c index 90857cec88..8e067e393e 100644 --- a/libavcodec/x86/h264_qpel.c +++ b/libavcodec/x86/h264_qpel.c @@ -25,6 +25,7 @@ #include "libavutil/x86/cpu.h" #include "libavcodec/h264qpel.h" #include "libavcodec/mpegvideo.h" +#include "libavcodec/pixels.h" #include "dsputil_x86.h" #if HAVE_YASM @@ -49,8 +50,8 @@ void ff_avg_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2, #define ff_put_pixels16_l2_sse2 ff_put_pixels16_l2_mmxext #define ff_avg_pixels16_l2_sse2 ff_avg_pixels16_l2_mmxext -PIXELS16(static, ff_avg, , , _mmxext) -PIXELS16(static, ff_put, , , _mmxext) +CALL_2X_PIXELS(ff_avg_pixels16_mmxext, ff_avg_pixels8_mmxext, 8) +CALL_2X_PIXELS(ff_put_pixels16_mmxext, ff_avg_pixels8_mmxext, 8) #define DEF_QPEL(OPNAME)\ void ff_ ## OPNAME ## _h264_qpel4_h_lowpass_mmxext(uint8_t *dst, uint8_t *src, int dstStride, int srcStride);\ diff --git a/libavcodec/x86/hpeldsp_init.c b/libavcodec/x86/hpeldsp_init.c index 83d53dee5f..e686f2c56e 100644 --- a/libavcodec/x86/hpeldsp_init.c +++ b/libavcodec/x86/hpeldsp_init.c @@ -28,6 +28,7 @@ #include "libavutil/x86/cpu.h" #include "libavcodec/avcodec.h" #include "libavcodec/hpeldsp.h" +#include "libavcodec/pixels.h" #include "dsputil_x86.h" void ff_put_pixels8_x2_mmxext(uint8_t *block, const uint8_t *pixels, @@ -109,11 +110,11 @@ void ff_avg_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels, #undef PAVGB #undef STATIC -PIXELS16(static, avg_no_rnd, , _y2, _mmx) -PIXELS16(static, put_no_rnd, , _y2, _mmx) +CALL_2X_PIXELS(avg_no_rnd_pixels16_y2_mmx, avg_no_rnd_pixels8_y2_mmx, 8) +CALL_2X_PIXELS(put_no_rnd_pixels16_y2_mmx, put_no_rnd_pixels8_y2_mmx, 8) -PIXELS16(static, avg_no_rnd, , _xy2, _mmx) -PIXELS16(static, put_no_rnd, , _xy2, _mmx) +CALL_2X_PIXELS(avg_no_rnd_pixels16_xy2_mmx, avg_no_rnd_pixels8_xy2_mmx, 8) +CALL_2X_PIXELS(put_no_rnd_pixels16_xy2_mmx, put_no_rnd_pixels8_xy2_mmx, 8) /***********************************/ /* MMX rounding */ @@ -130,22 +131,22 @@ PIXELS16(static, put_no_rnd, , _xy2, _mmx) #undef PAVGBP #undef PAVGB -PIXELS16(static, avg, , _y2, _mmx) -PIXELS16(static, put, , _y2, _mmx) +CALL_2X_PIXELS(avg_pixels16_y2_mmx, avg_pixels8_y2_mmx, 8) +CALL_2X_PIXELS(put_pixels16_y2_mmx, put_pixels8_y2_mmx, 8) #endif /* HAVE_INLINE_ASM */ #if HAVE_YASM -#define HPELDSP_AVG_PIXELS16(CPUEXT) \ - PIXELS16(static, put_no_rnd, ff_, _x2, CPUEXT) \ - PIXELS16(static, put, ff_, _y2, CPUEXT) \ - PIXELS16(static, put_no_rnd, ff_, _y2, CPUEXT) \ - PIXELS16(static, avg, ff_, , CPUEXT) \ - PIXELS16(static, avg, ff_, _x2, CPUEXT) \ - PIXELS16(static, avg, ff_, _y2, CPUEXT) \ - PIXELS16(static, avg, ff_, _xy2, CPUEXT) +#define HPELDSP_AVG_PIXELS16(CPUEXT) \ + CALL_2X_PIXELS(put_no_rnd_pixels16_x2 ## CPUEXT, ff_put_no_rnd_pixels8_x2 ## CPUEXT, 8) \ + CALL_2X_PIXELS(put_pixels16_y2 ## CPUEXT, ff_put_pixels8_y2 ## CPUEXT, 8) \ + CALL_2X_PIXELS(put_no_rnd_pixels16_y2 ## CPUEXT, ff_put_no_rnd_pixels8_y2 ## CPUEXT, 8) \ + CALL_2X_PIXELS(avg_pixels16 ## CPUEXT, ff_avg_pixels8 ## CPUEXT, 8) \ + CALL_2X_PIXELS(avg_pixels16_x2 ## CPUEXT, ff_avg_pixels8_x2 ## CPUEXT, 8) \ + CALL_2X_PIXELS(avg_pixels16_y2 ## CPUEXT, ff_avg_pixels8_y2 ## CPUEXT, 8) \ + CALL_2X_PIXELS(avg_pixels16_xy2 ## CPUEXT, ff_avg_pixels8_xy2 ## CPUEXT, 8) HPELDSP_AVG_PIXELS16(_3dnow) HPELDSP_AVG_PIXELS16(_mmxext) diff --git a/libavcodec/x86/rnd_mmx.c b/libavcodec/x86/rnd_mmx.c index f5239fc42f..720d88f19e 100644 --- a/libavcodec/x86/rnd_mmx.c +++ b/libavcodec/x86/rnd_mmx.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "libavcodec/pixels.h" #include "dsputil_x86.h" #include "inline_asm.h" @@ -30,7 +31,7 @@ #include "rnd_template.c" -PIXELS16(, ff_avg, , _xy2, _mmx) -PIXELS16(, ff_put, , _xy2, _mmx) +CALL_2X_PIXELS_EXPORT(ff_avg_pixels16_xy2_mmx, ff_avg_pixels8_xy2_mmx, 8) +CALL_2X_PIXELS_EXPORT(ff_put_pixels16_xy2_mmx, ff_put_pixels8_xy2_mmx, 8) #endif /* HAVE_INLINE_ASM */ |