brotli/c/dec
Stephen Kyle 9402ac5c08 decode: faster huffman code loading on 32-bit Arm (#703)
* platform: add macro for using the 'aligned' attribute

* decode: add accessor macros for HuffmanCode fields

Adds a constructor function for building HuffmanCode values
so they can be accessed quickly on different architectures.

Also adds macros for marking a HuffmanCode table pointer
that can be accessed quickly (BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD),
adjusting the index into that table (BROTLI_HC_ADJUST_TABLE_INDEX),
and getting the .bits or .value fields out of the table at the
current index (BROTLI_HC_GET_BITS/VALUE).

For example, assuming |table| contains a HuffmanCode pointer:

  BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(table);
  BROTLI_HC_ADJUST_TABLE_INDEX(table, index_into_table);
  *bits = BROTLI_HC_GET_BITS(table);
  *value = BROTLI_HC_GET_VALUE(table);
  BROTLI_HC_ADJUST_TABLE_INDEX(table, offset);
  *bits2 = BROTLI_HC_GET_BITS(table);
  *value2 = BROTLI_HC_GET_VALUE(table);

All uses of the HuffmanCode have been updated appropriately.

* decode: add alternative accessors for HuffmanCode on Arm AArch32
2018-09-27 13:15:46 +02:00
..
bit_reader.c Update (#630) 2017-12-12 14:33:12 +01:00
bit_reader.h Update 2018-06-11 15:17:26 +02:00
decode.c decode: faster huffman code loading on 32-bit Arm (#703) 2018-09-27 13:15:46 +02:00
huffman.c decode: faster huffman code loading on 32-bit Arm (#703) 2018-09-27 13:15:46 +02:00
huffman.h decode: faster huffman code loading on 32-bit Arm (#703) 2018-09-27 13:15:46 +02:00
prefix.h New feature: "Large Window Brotli" (#640) 2018-02-26 09:04:36 -05:00
state.c New feature: "Large Window Brotli" (#640) 2018-02-26 09:04:36 -05:00
state.h New feature: "Large Window Brotli" (#640) 2018-02-26 09:04:36 -05:00