[FFmpeg-cvslog] dsputil: x86: add SHUFFLE_MASK_W macro
Jason Garrett-Glaser
git at videolan.org
Mon Jul 23 21:55:20 CEST 2012
ffmpeg | branch: master | Jason Garrett-Glaser <jason at x264.com> | Fri Jul 20 18:33:06 2012 -0400| [85a3c19ed127e8a333bcc0700a5465faed1f7753] | committer: Justin Ruggles
dsputil: x86: add SHUFFLE_MASK_W macro
Simplifies pshufb masks that operate on words.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=85a3c19ed127e8a333bcc0700a5465faed1f7753
---
libavcodec/x86/dsputil_yasm.asm | 2 +-
libavutil/x86/x86util.asm | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/libavcodec/x86/dsputil_yasm.asm b/libavcodec/x86/dsputil_yasm.asm
index 313e774..077f3a0 100644
--- a/libavcodec/x86/dsputil_yasm.asm
+++ b/libavcodec/x86/dsputil_yasm.asm
@@ -28,7 +28,7 @@ pb_zzzzzzzz77777777: times 8 db -1
pb_7: times 8 db 7
pb_zzzz3333zzzzbbbb: db -1,-1,-1,-1,3,3,3,3,-1,-1,-1,-1,11,11,11,11
pb_zz11zz55zz99zzdd: db -1,-1,1,1,-1,-1,5,5,-1,-1,9,9,-1,-1,13,13
-pb_revwords: db 14, 15, 12, 13, 10, 11, 8, 9, 6, 7, 4, 5, 2, 3, 0, 1
+pb_revwords: SHUFFLE_MASK_W 7, 6, 5, 4, 3, 2, 1, 0
pd_16384: times 4 dd 16384
pb_bswap32: db 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12
diff --git a/libavutil/x86/x86util.asm b/libavutil/x86/x86util.asm
index 941ec76..8450acd 100644
--- a/libavutil/x86/x86util.asm
+++ b/libavutil/x86/x86util.asm
@@ -625,3 +625,15 @@
shufps %1, %1, 0
%endif
%endmacro
+
+%macro SHUFFLE_MASK_W 8
+ %rep 8
+ %if %1>=0x80
+ db %1, %1
+ %else
+ db %1*2
+ db %1*2+1
+ %endif
+ %rotate 1
+ %endrep
+%endmacro
More information about the ffmpeg-cvslog
mailing list