Commit cceb990e authored by Michael Niedermayer's avatar Michael Niedermayer

1000l to the ffsvq3 author, our default bitstream reader is only guranteed to...

1000l to the ffsvq3 author, our default bitstream reader is only guranteed to be able to read 25bit at a time

Originally committed as revision 3237 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 6258c7e6
...@@ -80,7 +80,10 @@ static inline int svq3_get_ue_golomb(GetBitContext *gb){ ...@@ -80,7 +80,10 @@ static inline int svq3_get_ue_golomb(GetBitContext *gb){
return ff_interleaved_ue_golomb_vlc_code[buf]; return ff_interleaved_ue_golomb_vlc_code[buf];
}else{ }else{
buf|=1; LAST_SKIP_BITS(re, gb, 8);
UPDATE_CACHE(re, gb);
buf |= 1 | (GET_CACHE(re, gb) >> 8);
if((buf & 0xAAAAAAAA) == 0) if((buf & 0xAAAAAAAA) == 0)
return INVALID_VLC; return INVALID_VLC;
...@@ -88,7 +91,7 @@ static inline int svq3_get_ue_golomb(GetBitContext *gb){ ...@@ -88,7 +91,7 @@ static inline int svq3_get_ue_golomb(GetBitContext *gb){
buf = (buf << 2) - ((buf << log) >> (log - 1)) + (buf >> 30); buf = (buf << 2) - ((buf << log) >> (log - 1)) + (buf >> 30);
} }
LAST_SKIP_BITS(re, gb, 63 - 2*log); LAST_SKIP_BITS(re, gb, 63 - 2*log - 8);
CLOSE_READER(re, gb); CLOSE_READER(re, gb);
return ((buf << log) >> log) - 1; return ((buf << log) >> log) - 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment