X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=dehuff.h;h=c54f68a55bf38528c629131b7802e71c3b9eda5d;hb=4adcb962d555cba7af8e1de42d203f03d28d81a5;hp=ec9c9762c8a8bf12cfef5c44bdc7be58d5e836dc;hpb=1cfb04470add4e31406785980e7ce14a8e9d0672;p=fjl diff --git a/dehuff.h b/dehuff.h index ec9c976..c54f68a 100644 --- a/dehuff.h +++ b/dehuff.h @@ -15,13 +15,11 @@ 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 @@ -49,8 +47,8 @@ struct huffman_table { // 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 {