[FFmpeg-cvslog] aes: fix for big endian systems

Mans Rullgard git at videolan.org
Mon Jul 4 00:53:46 CEST 2011


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Sun Jul  3 11:20:39 2011 +0100| [8f175810beba0e4d7fb76c6eb747e5aab76071b4] | committer: Mans Rullgard

aes: fix for big endian systems

This was missed in 5d20f19 since CONFIG_SMALL was always broken
for big endian.

Signed-off-by: Mans Rullgard <mans at mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8f175810beba0e4d7fb76c6eb747e5aab76071b4
---

 libavutil/aes.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/libavutil/aes.c b/libavutil/aes.c
index 8a8bfc2..d1fe857 100644
--- a/libavutil/aes.c
+++ b/libavutil/aes.c
@@ -54,7 +54,11 @@ static uint32_t enc_multbl[4][256];
 static uint32_t dec_multbl[4][256];
 #endif
 
-#define ROT(x, s) ((x << s) | (x >> (32-s)))
+#if HAVE_BIGENDIAN
+#   define ROT(x, s) ((x >> s) | (x << (32-s)))
+#else
+#   define ROT(x, s) ((x << s) | (x >> (32-s)))
+#endif
 
 static inline void addkey(av_aes_block *dst, const av_aes_block *src,
                           const av_aes_block *round_key)



More information about the ffmpeg-cvslog mailing list