[FFmpeg-cvslog] bswap: use native types for av_bwap16().
Jason Garrett-Glaser
git at videolan.org
Sun Apr 24 03:50:08 CEST 2011
ffmpeg | branch: master | Jason Garrett-Glaser <jason at x264.com> | Fri Apr 22 17:59:55 2011 -0400| [15919ee48f507a4ca17147e7247f5cb68f752c2c] | committer: Ronald S. Bultje
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 <rsbultje at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=15919ee48f507a4ca17147e7247f5cb68f752c2c
---
libavutil/x86/bswap.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavutil/x86/bswap.h b/libavutil/x86/bswap.h
index 28e3fec..b60d9cc 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;
}
More information about the ffmpeg-cvslog
mailing list