Browse Source

Fix unaligned access in ff_copy_bits()

Originally committed as revision 17921 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Måns Rullgård 17 years ago
parent
commit
f49568a467
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      libavcodec/bitstream.c

+ 2
- 2
libavcodec/bitstream.c View 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 */


Loading…
Cancel
Save