diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-11-19 14:24:10 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-11-19 14:24:20 +0100 |
commit | e6d81ce22e433e5413003e49b39587d739a04520 (patch) | |
tree | 9f5cf3e72a7aa2bc13f80da8695fd6d8a6c161cb | |
parent | 4116151a4bf35cffd2b55b028e714bb2c383c86f (diff) | |
parent | 89923fce7006d0a42859360068c486aeb7e9b582 (diff) | |
download | ffmpeg-e6d81ce22e433e5413003e49b39587d739a04520.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
x86: h264_intrapred: Fix C function names in comments
x86: SPLATD: port to cpuflags
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/x86/dsputil.asm | 2 | ||||
-rw-r--r-- | libavcodec/x86/fmtconvert.asm | 3 | ||||
-rw-r--r-- | libavcodec/x86/h264_intrapred.asm | 62 | ||||
-rw-r--r-- | libavutil/x86/x86util.asm | 22 | ||||
-rw-r--r-- | libswscale/x86/output.asm | 2 |
5 files changed, 38 insertions, 53 deletions
diff --git a/libavcodec/x86/dsputil.asm b/libavcodec/x86/dsputil.asm index 7966294a8d..c51043db20 100644 --- a/libavcodec/x86/dsputil.asm +++ b/libavcodec/x86/dsputil.asm @@ -1124,11 +1124,9 @@ cglobal vector_clip_int32%5, 5,5,%1, dst, src, min, max, len %endmacro INIT_MMX mmx -%define SPLATD SPLATD_MMX %define CLIPD CLIPD_MMX VECTOR_CLIP_INT32 0, 1, 0, 0 INIT_XMM sse2 -%define SPLATD SPLATD_SSE2 VECTOR_CLIP_INT32 6, 1, 0, 0, _int %define CLIPD CLIPD_SSE2 VECTOR_CLIP_INT32 6, 2, 0, 1 diff --git a/libavcodec/x86/fmtconvert.asm b/libavcodec/x86/fmtconvert.asm index 4f2379b2e2..1bd13fc28a 100644 --- a/libavcodec/x86/fmtconvert.asm +++ b/libavcodec/x86/fmtconvert.asm @@ -72,12 +72,9 @@ cglobal int32_to_float_fmul_scalar, 4, 4, %1, dst, src, mul, len %endmacro INIT_XMM sse -%define SPLATD SPLATD_SSE INT32_TO_FLOAT_FMUL_SCALAR 5 INIT_XMM sse2 -%define SPLATD SPLATD_SSE2 INT32_TO_FLOAT_FMUL_SCALAR 3 -%undef SPLATD ;------------------------------------------------------------------------------ diff --git a/libavcodec/x86/h264_intrapred.asm b/libavcodec/x86/h264_intrapred.asm index 4fd8976429..5c0dff429a 100644 --- a/libavcodec/x86/h264_intrapred.asm +++ b/libavcodec/x86/h264_intrapred.asm @@ -49,7 +49,7 @@ cextern pw_17 cextern pw_32 ;----------------------------------------------------------------------------- -; void pred16x16_vertical(uint8_t *src, int stride) +; void pred16x16_vertical_8(uint8_t *src, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmx @@ -85,7 +85,7 @@ cglobal pred16x16_vertical_8, 2,3 REP_RET ;----------------------------------------------------------------------------- -; void pred16x16_horizontal(uint8_t *src, int stride) +; void pred16x16_horizontal_8(uint8_t *src, int stride) ;----------------------------------------------------------------------------- %macro PRED16x16_H 0 @@ -126,7 +126,7 @@ INIT_XMM ssse3 PRED16x16_H ;----------------------------------------------------------------------------- -; void pred16x16_dc(uint8_t *src, int stride) +; void pred16x16_dc_8(uint8_t *src, int stride) ;----------------------------------------------------------------------------- %macro PRED16x16_DC 0 @@ -188,7 +188,7 @@ INIT_XMM ssse3 PRED16x16_DC ;----------------------------------------------------------------------------- -; void pred16x16_tm_vp8(uint8_t *src, int stride) +; void pred16x16_tm_vp8_8(uint8_t *src, int stride) ;----------------------------------------------------------------------------- %macro PRED16x16_TM 0 @@ -269,7 +269,7 @@ cglobal pred16x16_tm_vp8_8, 2,6,6 REP_RET ;----------------------------------------------------------------------------- -; void pred16x16_plane(uint8_t *src, int stride) +; void pred16x16_plane_*_8(uint8_t *src, int stride) ;----------------------------------------------------------------------------- %macro H264_PRED16x16_PLANE 1 @@ -550,7 +550,7 @@ H264_PRED16x16_PLANE rv40 H264_PRED16x16_PLANE svq3 ;----------------------------------------------------------------------------- -; void pred8x8_plane(uint8_t *src, int stride) +; void pred8x8_plane_8(uint8_t *src, int stride) ;----------------------------------------------------------------------------- %macro H264_PRED8x8_PLANE 0 @@ -724,7 +724,7 @@ INIT_XMM ssse3 H264_PRED8x8_PLANE ;----------------------------------------------------------------------------- -; void pred8x8_vertical(uint8_t *src, int stride) +; void pred8x8_vertical_8(uint8_t *src, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmx @@ -741,7 +741,7 @@ cglobal pred8x8_vertical_8, 2,2 RET ;----------------------------------------------------------------------------- -; void pred8x8_horizontal(uint8_t *src, int stride) +; void pred8x8_horizontal_8(uint8_t *src, int stride) ;----------------------------------------------------------------------------- %macro PRED8x8_H 0 @@ -769,7 +769,7 @@ INIT_MMX ssse3 PRED8x8_H ;----------------------------------------------------------------------------- -; void pred8x8_top_dc_mmxext(uint8_t *src, int stride) +; void pred8x8_top_dc_8_mmxext(uint8_t *src, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext cglobal pred8x8_top_dc_8, 2,5 @@ -803,7 +803,7 @@ cglobal pred8x8_top_dc_8, 2,5 RET ;----------------------------------------------------------------------------- -; void pred8x8_dc_mmxext(uint8_t *src, int stride) +; void pred8x8_dc_8_mmxext(uint8_t *src, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -864,7 +864,7 @@ cglobal pred8x8_dc_8, 2,5 RET ;----------------------------------------------------------------------------- -; void pred8x8_dc_rv40(uint8_t *src, int stride) +; void pred8x8_dc_rv40_8(uint8_t *src, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -901,7 +901,7 @@ cglobal pred8x8_dc_rv40_8, 2,7 REP_RET ;----------------------------------------------------------------------------- -; void pred8x8_tm_vp8(uint8_t *src, int stride) +; void pred8x8_tm_vp8_8(uint8_t *src, int stride) ;----------------------------------------------------------------------------- %macro PRED8x8_TM 0 @@ -1013,7 +1013,7 @@ cglobal pred8x8_tm_vp8_8, 2,3,6 %endmacro ;----------------------------------------------------------------------------- -; void pred8x8l_top_dc(uint8_t *src, int has_topleft, int has_topright, int stride) +; void pred8x8l_top_dc_8(uint8_t *src, int has_topleft, int has_topright, int stride) ;----------------------------------------------------------------------------- %macro PRED8x8L_TOP_DC 0 cglobal pred8x8l_top_dc_8, 4,4 @@ -1068,7 +1068,7 @@ INIT_MMX ssse3 PRED8x8L_TOP_DC ;----------------------------------------------------------------------------- -;void pred8x8l_dc(uint8_t *src, int has_topleft, int has_topright, int stride) +;void pred8x8l_dc_8(uint8_t *src, int has_topleft, int has_topright, int stride) ;----------------------------------------------------------------------------- %macro PRED8x8L_DC 0 @@ -1171,7 +1171,7 @@ INIT_MMX ssse3 PRED8x8L_DC ;----------------------------------------------------------------------------- -; void pred8x8l_horizontal(uint8_t *src, int has_topleft, int has_topright, int stride) +; void pred8x8l_horizontal_8(uint8_t *src, int has_topleft, int has_topright, int stride) ;----------------------------------------------------------------------------- %macro PRED8x8L_HORIZONTAL 0 @@ -1242,7 +1242,7 @@ INIT_MMX ssse3 PRED8x8L_HORIZONTAL ;----------------------------------------------------------------------------- -; void pred8x8l_vertical(uint8_t *src, int has_topleft, int has_topright, int stride) +; void pred8x8l_vertical_8(uint8_t *src, int has_topleft, int has_topright, int stride) ;----------------------------------------------------------------------------- %macro PRED8x8L_VERTICAL 0 @@ -1292,7 +1292,7 @@ INIT_MMX ssse3 PRED8x8L_VERTICAL ;----------------------------------------------------------------------------- -;void pred8x8l_down_left(uint8_t *src, int has_topleft, int has_topright, int stride) +;void pred8x8l_down_left_8(uint8_t *src, int has_topleft, int has_topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -1492,7 +1492,7 @@ INIT_MMX ssse3 PRED8x8L_DOWN_LEFT ;----------------------------------------------------------------------------- -;void pred8x8l_down_right_mmxext(uint8_t *src, int has_topleft, int has_topright, int stride) +;void pred8x8l_down_right_8_mmxext(uint8_t *src, int has_topleft, int has_topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -1743,7 +1743,7 @@ INIT_MMX ssse3 PRED8x8L_DOWN_RIGHT ;----------------------------------------------------------------------------- -; void pred8x8l_vertical_right(uint8_t *src, int has_topleft, int has_topright, int stride) +; void pred8x8l_vertical_right_8(uint8_t *src, int has_topleft, int has_topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -1970,7 +1970,7 @@ INIT_MMX ssse3 PRED8x8L_VERTICAL_RIGHT ;----------------------------------------------------------------------------- -;void pred8x8l_vertical_left(uint8_t *src, int has_topleft, int has_topright, int stride) +;void pred8x8l_vertical_left_8(uint8_t *src, int has_topleft, int has_topright, int stride) ;----------------------------------------------------------------------------- %macro PRED8x8L_VERTICAL_LEFT 0 @@ -2059,7 +2059,7 @@ INIT_MMX ssse3 PRED8x8L_VERTICAL_LEFT ;----------------------------------------------------------------------------- -; void pred8x8l_horizontal_up(uint8_t *src, int has_topleft, int has_topright, int stride) +; void pred8x8l_horizontal_up_8(uint8_t *src, int has_topleft, int has_topright, int stride) ;----------------------------------------------------------------------------- %macro PRED8x8L_HORIZONTAL_UP 0 @@ -2146,7 +2146,7 @@ INIT_MMX ssse3 PRED8x8L_HORIZONTAL_UP ;----------------------------------------------------------------------------- -;void pred8x8l_horizontal_down(uint8_t *src, int has_topleft, int has_topright, int stride) +;void pred8x8l_horizontal_down_8(uint8_t *src, int has_topleft, int has_topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -2394,7 +2394,7 @@ INIT_MMX ssse3 PRED8x8L_HORIZONTAL_DOWN ;----------------------------------------------------------------------------- -; void pred4x4_dc_mmxext(uint8_t *src, const uint8_t *topright, int stride) +; void pred4x4_dc_8_mmxext(uint8_t *src, const uint8_t *topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -2424,7 +2424,7 @@ cglobal pred4x4_dc_8, 3,5 RET ;----------------------------------------------------------------------------- -; void pred4x4_tm_vp8_mmxext(uint8_t *src, const uint8_t *topright, int stride) +; void pred4x4_tm_vp8_8_mmxext(uint8_t *src, const uint8_t *topright, int stride) ;----------------------------------------------------------------------------- %macro PRED4x4_TM 0 @@ -2505,7 +2505,7 @@ cglobal pred4x4_tm_vp8_8, 3,3 RET ;----------------------------------------------------------------------------- -; void pred4x4_vertical_vp8_mmxext(uint8_t *src, const uint8_t *topright, int stride) +; void pred4x4_vertical_vp8_8_mmxext(uint8_t *src, const uint8_t *topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -2525,7 +2525,7 @@ cglobal pred4x4_vertical_vp8_8, 3,3 RET ;----------------------------------------------------------------------------- -; void pred4x4_down_left_mmxext(uint8_t *src, const uint8_t *topright, int stride) +; void pred4x4_down_left_8_mmxext(uint8_t *src, const uint8_t *topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext cglobal pred4x4_down_left_8, 3,3 @@ -2551,7 +2551,7 @@ cglobal pred4x4_down_left_8, 3,3 RET ;----------------------------------------------------------------------------- -; void pred4x4_vertical_left_mmxext(uint8_t *src, const uint8_t *topright, int stride) +; void pred4x4_vertical_left_8_mmxext(uint8_t *src, const uint8_t *topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -2576,7 +2576,7 @@ cglobal pred4x4_vertical_left_8, 3,3 RET ;----------------------------------------------------------------------------- -; void pred4x4_horizontal_up_mmxext(uint8_t *src, const uint8_t *topright, int stride) +; void pred4x4_horizontal_up_8_mmxext(uint8_t *src, const uint8_t *topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -2609,7 +2609,7 @@ cglobal pred4x4_horizontal_up_8, 3,3 RET ;----------------------------------------------------------------------------- -; void pred4x4_horizontal_down_mmxext(uint8_t *src, const uint8_t *topright, int stride) +; void pred4x4_horizontal_down_8_mmxext(uint8_t *src, const uint8_t *topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -2644,7 +2644,7 @@ cglobal pred4x4_horizontal_down_8, 3,3 RET ;----------------------------------------------------------------------------- -; void pred4x4_vertical_right_mmxext(uint8_t *src, const uint8_t *topright, int stride) +; void pred4x4_vertical_right_8_mmxext(uint8_t *src, const uint8_t *topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext @@ -2674,7 +2674,7 @@ cglobal pred4x4_vertical_right_8, 3,3 RET ;----------------------------------------------------------------------------- -; void pred4x4_down_right_mmxext(uint8_t *src, const uint8_t *topright, int stride) +; void pred4x4_down_right_8_mmxext(uint8_t *src, const uint8_t *topright, int stride) ;----------------------------------------------------------------------------- INIT_MMX mmxext diff --git a/libavutil/x86/x86util.asm b/libavutil/x86/x86util.asm index dfc180e981..c11df90386 100644 --- a/libavutil/x86/x86util.asm +++ b/libavutil/x86/x86util.asm @@ -574,24 +574,14 @@ %endif %endmacro -%macro SPLATD 2-3 0 -%if mmsize == 16 - pshufd %1, %2, (%3)*0x55 -%else - pshufw %1, %2, (%3)*0x11 + ((%3)+1)*0x44 -%endif -%endmacro - -%macro SPLATD_MMX 1 +%macro SPLATD 1 +%if mmsize == 8 punpckldq %1, %1 -%endmacro - -%macro SPLATD_SSE 1 - shufps %1, %1, 0 -%endmacro - -%macro SPLATD_SSE2 1 +%elif cpuflag(sse2) pshufd %1, %1, 0 +%elif cpuflag(sse) + shufps %1, %1, 0 +%endif %endmacro %macro CLIPW 3 ;(dst, min, max) diff --git a/libswscale/x86/output.asm b/libswscale/x86/output.asm index d57af9b1a9..f9add355d1 100644 --- a/libswscale/x86/output.asm +++ b/libswscale/x86/output.asm @@ -187,7 +187,7 @@ cglobal yuv2planeX_%1, %3, 8, %2, filter, fltsize, src, dst, w, dither, offset %else ; %1 == 10/9/8 punpcklwd m5, m3, m4 punpckhwd m3, m4 - SPLATD m0, m0 + SPLATD m0 pmaddwd m5, m0 pmaddwd m3, m0 |