comparison bitstream.h @ 3632:25ceb2cc950d libavcodec

make A32 reader align its ptr during init no matter what missaligned mess is given to it
author michael
date Sat, 26 Aug 2006 11:37:33 +0000
parents 40f753fc46a4
children f9660d3a9975
comparison
equal deleted inserted replaced
3631:40f753fc46a4 3632:25ceb2cc950d
717 { 717 {
718 s->buffer_ptr = buffer; 718 s->buffer_ptr = buffer;
719 s->bit_count = 16; 719 s->bit_count = 16;
720 s->cache = 0; 720 s->cache = 0;
721 } 721 }
722 #elif defined A32_BITSTREAM_READER
723 s->buffer_ptr = (uint32_t*)buffer;
724 s->bit_count = 32;
725 s->cache0 = 0;
726 s->cache1 = 0;
727 #endif
728 { 722 {
729 OPEN_READER(re, s) 723 OPEN_READER(re, s)
730 UPDATE_CACHE(re, s) 724 UPDATE_CACHE(re, s)
731 UPDATE_CACHE(re, s) 725 UPDATE_CACHE(re, s)
732 CLOSE_READER(re, s) 726 CLOSE_READER(re, s)
733 } 727 }
734 #ifdef A32_BITSTREAM_READER 728 #elif defined A32_BITSTREAM_READER
735 s->cache1 = 0; 729 s->buffer_ptr = (uint32_t*)((intptr_t)buffer&(~3));
730 s->bit_count = 32 + 8*((intptr_t)buffer&3);
731 skip_bits_long(s, 0);
736 #endif 732 #endif
737 } 733 }
738 734
739 static void align_get_bits(GetBitContext *s) 735 static void align_get_bits(GetBitContext *s)
740 { 736 {