Commit 4e60b643 authored by Michael Niedermayer's avatar Michael Niedermayer

Factorize mode switching in put_line().

Originally committed as revision 16326 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent eb12536a
...@@ -232,20 +232,19 @@ static int decode_group3_2d_line(AVCodecContext *avctx, GetBitContext *gb, ...@@ -232,20 +232,19 @@ static int decode_group3_2d_line(AVCodecContext *avctx, GetBitContext *gb,
static void put_line(uint8_t *dst, int size, int width, const int *runs) static void put_line(uint8_t *dst, int size, int width, const int *runs)
{ {
PutBitContext pb; PutBitContext pb;
int run, mode = 0, pix_left = width, run_idx = 0; int run, mode = 1, pix_left = width, run_idx = 0;
init_put_bits(&pb, dst, size*8); init_put_bits(&pb, dst, size*8);
while(pix_left > 0){ while(pix_left > 0){
run = runs[run_idx++]; run = runs[run_idx++];
mode = !mode;
if(!run){ if(!run){
mode = !mode;
continue; continue;
} }
pix_left -= run; pix_left -= run;
for(; run > 16; run -= 16) for(; run > 16; run -= 16)
put_sbits(&pb, 16, -mode); put_sbits(&pb, 16, -mode);
put_sbits(&pb, run, -mode); put_sbits(&pb, run, -mode);
mode = !mode;
} }
} }
......
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