diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-11-26 03:43:45 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-11-26 03:43:45 +0400 |
commit | bf2f93cdbf15c96c62b5112c1ab7f8093177e508 (patch) | |
tree | 02992eb3142695332689898d713bef0653f3aa32 /libavcodec/x86/h264_chromamc.asm | |
parent | b473c9937ebe9aafef9d2e07f080fb12ecc53ef4 (diff) | |
parent | 28c8e288fa0342fdef532a7522a4707bebf831cc (diff) |
Merge commit '28c8e288fa0342fdef532a7522a4707bebf831cc'
* commit '28c8e288fa0342fdef532a7522a4707bebf831cc':
x86: h264_chromamc: port to cpuflags
yop: fix typo
avconv: fix copying per-stream metadata.
doc: avtools-common-opts: Fix terminology concerning metric prefixes
configure: suncc: Add compiler arch support for Nehalem & Sandy Bridge
riff: Make ff_riff_tags static and move under appropriate #ifdef
Conflicts:
libavformat/riff.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86/h264_chromamc.asm')
-rw-r--r-- | libavcodec/x86/h264_chromamc.asm | 85 |
1 files changed, 44 insertions, 41 deletions
diff --git a/libavcodec/x86/h264_chromamc.asm b/libavcodec/x86/h264_chromamc.asm index ee6c4123dd..7f5be7521f 100644 --- a/libavcodec/x86/h264_chromamc.asm +++ b/libavcodec/x86/h264_chromamc.asm @@ -89,7 +89,7 @@ SECTION .text jne .next4rows %endmacro -%macro chroma_mc8_mmx_func 3 +%macro chroma_mc8_mmx_func 2-3 %ifidn %2, rv40 %ifdef PIC %define rnd_1d_rv40 r8 @@ -103,9 +103,9 @@ SECTION .text %else %define extra_regs 0 %endif ; rv40 -; put/avg_h264_chroma_mc8_mmx_*(uint8_t *dst /*align 8*/, uint8_t *src /*align 1*/, -; int stride, int h, int mx, int my) -cglobal %1_%2_chroma_mc8_%3, 6, 7 + extra_regs, 0 +; put/avg_h264_chroma_mc8_*(uint8_t *dst /*align 8*/, uint8_t *src /*align 1*/, +; int stride, int h, int mx, int my) +cglobal %1_%2_chroma_mc8%3, 6, 7 + extra_regs, 0 %if ARCH_X86_64 movsxd r2, r2d %endif @@ -282,14 +282,14 @@ cglobal %1_%2_chroma_mc8_%3, 6, 7 + extra_regs, 0 RET %endmacro -%macro chroma_mc4_mmx_func 3 +%macro chroma_mc4_mmx_func 2 %define extra_regs 0 %ifidn %2, rv40 %ifdef PIC %define extra_regs 1 %endif ; PIC %endif ; rv40 -cglobal %1_%2_chroma_mc4_%3, 6, 6 + extra_regs, 0 +cglobal %1_%2_chroma_mc4, 6, 6 + extra_regs, 0 %if ARCH_X86_64 movsxd r2, r2d %endif @@ -373,8 +373,8 @@ cglobal %1_%2_chroma_mc4_%3, 6, 6 + extra_regs, 0 REP_RET %endmacro -%macro chroma_mc2_mmx_func 3 -cglobal %1_%2_chroma_mc2_%3, 6, 7, 0 +%macro chroma_mc2_mmx_func 2 +cglobal %1_%2_chroma_mc2, 6, 7, 0 %if ARCH_X86_64 movsxd r2, r2d %endif @@ -434,35 +434,38 @@ cglobal %1_%2_chroma_mc2_%3, 6, 7, 0 PAVG %1, %2 %endmacro -INIT_MMX +INIT_MMX mmx %define CHROMAMC_AVG NOTHING %define CHROMAMC_AVG4 NOTHING -chroma_mc8_mmx_func put, h264, rnd_mmx -chroma_mc8_mmx_func put, vc1, nornd_mmx -chroma_mc8_mmx_func put, rv40, mmx -chroma_mc4_mmx_func put, h264, mmx -chroma_mc4_mmx_func put, rv40, mmx -chroma_mc2_mmx_func put, h264, mmxext +chroma_mc8_mmx_func put, h264, _rnd +chroma_mc8_mmx_func put, vc1, _nornd +chroma_mc8_mmx_func put, rv40 +chroma_mc4_mmx_func put, h264 +chroma_mc4_mmx_func put, rv40 + +INIT_MMX mmxext +chroma_mc2_mmx_func put, h264 %define CHROMAMC_AVG DIRECT_AVG %define CHROMAMC_AVG4 COPY_AVG %define PAVG pavgb -chroma_mc8_mmx_func avg, h264, rnd_mmxext -chroma_mc8_mmx_func avg, vc1, nornd_mmxext -chroma_mc8_mmx_func avg, rv40, mmxext -chroma_mc4_mmx_func avg, h264, mmxext -chroma_mc4_mmx_func avg, rv40, mmxext -chroma_mc2_mmx_func avg, h264, mmxext +chroma_mc8_mmx_func avg, h264, _rnd +chroma_mc8_mmx_func avg, vc1, _nornd +chroma_mc8_mmx_func avg, rv40 +chroma_mc4_mmx_func avg, h264 +chroma_mc4_mmx_func avg, rv40 +chroma_mc2_mmx_func avg, h264 %define PAVG pavgusb -chroma_mc8_mmx_func avg, h264, rnd_3dnow -chroma_mc8_mmx_func avg, vc1, nornd_3dnow -chroma_mc8_mmx_func avg, rv40, 3dnow -chroma_mc4_mmx_func avg, h264, 3dnow -chroma_mc4_mmx_func avg, rv40, 3dnow - -%macro chroma_mc8_ssse3_func 3 -cglobal %1_%2_chroma_mc8_%3, 6, 7, 8 +INIT_MMX 3dnow +chroma_mc8_mmx_func avg, h264, _rnd +chroma_mc8_mmx_func avg, vc1, _nornd +chroma_mc8_mmx_func avg, rv40 +chroma_mc4_mmx_func avg, h264 +chroma_mc4_mmx_func avg, rv40 + +%macro chroma_mc8_ssse3_func 2-3 +cglobal %1_%2_chroma_mc8%3, 6, 7, 8 %if ARCH_X86_64 movsxd r2, r2d %endif @@ -609,8 +612,8 @@ cglobal %1_%2_chroma_mc8_%3, 6, 7, 8 REP_RET %endmacro -%macro chroma_mc4_ssse3_func 3 -cglobal %1_%2_chroma_mc4_%3, 6, 7, 0 +%macro chroma_mc4_ssse3_func 2 +cglobal %1_%2_chroma_mc4, 6, 7, 0 %if ARCH_X86_64 movsxd r2, r2d %endif @@ -663,16 +666,16 @@ cglobal %1_%2_chroma_mc4_%3, 6, 7, 0 %endmacro %define CHROMAMC_AVG NOTHING -INIT_XMM -chroma_mc8_ssse3_func put, h264, rnd_ssse3 -chroma_mc8_ssse3_func put, vc1, nornd_ssse3 -INIT_MMX -chroma_mc4_ssse3_func put, h264, ssse3 +INIT_XMM ssse3 +chroma_mc8_ssse3_func put, h264, _rnd +chroma_mc8_ssse3_func put, vc1, _nornd +INIT_MMX ssse3 +chroma_mc4_ssse3_func put, h264 %define CHROMAMC_AVG DIRECT_AVG %define PAVG pavgb -INIT_XMM -chroma_mc8_ssse3_func avg, h264, rnd_ssse3 -chroma_mc8_ssse3_func avg, vc1, nornd_ssse3 -INIT_MMX -chroma_mc4_ssse3_func avg, h264, ssse3 +INIT_XMM ssse3 +chroma_mc8_ssse3_func avg, h264, _rnd +chroma_mc8_ssse3_func avg, vc1, _nornd +INIT_MMX ssse3 +chroma_mc4_ssse3_func avg, h264 |