]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Fix unaligned access in ff_copy_bits()
authormru <mru@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Mon, 9 Mar 2009 23:27:38 +0000 (23:27 +0000)
committermru <mru@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Mon, 9 Mar 2009 23:27:38 +0000 (23:27 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@17921 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/bitstream.c

index 57dd93e0ad48e54824607a1a4939d60ba207afcb..6781fe6cb0cfe45dfd989ee6d2a1058b2d25eee6 100644 (file)
@@ -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 */