From 15919ee48f507a4ca17147e7247f5cb68f752c2c Mon Sep 17 00:00:00 2001 From: Jason Garrett-Glaser Date: Fri, 22 Apr 2011 17:59:55 -0400 Subject: [PATCH] bswap: use native types for av_bwap16(). This prevents a call to bytestream_get_be16() using a movzwl both before and after the ror instruction, which is obviously inefficient. Arm uses the same trick also. Sintel decoding goes from (avg+SD) 9.856 +/- 0.003 to 9.797 +/- 0.003 sec. Signed-off-by: Ronald S. Bultje --- libavutil/x86/bswap.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavutil/x86/bswap.h b/libavutil/x86/bswap.h index 28e3fecb1b..b60d9ccd6c 100644 --- a/libavutil/x86/bswap.h +++ b/libavutil/x86/bswap.h @@ -29,9 +29,9 @@ #include "libavutil/attributes.h" #define av_bswap16 av_bswap16 -static av_always_inline av_const uint16_t av_bswap16(uint16_t x) +static av_always_inline av_const unsigned av_bswap16(unsigned x) { - __asm__("rorw $8, %0" : "+r"(x)); + __asm__("rorw $8, %w0" : "+r"(x)); return x; }