]> git.sesse.net Git - fjl/blobdiff - driver.c
Minor adjustments to code that does not work.
[fjl] / driver.c
index 1411b51311e7efca363b88b038a1c9a634173455..20d64f2cd0c9c062e775fb0c66aad4dd6be4b797 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;
                        }
                }