[FFmpeg-cvslog] avcodec/hq_hqa: Use ff_vlc_init_from_lengths()
Andreas Rheinhardt
git at videolan.org
Sun Apr 13 10:01:09 EEST 2025
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Wed Apr 9 20:45:14 2025 +0200| [c1f124f3f03c4a3fe1252e77938172d85151bf3e] | committer: Andreas Rheinhardt
avcodec/hq_hqa: Use ff_vlc_init_from_lengths()
This allows to avoid the codes table; furthermore, given
that the runs fit into seven bits and level into nine,
one can put them into one int16_t and use as symbols table
in ff_vlc_init_from_lengths().
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c1f124f3f03c4a3fe1252e77938172d85151bf3e
---
libavcodec/hq_hqa.c | 20 +-
libavcodec/hq_hqadata.h | 497 ++++++++++++++++++++----------------------------
2 files changed, 216 insertions(+), 301 deletions(-)
diff --git a/libavcodec/hq_hqa.c b/libavcodec/hq_hqa.c
index f07a11b71a..c849b52073 100644
--- a/libavcodec/hq_hqa.c
+++ b/libavcodec/hq_hqa.c
@@ -376,24 +376,22 @@ static int hq_hqa_decode_frame(AVCodecContext *avctx, AVFrame *pic,
static av_cold void hq_init_static(void)
{
- VLC_INIT_STATIC_TABLE(hq_ac_rvlc, 9, NUM_HQ_AC_ENTRIES,
- hq_ac_bits, 1, 1, hq_ac_codes, 2, 2, 0);
+ VLC_INIT_STATIC_TABLE_FROM_LENGTHS(hq_ac_rvlc, 9, NUM_HQ_AC_ENTRIES,
+ hq_ac_lens, 1, hq_ac_sym, 2, 2, 0, 0);
for (size_t i = 0; i < FF_ARRAY_ELEMS(hq_ac_rvlc); ++i) {
int len = hq_ac_rvlc[i].len;
- int sym = hq_ac_rvlc[i].sym, level = sym;
- int run;
+ int sym = (int16_t)hq_ac_rvlc[i].sym, level = sym;
+
+ // The invalid code has been remapped to HQ_AC_INVALID_RUN,
+ // so the VLC is complete.
+ av_assert1(len != 0);
if (len > 0) {
- level = hq_ac_syms[sym];
- run = hq_ac_skips[sym] + 1;
- } else if (len < 0) { // More bits needed
- run = 0;
- } else { // Invalid code
- run = HQ_AC_INVALID_RUN;
+ level = sym >> 7;
+ hq_ac_rvlc[i].run = sym & 0x7F;
}
hq_ac_rvlc[i].len8 = len;
- hq_ac_rvlc[i].run = run;
hq_ac_rvlc[i].level = level;
}
diff --git a/libavcodec/hq_hqadata.h b/libavcodec/hq_hqadata.h
index e723cefaac..10120ee94f 100644
--- a/libavcodec/hq_hqadata.h
+++ b/libavcodec/hq_hqadata.h
@@ -23,7 +23,7 @@
#include <stdint.h>
-#define NUM_HQ_AC_ENTRIES 746
+#define NUM_HQ_AC_ENTRIES 747 // includes one invalid entry
#define NUM_HQ_PROFILES 22
#define NUM_HQ_QUANTS 16
@@ -1157,298 +1157,215 @@ static const uint8_t hq_quant_map[NUM_HQ_QUANTS][2][4] =
#define HQ_AC_INVALID_RUN 0
-static const uint8_t hq_ac_bits[NUM_HQ_AC_ENTRIES] = {
- 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6,
- 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12,
- 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-};
-
-static const uint16_t hq_ac_codes[NUM_HQ_AC_ENTRIES] = {
- 0x0000, 0x0001, 0x0004, 0x0005, 0x0006, 0x000E, 0x000F, 0x0010,
- 0x0011, 0x0012, 0x0013, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C,
- 0x002D, 0x002E, 0x002F, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064,
- 0x0065, 0x0066, 0x0067, 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4,
- 0x00D5, 0x00D6, 0x00D7, 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC,
- 0x00DD, 0x00DE, 0x00DF, 0x01C0, 0x01C1, 0x01C2, 0x01C3, 0x01C4,
- 0x01C5, 0x01C6, 0x01C7, 0x01C8, 0x01C9, 0x01CA, 0x01CB, 0x01CC,
- 0x01CD, 0x01CE, 0x01CF, 0x01D0, 0x01D1, 0x01D2, 0x01D3, 0x01D4,
- 0x01D5, 0x01D6, 0x01D7, 0x01D8, 0x01D9, 0x01DA, 0x01DB, 0x01DC,
- 0x01DD, 0x01DE, 0x01DF, 0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4,
- 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC,
- 0x03CD, 0x03CE, 0x03CF, 0x03D0, 0x03D1, 0x03D2, 0x03D3, 0x03D4,
- 0x03D5, 0x03D6, 0x03D7, 0x03D8, 0x03D9, 0x03DA, 0x03DB, 0x03DC,
- 0x03DD, 0x03DE, 0x03DF, 0x07C0, 0x07C1, 0x07C2, 0x07C3, 0x07C4,
- 0x07C5, 0x07C6, 0x07C7, 0x07C8, 0x07C9, 0x07CA, 0x07CB, 0x07CC,
- 0x07CD, 0x07CE, 0x07CF, 0x0FA0, 0x0FA1, 0x0FA2, 0x0FA3, 0x0FA4,
- 0x0FA5, 0x0FA6, 0x0FA7, 0x0FA8, 0x0FA9, 0x0FAA, 0x0FAB, 0x0FAC,
- 0x0FAD, 0x0FAE, 0x0FAF, 0x1F60, 0x1F61, 0x1F62, 0x1F63, 0x1F64,
- 0x1F65, 0x1F66, 0x1F67, 0x1F68, 0x1F69, 0x1F6A, 0x1F6B, 0x1F6C,
- 0x1F6D, 0x1F6E, 0x1F6F, 0x1F70, 0x1F71, 0x1F72, 0x1F73, 0x1F74,
- 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C,
- 0x1F7D, 0x1F7E, 0x1F7F, 0x1F80, 0x1F81, 0x1F82, 0x1F83, 0x1F84,
- 0x1F85, 0x1F86, 0x1F87, 0x1F88, 0x1F89, 0x1F8A, 0x1F8B, 0x1F8C,
- 0x1F8D, 0x1F8E, 0x1F8F, 0x1F90, 0x1F91, 0x1F92, 0x1F93, 0x1F94,
- 0x1F95, 0x1F96, 0x1F97, 0x1F98, 0x1F99, 0x1F9A, 0x1F9B, 0x1F9C,
- 0x1F9D, 0x1F9E, 0x1F9F, 0x1FA0, 0x1FA1, 0x1FA2, 0x1FA3, 0x1FA4,
- 0x1FA5, 0x1FA6, 0x1FA7, 0x1FA8, 0x1FA9, 0x1FAA, 0x1FAB, 0x1FAC,
- 0x1FAD, 0x1FAE, 0x1FAF, 0x1FB0, 0x1FB1, 0x1FB2, 0x1FB3, 0x1FB4,
- 0x1FB5, 0x1FB6, 0x1FB7, 0x1FB8, 0x1FB9, 0x1FBA, 0x1FBB, 0x1FBC,
- 0x1FBD, 0x1FBE, 0x1FBF, 0xFE00, 0xFE02, 0xFE03, 0xFE04, 0xFE05,
- 0xFE06, 0xFE07, 0xFE08, 0xFE09, 0xFE0A, 0xFE0B, 0xFE0C, 0xFE0D,
- 0xFE0E, 0xFE0F, 0xFE10, 0xFE11, 0xFE12, 0xFE13, 0xFE14, 0xFE15,
- 0xFE16, 0xFE17, 0xFE18, 0xFE19, 0xFE1A, 0xFE1B, 0xFE1C, 0xFE1D,
- 0xFE1E, 0xFE1F, 0xFE20, 0xFE21, 0xFE22, 0xFE23, 0xFE24, 0xFE25,
- 0xFE26, 0xFE27, 0xFE28, 0xFE29, 0xFE2A, 0xFE2B, 0xFE2C, 0xFE2D,
- 0xFE2E, 0xFE2F, 0xFE30, 0xFE31, 0xFE32, 0xFE33, 0xFE34, 0xFE35,
- 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D,
- 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45,
- 0xFE46, 0xFE47, 0xFE48, 0xFE49, 0xFE4A, 0xFE4B, 0xFE4C, 0xFE4D,
- 0xFE4E, 0xFE4F, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE55,
- 0xFE56, 0xFE57, 0xFE58, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D,
- 0xFE5E, 0xFE5F, 0xFE60, 0xFE61, 0xFE62, 0xFE63, 0xFE64, 0xFE65,
- 0xFE66, 0xFE67, 0xFE68, 0xFE69, 0xFE6A, 0xFE6B, 0xFE6C, 0xFE6D,
- 0xFE6E, 0xFE6F, 0xFE70, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE75,
- 0xFE76, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D,
- 0xFE7E, 0xFE7F, 0xFE80, 0xFE81, 0xFE82, 0xFE83, 0xFE84, 0xFE85,
- 0xFE86, 0xFE87, 0xFE88, 0xFE89, 0xFE8A, 0xFE8B, 0xFE8C, 0xFE8D,
- 0xFE8E, 0xFE8F, 0xFE90, 0xFE91, 0xFE92, 0xFE93, 0xFE94, 0xFE95,
- 0xFE96, 0xFE97, 0xFE98, 0xFE99, 0xFE9A, 0xFE9B, 0xFE9C, 0xFE9D,
- 0xFE9E, 0xFE9F, 0xFEA0, 0xFEA1, 0xFEA2, 0xFEA3, 0xFEA4, 0xFEA5,
- 0xFEA6, 0xFEA7, 0xFEA8, 0xFEA9, 0xFEAA, 0xFEAB, 0xFEAC, 0xFEAD,
- 0xFEAE, 0xFEAF, 0xFEB0, 0xFEB1, 0xFEB2, 0xFEB3, 0xFEB4, 0xFEB5,
- 0xFEB6, 0xFEB7, 0xFEB8, 0xFEB9, 0xFEBA, 0xFEBB, 0xFEBC, 0xFEBD,
- 0xFEBE, 0xFEBF, 0xFEC0, 0xFEC1, 0xFEC2, 0xFEC3, 0xFEC4, 0xFEC5,
- 0xFEC6, 0xFEC7, 0xFEC8, 0xFEC9, 0xFECA, 0xFECB, 0xFECC, 0xFECD,
- 0xFECE, 0xFECF, 0xFED0, 0xFED1, 0xFED2, 0xFED3, 0xFED4, 0xFED5,
- 0xFED6, 0xFED7, 0xFED8, 0xFED9, 0xFEDA, 0xFEDB, 0xFEDC, 0xFEDD,
- 0xFEDE, 0xFEDF, 0xFEE0, 0xFEE1, 0xFEE2, 0xFEE3, 0xFEE4, 0xFEE5,
- 0xFEE6, 0xFEE7, 0xFEE8, 0xFEE9, 0xFEEA, 0xFEEB, 0xFEEC, 0xFEED,
- 0xFEEE, 0xFEEF, 0xFEF0, 0xFEF1, 0xFEF2, 0xFEF3, 0xFEF4, 0xFEF5,
- 0xFEF6, 0xFEF7, 0xFEF8, 0xFEF9, 0xFEFA, 0xFEFB, 0xFEFC, 0xFEFD,
- 0xFEFE, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF03, 0xFF04, 0xFF05,
- 0xFF06, 0xFF07, 0xFF08, 0xFF09, 0xFF0A, 0xFF0B, 0xFF0C, 0xFF0D,
- 0xFF0E, 0xFF0F, 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF14, 0xFF15,
- 0xFF16, 0xFF17, 0xFF18, 0xFF19, 0xFF1A, 0xFF1B, 0xFF1C, 0xFF1D,
- 0xFF1E, 0xFF1F, 0xFF20, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25,
- 0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D,
- 0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35,
- 0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0xFF3B, 0xFF3C, 0xFF3D,
- 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45,
- 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D,
- 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55,
- 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0xFF5B, 0xFF5C, 0xFF5D,
- 0xFF5E, 0xFF5F, 0xFF60, 0xFF61, 0xFF62, 0xFF63, 0xFF64, 0xFF65,
- 0xFF66, 0xFF67, 0xFF68, 0xFF69, 0xFF6A, 0xFF6B, 0xFF6C, 0xFF6D,
- 0xFF6E, 0xFF6F, 0xFF70, 0xFF71, 0xFF72, 0xFF73, 0xFF74, 0xFF75,
- 0xFF76, 0xFF77, 0xFF78, 0xFF79, 0xFF7A, 0xFF7B, 0xFF7C, 0xFF7D,
- 0xFF7E, 0xFF7F, 0xFF80, 0xFF81, 0xFF82, 0xFF83, 0xFF84, 0xFF85,
- 0xFF86, 0xFF87, 0xFF88, 0xFF89, 0xFF8A, 0xFF8B, 0xFF8C, 0xFF8D,
- 0xFF8E, 0xFF8F, 0xFF90, 0xFF91, 0xFF92, 0xFF93, 0xFF94, 0xFF95,
- 0xFF96, 0xFF97, 0xFF98, 0xFF99, 0xFF9A, 0xFF9B, 0xFF9C, 0xFF9D,
- 0xFF9E, 0xFF9F, 0xFFA0, 0xFFA1, 0xFFA2, 0xFFA3, 0xFFA4, 0xFFA5,
- 0xFFA6, 0xFFA7, 0xFFA8, 0xFFA9, 0xFFAA, 0xFFAB, 0xFFAC, 0xFFAD,
- 0xFFAE, 0xFFAF, 0xFFB0, 0xFFB1, 0xFFB2, 0xFFB3, 0xFFB4, 0xFFB5,
- 0xFFB6, 0xFFB7, 0xFFB8, 0xFFB9, 0xFFBA, 0xFFBB, 0xFFBC, 0xFFBD,
- 0xFFBE, 0xFFBF, 0xFFC0, 0xFFC1, 0xFFC2, 0xFFC3, 0xFFC4, 0xFFC5,
- 0xFFC6, 0xFFC7, 0xFFC8, 0xFFC9, 0xFFCA, 0xFFCB, 0xFFCC, 0xFFCD,
- 0xFFCE, 0xFFCF, 0xFFD0, 0xFFD1, 0xFFD2, 0xFFD3, 0xFFD4, 0xFFD5,
- 0xFFD6, 0xFFD7, 0xFFD8, 0xFFD9, 0xFFDA, 0xFFDB, 0xFFDC, 0xFFDD,
- 0xFFDE, 0xFFDF, 0xFFE0, 0xFFE1, 0xFFE2, 0xFFE3, 0xFFE4, 0xFFE5,
- 0xFFE6, 0xFFE7, 0xFFE8, 0xFFE9, 0xFFEA, 0xFFEB, 0xFFEC, 0xFFED,
- 0xFFEE, 0xFFEF, 0xFFF0, 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4, 0xFFF5,
- 0xFFF6, 0xFFF7, 0xFFF8, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD,
- 0xFFFE, 0xFFFF,
-};
+#define E(level, skip) ((level * (1 << 7)) | (skip + 1))
+// The invalid entry has length 16 and is mapped to an invalid run.
+#define INVALID_ENT HQ_AC_INVALID_RUN
+#define INV 16
-static const uint8_t hq_ac_skips[NUM_HQ_AC_ENTRIES] = {
- 0, 0, 0, 0, 64, 1, 1, 0, 0, 0, 0, 2, 2, 1, 1, 0,
- 0, 0, 0, 3, 3, 4, 4, 0, 0, 0, 0, 5, 5, 6, 6, 2,
- 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 7, 7, 8, 8, 9,
- 9, 10, 10, 3, 3, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 12, 12, 13,
- 13, 14, 14, 5, 5, 6, 6, 3, 3, 4, 4, 2, 2, 2, 2, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3, 3,
- 3, 2, 2, 1, 1, 1, 1, 1, 1, 0, 1, 6, 6, 4, 4, 3,
- 3, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 7, 7, 8, 8, 9,
- 9, 10, 10, 7, 7, 8, 8, 4, 4, 3, 3, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 0, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+static const int16_t hq_ac_sym[NUM_HQ_AC_ENTRIES] = {
+ E( 1, 0), E( -1, 0), E( 2, 0), E( -2, 0), E( 0, 64),
+ E( 1, 1), E( -1, 1), E( 3, 0), E( -3, 0), E( 4, 0),
+ E( -4, 0), E( 1, 2), E( -1, 2), E( 2, 1), E( -2, 1),
+ E( 5, 0), E( -5, 0), E( 6, 0), E( -6, 0), E( 1, 3),
+ E( -1, 3), E( 1, 4), E( -1, 4), E( 7, 0), E( -7, 0),
+ E( 8, 0), E( -8, 0), E( 1, 5), E( -1, 5), E( 1, 6),
+ E( -1, 6), E( 2, 2), E( -2, 2), E( 3, 1), E( -3, 1),
+ E( 4, 1), E( -4, 1), E( 9, 0), E( -9, 0), E( 10, 0),
+ E( -10, 0), E( 11, 0), E( -11, 0), E( 1, 7), E( -1, 7),
+ E( 1, 8), E( -1, 8), E( 1, 9), E( -1, 9), E( 1, 10),
+ E( -1, 10), E( 2, 3), E( -2, 3), E( 2, 4), E( -2, 4),
+ E( 3, 2), E( -3, 2), E( 5, 1), E( -5, 1), E( 6, 1),
+ E( -6, 1), E( 7, 1), E( -7, 1), E( 12, 0), E( -12, 0),
+ E( 13, 0), E( -13, 0), E( 14, 0), E( -14, 0), E( 15, 0),
+ E( -15, 0), E( 16, 0), E( -16, 0), E( 17, 0), E( -17, 0),
+ E( 1, 11), E( -1, 11), E( 1, 12), E( -1, 12), E( 1, 13),
+ E( -1, 13), E( 1, 14), E( -1, 14), E( 2, 5), E( -2, 5),
+ E( 2, 6), E( -2, 6), E( 3, 3), E( -3, 3), E( 3, 4),
+ E( -3, 4), E( 4, 2), E( -4, 2), E( 5, 2), E( -5, 2),
+ E( 8, 1), E( -8, 1), E( 18, 0), E( -18, 0), E( 19, 0),
+ E( -19, 0), E( 20, 0), E( -20, 0), E( 21, 0), E( -21, 0),
+ E( 22, 0), E( -22, 0), E( 3, 5), E( -3, 5), E( 4, 3),
+ E( -4, 3), E( 5, 3), E( -5, 3), E( 6, 2), E( -6, 2),
+ E( 9, 1), E( -9, 1), E( 10, 1), E( -10, 1), E( 11, 1),
+ E( -11, 1), E( 0, 0), E( 0, 1), E( 3, 6), E( -3, 6),
+ E( 4, 4), E( -4, 4), E( 6, 3), E( -6, 3), E( 12, 1),
+ E( -12, 1), E( 13, 1), E( -13, 1), E( 14, 1), E( -14, 1),
+ E( 0, 2), E( 0, 3), E( 0, 4), E( 0, 5), E( 2, 7),
+ E( -2, 7), E( 2, 8), E( -2, 8), E( 2, 9), E( -2, 9),
+ E( 2, 10), E( -2, 10), E( 3, 7), E( -3, 7), E( 3, 8),
+ E( -3, 8), E( 5, 4), E( -5, 4), E( 7, 3), E( -7, 3),
+ E( 7, 2), E( -7, 2), E( 8, 2), E( -8, 2), E( 9, 2),
+ E( -9, 2), E( 10, 2), E( -10, 2), E( 11, 2), E( -11, 2),
+ E( 15, 1), E( -15, 1), E( 16, 1), E( -16, 1), E( 17, 1),
+ E( -17, 1), E( 0, 0), E( 0, 1), E( 0, 2), E( 0, 3),
+ E( 0, 4), E( 0, 5), E( 0, 6), E( 0, 7), E( 0, 8),
+ E( 0, 9), E( 0, 10), E( 0, 11), E( 0, 12), E( 0, 13),
+ E( 0, 14), E( 0, 15), E( 0, 16), E( 0, 17), E( 0, 18),
+ E( 0, 19), E( 0, 20), E( 0, 21), E( 0, 22), E( 0, 23),
+ E( 0, 24), E( 0, 25), E( 0, 26), E( 0, 27), E( 0, 28),
+ E( 0, 29), E( 0, 30), E( 0, 31), E( 0, 32), E( 0, 33),
+ E( 0, 34), E( 0, 35), E( 0, 36), E( 0, 37), E( 0, 38),
+ E( 0, 39), E( 0, 40), E( 0, 41), E( 0, 42), E( 0, 43),
+ E( 0, 44), E( 0, 45), E( 0, 46), E( 0, 47), E( 0, 48),
+ E( 0, 49), E( 0, 50), E( 0, 51), E( 0, 52), E( 0, 53),
+ E( 0, 54), E( 0, 55), E( 0, 56), E( 0, 57), E( 0, 58),
+ E( 0, 59), E( 0, 60), E( 0, 61), E( 0, 62), E( 0, 63),
+ E( 0, 0), INVALID_ENT, E( 1, 0), E( -1, 0), E( 2, 0),
+ E( -2, 0), E( 3, 0), E( -3, 0), E( 4, 0), E( -4, 0),
+ E( 5, 0), E( -5, 0), E( 6, 0), E( -6, 0), E( 7, 0),
+ E( -7, 0), E( 8, 0), E( -8, 0), E( 9, 0), E( -9, 0),
+ E( 10, 0), E( -10, 0), E( 11, 0), E( -11, 0), E( 12, 0),
+ E( -12, 0), E( 13, 0), E( -13, 0), E( 14, 0), E( -14, 0),
+ E( 15, 0), E( -15, 0), E( 16, 0), E( -16, 0), E( 17, 0),
+ E( -17, 0), E( 18, 0), E( -18, 0), E( 19, 0), E( -19, 0),
+ E( 20, 0), E( -20, 0), E( 21, 0), E( -21, 0), E( 22, 0),
+ E( -22, 0), E( 23, 0), E( -23, 0), E( 24, 0), E( -24, 0),
+ E( 25, 0), E( -25, 0), E( 26, 0), E( -26, 0), E( 27, 0),
+ E( -27, 0), E( 28, 0), E( -28, 0), E( 29, 0), E( -29, 0),
+ E( 30, 0), E( -30, 0), E( 31, 0), E( -31, 0), E( 32, 0),
+ E( -32, 0), E( 33, 0), E( -33, 0), E( 34, 0), E( -34, 0),
+ E( 35, 0), E( -35, 0), E( 36, 0), E( -36, 0), E( 37, 0),
+ E( -37, 0), E( 38, 0), E( -38, 0), E( 39, 0), E( -39, 0),
+ E( 40, 0), E( -40, 0), E( 41, 0), E( -41, 0), E( 42, 0),
+ E( -42, 0), E( 43, 0), E( -43, 0), E( 44, 0), E( -44, 0),
+ E( 45, 0), E( -45, 0), E( 46, 0), E( -46, 0), E( 47, 0),
+ E( -47, 0), E( 48, 0), E( -48, 0), E( 49, 0), E( -49, 0),
+ E( 50, 0), E( -50, 0), E( 51, 0), E( -51, 0), E( 52, 0),
+ E( -52, 0), E( 53, 0), E( -53, 0), E( 54, 0), E( -54, 0),
+ E( 55, 0), E( -55, 0), E( 56, 0), E( -56, 0), E( 57, 0),
+ E( -57, 0), E( 58, 0), E( -58, 0), E( 59, 0), E( -59, 0),
+ E( 60, 0), E( -60, 0), E( 61, 0), E( -61, 0), E( 62, 0),
+ E( -62, 0), E( 63, 0), E( -63, 0), E( 64, 0), E( -64, 0),
+ E( 65, 0), E( -65, 0), E( 66, 0), E( -66, 0), E( 67, 0),
+ E( -67, 0), E( 68, 0), E( -68, 0), E( 69, 0), E( -69, 0),
+ E( 70, 0), E( -70, 0), E( 71, 0), E( -71, 0), E( 72, 0),
+ E( -72, 0), E( 73, 0), E( -73, 0), E( 74, 0), E( -74, 0),
+ E( 75, 0), E( -75, 0), E( 76, 0), E( -76, 0), E( 77, 0),
+ E( -77, 0), E( 78, 0), E( -78, 0), E( 79, 0), E( -79, 0),
+ E( 80, 0), E( -80, 0), E( 81, 0), E( -81, 0), E( 82, 0),
+ E( -82, 0), E( 83, 0), E( -83, 0), E( 84, 0), E( -84, 0),
+ E( 85, 0), E( -85, 0), E( 86, 0), E( -86, 0), E( 87, 0),
+ E( -87, 0), E( 88, 0), E( -88, 0), E( 89, 0), E( -89, 0),
+ E( 90, 0), E( -90, 0), E( 91, 0), E( -91, 0), E( 92, 0),
+ E( -92, 0), E( 93, 0), E( -93, 0), E( 94, 0), E( -94, 0),
+ E( 95, 0), E( -95, 0), E( 96, 0), E( -96, 0), E( 97, 0),
+ E( -97, 0), E( 98, 0), E( -98, 0), E( 99, 0), E( -99, 0),
+ E( 100, 0), E(-100, 0), E( 101, 0), E(-101, 0), E( 102, 0),
+ E(-102, 0), E( 103, 0), E(-103, 0), E( 104, 0), E(-104, 0),
+ E( 105, 0), E(-105, 0), E( 106, 0), E(-106, 0), E( 107, 0),
+ E(-107, 0), E( 108, 0), E(-108, 0), E( 109, 0), E(-109, 0),
+ E( 110, 0), E(-110, 0), E( 111, 0), E(-111, 0), E( 112, 0),
+ E(-112, 0), E( 113, 0), E(-113, 0), E( 114, 0), E(-114, 0),
+ E( 115, 0), E(-115, 0), E( 116, 0), E(-116, 0), E( 117, 0),
+ E(-117, 0), E( 118, 0), E(-118, 0), E( 119, 0), E(-119, 0),
+ E( 120, 0), E(-120, 0), E( 121, 0), E(-121, 0), E( 122, 0),
+ E(-122, 0), E( 123, 0), E(-123, 0), E( 124, 0), E(-124, 0),
+ E( 125, 0), E(-125, 0), E( 126, 0), E(-126, 0), E( 127, 0),
+ E(-127, 0), E( 128, 0), E(-128, 0), E( 129, 0), E(-129, 0),
+ E( 130, 0), E(-130, 0), E( 131, 0), E(-131, 0), E( 132, 0),
+ E(-132, 0), E( 133, 0), E(-133, 0), E( 134, 0), E(-134, 0),
+ E( 135, 0), E(-135, 0), E( 136, 0), E(-136, 0), E( 137, 0),
+ E(-137, 0), E( 138, 0), E(-138, 0), E( 139, 0), E(-139, 0),
+ E( 140, 0), E(-140, 0), E( 141, 0), E(-141, 0), E( 142, 0),
+ E(-142, 0), E( 143, 0), E(-143, 0), E( 144, 0), E(-144, 0),
+ E( 145, 0), E(-145, 0), E( 146, 0), E(-146, 0), E( 147, 0),
+ E(-147, 0), E( 148, 0), E(-148, 0), E( 149, 0), E(-149, 0),
+ E( 150, 0), E(-150, 0), E( 151, 0), E(-151, 0), E( 152, 0),
+ E(-152, 0), E( 153, 0), E(-153, 0), E( 154, 0), E(-154, 0),
+ E( 155, 0), E(-155, 0), E( 156, 0), E(-156, 0), E( 157, 0),
+ E(-157, 0), E( 158, 0), E(-158, 0), E( 159, 0), E(-159, 0),
+ E( 160, 0), E(-160, 0), E( 161, 0), E(-161, 0), E( 162, 0),
+ E(-162, 0), E( 163, 0), E(-163, 0), E( 164, 0), E(-164, 0),
+ E( 165, 0), E(-165, 0), E( 166, 0), E(-166, 0), E( 167, 0),
+ E(-167, 0), E( 168, 0), E(-168, 0), E( 169, 0), E(-169, 0),
+ E( 170, 0), E(-170, 0), E( 171, 0), E(-171, 0), E( 172, 0),
+ E(-172, 0), E( 173, 0), E(-173, 0), E( 174, 0), E(-174, 0),
+ E( 175, 0), E(-175, 0), E( 176, 0), E(-176, 0), E( 177, 0),
+ E(-177, 0), E( 178, 0), E(-178, 0), E( 179, 0), E(-179, 0),
+ E( 180, 0), E(-180, 0), E( 181, 0), E(-181, 0), E( 182, 0),
+ E(-182, 0), E( 183, 0), E(-183, 0), E( 184, 0), E(-184, 0),
+ E( 185, 0), E(-185, 0), E( 186, 0), E(-186, 0), E( 187, 0),
+ E(-187, 0), E( 188, 0), E(-188, 0), E( 189, 0), E(-189, 0),
+ E( 190, 0), E(-190, 0), E( 191, 0), E(-191, 0), E( 192, 0),
+ E(-192, 0), E( 193, 0), E(-193, 0), E( 194, 0), E(-194, 0),
+ E( 195, 0), E(-195, 0), E( 196, 0), E(-196, 0), E( 197, 0),
+ E(-197, 0), E( 198, 0), E(-198, 0), E( 199, 0), E(-199, 0),
+ E( 200, 0), E(-200, 0), E( 201, 0), E(-201, 0), E( 202, 0),
+ E(-202, 0), E( 203, 0), E(-203, 0), E( 204, 0), E(-204, 0),
+ E( 205, 0), E(-205, 0), E( 206, 0), E(-206, 0), E( 207, 0),
+ E(-207, 0), E( 208, 0), E(-208, 0), E( 209, 0), E(-209, 0),
+ E( 210, 0), E(-210, 0), E( 211, 0), E(-211, 0), E( 212, 0),
+ E(-212, 0), E( 213, 0), E(-213, 0), E( 214, 0), E(-214, 0),
+ E( 215, 0), E(-215, 0), E( 216, 0), E(-216, 0), E( 217, 0),
+ E(-217, 0), E( 218, 0), E(-218, 0), E( 219, 0), E(-219, 0),
+ E( 220, 0), E(-220, 0), E( 221, 0), E(-221, 0), E( 222, 0),
+ E(-222, 0), E( 223, 0), E(-223, 0), E( 224, 0), E(-224, 0),
+ E( 225, 0), E(-225, 0), E( 226, 0), E(-226, 0), E( 227, 0),
+ E(-227, 0), E( 228, 0), E(-228, 0), E( 229, 0), E(-229, 0),
+ E( 230, 0), E(-230, 0), E( 231, 0), E(-231, 0), E( 232, 0),
+ E(-232, 0), E( 233, 0), E(-233, 0), E( 234, 0), E(-234, 0),
+ E( 235, 0), E(-235, 0), E( 236, 0), E(-236, 0), E( 237, 0),
+ E(-237, 0), E( 238, 0), E(-238, 0), E( 239, 0), E(-239, 0),
+ E( 240, 0), E(-240, 0), E( 241, 0), E(-241, 0), E( 242, 0),
+ E(-242, 0), E( 243, 0), E(-243, 0), E( 244, 0), E(-244, 0),
+ E( 245, 0), E(-245, 0), E( 246, 0), E(-246, 0), E( 247, 0),
+ E(-247, 0), E( 248, 0), E(-248, 0), E( 249, 0), E(-249, 0),
+ E( 250, 0), E(-250, 0), E( 251, 0), E(-251, 0), E( 252, 0),
+ E(-252, 0), E( 253, 0), E(-253, 0), E( 254, 0), E(-254, 0),
+ E( 255, 0), E(-255, 0),
};
-static const int16_t hq_ac_syms[NUM_HQ_AC_ENTRIES] = {
- 1, -1, 2, -2, 0, 1, -1, 3,
- -3, 4, -4, 1, -1, 2, -2, 5,
- -5, 6, -6, 1, -1, 1, -1, 7,
- -7, 8, -8, 1, -1, 1, -1, 2,
- -2, 3, -3, 4, -4, 9, -9, 10,
- -10, 11, -11, 1, -1, 1, -1, 1,
- -1, 1, -1, 2, -2, 2, -2, 3,
- -3, 5, -5, 6, -6, 7, -7, 12,
- -12, 13, -13, 14, -14, 15, -15, 16,
- -16, 17, -17, 1, -1, 1, -1, 1,
- -1, 1, -1, 2, -2, 2, -2, 3,
- -3, 3, -3, 4, -4, 5, -5, 8,
- -8, 18, -18, 19, -19, 20, -20, 21,
- -21, 22, -22, 3, -3, 4, -4, 5,
- -5, 6, -6, 9, -9, 10, -10, 11,
- -11, 0, 0, 3, -3, 4, -4, 6,
- -6, 12, -12, 13, -13, 14, -14, 0,
- 0, 0, 0, 2, -2, 2, -2, 2,
- -2, 2, -2, 3, -3, 3, -3, 5,
- -5, 7, -7, 7, -7, 8, -8, 9,
- -9, 10, -10, 11, -11, 15, -15, 16,
- -16, 17, -17, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, -1, 2, -2,
- 3, -3, 4, -4, 5, -5, 6, -6,
- 7, -7, 8, -8, 9, -9, 10, -10,
- 11, -11, 12, -12, 13, -13, 14, -14,
- 15, -15, 16, -16, 17, -17, 18, -18,
- 19, -19, 20, -20, 21, -21, 22, -22,
- 23, -23, 24, -24, 25, -25, 26, -26,
- 27, -27, 28, -28, 29, -29, 30, -30,
- 31, -31, 32, -32, 33, -33, 34, -34,
- 35, -35, 36, -36, 37, -37, 38, -38,
- 39, -39, 40, -40, 41, -41, 42, -42,
- 43, -43, 44, -44, 45, -45, 46, -46,
- 47, -47, 48, -48, 49, -49, 50, -50,
- 51, -51, 52, -52, 53, -53, 54, -54,
- 55, -55, 56, -56, 57, -57, 58, -58,
- 59, -59, 60, -60, 61, -61, 62, -62,
- 63, -63, 64, -64, 65, -65, 66, -66,
- 67, -67, 68, -68, 69, -69, 70, -70,
- 71, -71, 72, -72, 73, -73, 74, -74,
- 75, -75, 76, -76, 77, -77, 78, -78,
- 79, -79, 80, -80, 81, -81, 82, -82,
- 83, -83, 84, -84, 85, -85, 86, -86,
- 87, -87, 88, -88, 89, -89, 90, -90,
- 91, -91, 92, -92, 93, -93, 94, -94,
- 95, -95, 96, -96, 97, -97, 98, -98,
- 99, -99, 100, -100, 101, -101, 102, -102,
- 103, -103, 104, -104, 105, -105, 106, -106,
- 107, -107, 108, -108, 109, -109, 110, -110,
- 111, -111, 112, -112, 113, -113, 114, -114,
- 115, -115, 116, -116, 117, -117, 118, -118,
- 119, -119, 120, -120, 121, -121, 122, -122,
- 123, -123, 124, -124, 125, -125, 126, -126,
- 127, -127, 128, -128, 129, -129, 130, -130,
- 131, -131, 132, -132, 133, -133, 134, -134,
- 135, -135, 136, -136, 137, -137, 138, -138,
- 139, -139, 140, -140, 141, -141, 142, -142,
- 143, -143, 144, -144, 145, -145, 146, -146,
- 147, -147, 148, -148, 149, -149, 150, -150,
- 151, -151, 152, -152, 153, -153, 154, -154,
- 155, -155, 156, -156, 157, -157, 158, -158,
- 159, -159, 160, -160, 161, -161, 162, -162,
- 163, -163, 164, -164, 165, -165, 166, -166,
- 167, -167, 168, -168, 169, -169, 170, -170,
- 171, -171, 172, -172, 173, -173, 174, -174,
- 175, -175, 176, -176, 177, -177, 178, -178,
- 179, -179, 180, -180, 181, -181, 182, -182,
- 183, -183, 184, -184, 185, -185, 186, -186,
- 187, -187, 188, -188, 189, -189, 190, -190,
- 191, -191, 192, -192, 193, -193, 194, -194,
- 195, -195, 196, -196, 197, -197, 198, -198,
- 199, -199, 200, -200, 201, -201, 202, -202,
- 203, -203, 204, -204, 205, -205, 206, -206,
- 207, -207, 208, -208, 209, -209, 210, -210,
- 211, -211, 212, -212, 213, -213, 214, -214,
- 215, -215, 216, -216, 217, -217, 218, -218,
- 219, -219, 220, -220, 221, -221, 222, -222,
- 223, -223, 224, -224, 225, -225, 226, -226,
- 227, -227, 228, -228, 229, -229, 230, -230,
- 231, -231, 232, -232, 233, -233, 234, -234,
- 235, -235, 236, -236, 237, -237, 238, -238,
- 239, -239, 240, -240, 241, -241, 242, -242,
- 243, -243, 244, -244, 245, -245, 246, -246,
- 247, -247, 248, -248, 249, -249, 250, -250,
- 251, -251, 252, -252, 253, -253, 254, -254,
- 255, -255,
+static const uint8_t hq_ac_lens[NUM_HQ_AC_ENTRIES] = {
+ 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6,
+ 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
+ 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 16, INV,16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
};
/* tables section - one per supported profile */
More information about the ffmpeg-cvslog
mailing list