diff options
author | Diego Biurrun <diego@biurrun.de> | 2012-07-27 16:26:09 +0400 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2013-01-15 20:29:43 +0400 |
commit | dae1d507af94261bafd3b11549884e5d1eca590e (patch) | |
tree | 8ddd73e3a9a8ab999c68b5d47b327b19e1d51ca8 | |
parent | 23098bbd509346708b998094daf1dd98339fbc4b (diff) |
x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags
-rw-r--r-- | libavcodec/x86/h264_chromamc.asm | 7 | ||||
-rw-r--r-- | libavutil/x86/x86util.asm | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/libavcodec/x86/h264_chromamc.asm b/libavcodec/x86/h264_chromamc.asm index 1be37dec78..440a473c6f 100644 --- a/libavcodec/x86/h264_chromamc.asm +++ b/libavcodec/x86/h264_chromamc.asm @@ -427,11 +427,11 @@ cglobal %1_%2_chroma_mc2, 6, 7, 0 %macro NOTHING 2-3 %endmacro %macro DIRECT_AVG 2 - PAVG %1, %2 + PAVGB %1, %2 %endmacro %macro COPY_AVG 3 movd %2, %3 - PAVG %1, %2 + PAVGB %1, %2 %endmacro INIT_MMX mmx @@ -448,7 +448,6 @@ 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 chroma_mc8_mmx_func avg, vc1, _nornd chroma_mc8_mmx_func avg, rv40 @@ -456,7 +455,6 @@ chroma_mc4_mmx_func avg, h264 chroma_mc4_mmx_func avg, rv40 chroma_mc2_mmx_func avg, h264 -%define PAVG pavgusb INIT_MMX 3dnow chroma_mc8_mmx_func avg, h264, _rnd chroma_mc8_mmx_func avg, vc1, _nornd @@ -673,7 +671,6 @@ INIT_MMX ssse3 chroma_mc4_ssse3_func put, h264 %define CHROMAMC_AVG DIRECT_AVG -%define PAVG pavgb INIT_XMM ssse3 chroma_mc8_ssse3_func avg, h264, _rnd chroma_mc8_ssse3_func avg, vc1, _nornd diff --git a/libavutil/x86/x86util.asm b/libavutil/x86/x86util.asm index 2f818fe61e..551c40a4b5 100644 --- a/libavutil/x86/x86util.asm +++ b/libavutil/x86/x86util.asm @@ -301,6 +301,14 @@ %endif %endmacro +%macro PAVGB 2 +%if cpuflag(mmxext) + pavgb %1, %2 +%elif cpuflag(3dnow) + pavgusb %1, %2 +%endif +%endmacro + %macro PSHUFLW 1+ %if mmsize == 8 pshufw %1 |