diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2010-10-22 02:44:34 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2010-10-22 02:44:34 +0400 |
commit | 7f4a1e8f6ce203b8d7f0a9e65254e3ab931d44ff (patch) | |
tree | 767cbbf0d6599b10c83eaa636df36bb5f3b1887f /libavcodec/mjpegdec.c | |
parent | 614252863d8a0b9e8322453b8b12740e781aa257 (diff) |
Cleanup decode_block_progressive()
Originally committed as revision 25543 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mjpegdec.c')
-rw-r--r-- | libavcodec/mjpegdec.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 8b9190cac5..5bf9f314f3 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -506,13 +506,13 @@ static int decode_block_progressive(MJpegDecodeContext *s, DCTELEM *block, uint8 if(run == 0xF){// ZRL - skip 15 coefficients i += 15; }else{ - val = run; - run = (1 << run); - UPDATE_CACHE(re, &s->gb); - run += (GET_CACHE(re, &s->gb) >> (32 - val)) & (run - 1); - if(val) - LAST_SKIP_BITS(re, &s->gb, val); - *EOBRUN = run - 1; + val = (1 << run); + if(run){ + UPDATE_CACHE(re, &s->gb); + val += NEG_USR32(GET_CACHE(re, &s->gb), run); + LAST_SKIP_BITS(re, &s->gb, run); + } + *EOBRUN = val - 1; break; } } |