Factorize mode switching in put_line().
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 26 Dec 2008 13:48:09 +0000 (13:48 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 26 Dec 2008 13:48:09 +0000 (13:48 +0000)
Originally committed as revision 16326 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/faxcompr.c

index 9f1da4d..417e0b6 100644 (file)
@@ -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)
 {
     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);
     while(pix_left > 0){
         run = runs[run_idx++];
+        mode = !mode;
         if(!run){
-            mode = !mode;
             continue;
         }
         pix_left -= run;
         for(; run > 16; run -= 16)
             put_sbits(&pb, 16, -mode);
         put_sbits(&pb, run, -mode);
-        mode = !mode;
     }
 }