Minor adjustments to code that does not work.
authorsgunderson@bigfoot.com <>
Sun, 31 May 2009 00:30:22 +0000 (02:30 +0200)
committersgunderson@bigfoot.com <>
Sun, 31 May 2009 00:30:22 +0000 (02:30 +0200)
driver.c

index 1411b51..20d64f2 100644 (file)
--- a/driver.c
+++ b/driver.c
@@ -185,8 +185,13 @@ void read_scan(struct byte_source* source, struct jpeg_image* image, huffman_tab
                                }
                        }
 
-                       if (cn == 1 && ++xb * DCTSIZE == y_stride) {
-                               fwrite(y_row_data, y_stride * DCTSIZE * image->vsample[1], 1, stdout);
+                       if (cn != 1) {
+                               continue;
+                       }
+
+                       xb += image->hsample[cn];
+                       if (xb * DCTSIZE == y_stride) {
+                               fwrite(y_row_data, y_stride * DCTSIZE * image->vsample[cn], 1, stdout);
                                xb = 0;
                        }
                }