OSDN Git Service

aes: fix for big endian systems
authorMans Rullgard <mans@mansr.com>
Sun, 3 Jul 2011 10:20:39 +0000 (11:20 +0100)
committerMans Rullgard <mans@mansr.com>
Sun, 3 Jul 2011 12:41:42 +0000 (13:41 +0100)
This was missed in 5d20f19 since CONFIG_SMALL was always broken
for big endian.

Signed-off-by: Mans Rullgard <mans@mansr.com>
libavutil/aes.c

index 8a8bfc2..d1fe857 100644 (file)
@@ -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)