static const int DEHUF_SLOW_PATH = -1;
// About 98% of all AC coefficients (control byte + coefficient) are <= 10 bits
-// long; again, see codelen.txt. This will cost us about 12 kB of data to store
+// long; again, see codelen.txt. This will cost us about 6 kB of data to store
// in L1 cache.
#define DEHUF_AC_TABLE_BITS 10
#define DEHUF_AC_TABLE_SIZE (1 << DEHUF_AC_TABLE_BITS)
static const int AC_DEHUF_SLOW_PATH = 0xf0000000;
-static const int AC_END_OF_BLOCK = 0xf0000001;
-static const int AC_SIXTEEN_ZEROS = 0xf0000002;
struct huffman_table {
unsigned num_codes[17]; // BITS
// number of bits to skip (_length) and the number of zero coefficients
// after this one (_skip).
int ac_table_codes[DEHUF_AC_TABLE_SIZE];
- int ac_table_length[DEHUF_AC_TABLE_SIZE];
- int ac_table_skip[DEHUF_AC_TABLE_SIZE];
+ uint8_t ac_table_length[DEHUF_AC_TABLE_SIZE];
+ uint8_t ac_table_skip[DEHUF_AC_TABLE_SIZE];
};
enum coefficient_class {