[FFmpeg-devel] [PATCH] Fix unaligned access in ff_copy_bits()

Mans Rullgard mans
Mon Mar 9 22:05:32 CET 2009


---
 libavcodec/bitstream.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c
index 57dd93e..6781fe6 100644
--- a/libavcodec/bitstream.c
+++ b/libavcodec/bitstream.c
@@ -83,7 +83,7 @@ void ff_copy_bits(PutBitContext *pb, const uint8_t *src, int length)
     if(length==0) return;
 
     if(CONFIG_SMALL || words < 16 || put_bits_count(pb)&7){
-        for(i=0; i<words; i++) put_bits(pb, 16, be2me_16(srcw[i]));
+        for(i=0; i<words; i++) put_bits(pb, 16, AV_RB16(&srcw[i]));
     }else{
         for(i=0; put_bits_count(pb)&31; i++)
             put_bits(pb, 8, src[i]);
@@ -92,7 +92,7 @@ void ff_copy_bits(PutBitContext *pb, const uint8_t *src, int length)
         skip_put_bytes(pb, 2*words-i);
     }
 
-    put_bits(pb, bits, be2me_16(srcw[words])>>(16-bits));
+    put_bits(pb, bits, AV_RB16(&srcw[words])>>(16-bits));
 }
 
 /* VLC decoding */
-- 
1.6.1.3





More information about the ffmpeg-devel mailing list