Yet another microoptimization in the driver.
authorSteinar H. Gunderson <sesse@debian.org>
Mon, 1 Jun 2009 00:56:01 +0000 (02:56 +0200)
committerSteinar H. Gunderson <sesse@debian.org>
Mon, 1 Jun 2009 00:56:01 +0000 (02:56 +0200)
driver.c

index 616b613..d5bec84 100644 (file)
--- a/driver.c
+++ b/driver.c
@@ -180,6 +180,7 @@ void read_scan(struct byte_source* source, struct jpeg_image* image, huffman_tab
                                                unsigned rs = read_huffman_symbol_no_refill(ac_table, &bits);
                                                unsigned r = rs >> 4;
                                                unsigned s = rs & 0xf;
+                                               i += r;
 
                                                if (rs == 0x00) {
                                                        /* end of block */
@@ -188,10 +189,8 @@ void read_scan(struct byte_source* source, struct jpeg_image* image, huffman_tab
                                                if (rs == 0xf0) {
                                                        /* 16 zero coefficients */
                                                        possibly_refill(&bits, DEHUF_TABLE_BITS);
-                                                       i += 15;
                                                        continue;
                                                }
-                                               i += r;
 
                                                possibly_refill(&bits, s + DEHUF_TABLE_BITS);
                                                coeff[unzigzag[i]] = extend(read_bits(&bits, s), s);