Home Units Hierarchy Routines All identifiers

Unit unaG7221

DescriptionUsesClasses, Interfaces, Objects and RecordsFunctions and ProceduresTypesConstantsVariables

Description

G.722.1 implementation based on ITU source code

1.0 First release

Uses

Overview

Classes, Interfaces, Objects and Records

Name Description
record cos_msin_t  
Class unaDCT_IV Discrete Cosine Transform, Type IV
Class unaG7221Coder G.722.1 Coder
Class unaG7221Decoder G.722.1 Decoder
Class unaG7221Encoder G.722.1 Encoder
Class unaMTLVector Mostly internal.

Types

tmax_vector = array[0..MAX_VECTOR_DIMENSION - 1] of int32;
tmax_regions = array[0..MAX_NUM_REGIONS - 1] of int32;
tmax_regions4 = array[0..4 * MAX_NUM_REGIONS - 1] of uint32;
tmax_regionsP1 = array[0..MAX_NUM_REGIONS] of int32;
tmax_regionsf = array[0..MAX_NUM_REGIONS - 1] of float;
tmax_rate_control = array[0..MAX_NUM_RATE_CONTROL_POSSIBILITIES - 2] of int32;
tmax_dct_size = array[0..MAX_DCT_SIZE - 1] of int16;
tmax_dct_sizef = array[0..MAX_DCT_SIZE - 1] of float;
tmax_frame = array[0..MAX_BITS_PER_FRAME shr 4 - 1] of uint16;
pcos_msin_t = ˆcos_msin_t;

Constants

ABS_REGION_POWER_LEVELS = 32;
differential_region_power_bits: array[0..MAX_NUM_REGIONS - 1, 0..DIFF_REGION_POWER_LEVELS - 1] of int32 = ( ( 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99), ( 4, 6, 5, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 5, 7, 8, 9,11,11,12,12,12,12), ( 10, 8, 6, 5, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 7, 9,11,12,13,15,15,15,16,16), ( 12,10, 8, 6, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 4, 5, 5, 7, 9,11,13,14,14), ( 13,10, 9, 9, 7, 7, 5, 5, 4, 3, 3, 3, 3, 3, 4, 4, 4, 5, 7, 9,11,13,13,13), ( 12,13,10, 8, 6, 6, 5, 5, 4, 4, 3, 3, 3, 3, 3, 4, 5, 5, 6, 7, 9,11,14,14), ( 12,11, 9, 8, 8, 7, 5, 4, 4, 3, 3, 3, 3, 3, 4, 4, 5, 5, 7, 8,10,13,14,14), ( 15,16,15,12,10, 8, 6, 5, 4, 3, 3, 3, 2, 3, 4, 5, 5, 7, 9,11,13,16,16,16), ( 14,14,11,10, 9, 7, 7, 5, 5, 4, 3, 3, 2, 3, 3, 4, 5, 7, 9, 9,12,14,15,15), ( 9, 9, 9, 8, 7, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 6, 7, 8,10,11,12,13,13), ( 14,12,10, 8, 6, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 6, 8, 8, 9,11,14,14,14), ( 13,10, 9, 8, 6, 6, 5, 4, 4, 4, 3, 3, 2, 3, 4, 5, 6, 8, 9, 9,11,12,14,14), ( 16,13,12,11, 9, 6, 5, 5, 4, 4, 4, 3, 2, 3, 3, 4, 5, 7, 8,10,14,16,16,16), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14));
differential_region_power_codes: array[0..MAX_NUM_REGIONS - 1, 0..DIFF_REGION_POWER_LEVELS - 1] of int32 = ( ( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), ( 8,38,18,10, 7, 6, 3, 2, 0, 1, 7, 6, 5, 4,11,78,158,318,1278,1279,2552,2553,2554,2555 ), ( 36, 8, 3, 5, 0, 1, 7, 6, 4, 3, 2, 5, 3, 4, 5,19,74,150,302,1213,1214,1215,2424,2425 ), ( 2582,644,160,41, 5,11, 7, 5, 4, 1, 0, 6, 4, 7, 3, 6, 4,21,81,323,1290,5167,10332,10333 ), ( 2940,366,181,180,47,46,27,10, 8, 5, 1, 0, 3, 7, 4, 9,12,26,44,182,734,2941,2942,2943 ), ( 3982,7967,994,249,63,26,19,18,14, 8, 6, 1, 0, 2, 5, 7,12,30,27,125,496,1990,15932,15933 ), ( 3254,1626,407,206,202,100,30,14, 3, 5, 3, 0, 2, 4, 2,13,24,31,102,207,812,6511,13020,13021 ), ( 1110,2216,1111,139,35, 9, 3,20,11, 4, 2, 1, 3, 3, 1, 0,21, 5,16,68,276,2217,2218,2219 ), ( 1013,1014,127,62,29, 6, 4,16, 0, 1, 3, 2, 3, 1, 5, 9,17, 5,28,30,252,1015,2024,2025 ), ( 381,380,372,191,94,44,16,10, 7, 3, 1, 0, 2, 6, 9,17,45,92,187,746,1494,2991,5980,5981 ), ( 3036,758,188,45,43,10, 4, 3, 6, 4, 2, 0, 3, 7,11,20,42,44,46,95,378,3037,3038,3039 ), ( 751,92,45,20,26, 4,12, 7, 4, 0, 4, 1, 3, 5, 5, 3,27,21,44,47,186,374,1500,1501 ), ( 45572,5697,2849,1425,357,45,23, 6,10, 7, 2, 2, 3, 0, 4, 6, 7,88,179,713,11392,45573,45574,45575 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ));
differential_region_power_decoder_tree: array [0..MAX_NUM_REGIONS - 1, 0..DIFF_REGION_POWER_LEVELS - 2, 0..1] of int32 = ( ( ( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 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, 2),( 3, 4),( 5, 6),( 7, 8),( 9, 10),( 11,-12),(-11,-10),( -8, -9),( -7, -6),(-13, 12),( -5, -4),( 0, 13),( -3,-14),( -2, 14),( -1, 15),(-15, 16),(-16, 17),(-17, 18),( 19, 20),( 21, 22),(-18,-19),(-20,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),( 7, 8),(-10, -9),( -8,-11),( -7, -6),( 9, -5),( 10,-12),( -4, 11),(-13, -3),( 12, -2),( 13,-14),( -1, 14),( 15,-15),( 0, 16),(-16, 17),(-17, 18),(-18, 19),( 20, 21),( 22,-19),(-20,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),( 7, 8),( 9, 10),(-12, 11),(-11,-13),(-10, -9),( 12,-14),( -8, -7),(-15, -6),( 13, -5),(-16, -4),( 14,-17),( 15, -3),( 16,-18),( -2, 17),( 18,-19),( -1, 19),(-20, 20),( 0, 21),( 22,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),(-11,-10),( 7,-12),( 8, -9),( 9,-13),(-14, 10),( -8,-15),(-16, 11),( -7, 12),(-17, -6),( 13, 14),(-18, 15),( -5, -4),( 16, 17),( -3, -2),(-19, 18),( -1, 19),(-20, 20),( 21, 22),( 0,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),(-12,-11),(-13, 7),( 8,-14),(-10, 9),( 10,-15),( -9, 11),( -8, 12),(-16, 13),( -7, -6),(-17, 14),( -5,-18),( 15, -4),( 16,-19),( 17, -3),(-20, 18),( -2, 19),(-21, 20),( 0, 21),( 22, -1),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),(-11, 7),(-12,-10),(-13, -9),( 8, 9),(-14, -8),( 10,-15),( -7, 11),(-16, 12),( -6,-17),( 13, 14),( -5, 15),(-18, 16),( -4, 17),( -3,-19),( 18, -2),(-20, 19),( -1, 20),( 0, 21),( 22,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5,-12),( 6,-11),(-10,-13),( -9, 7),( 8,-14),( 9, -8),(-15, 10),( -7,-16),( 11, -6),( 12,-17),( 13, -5),(-18, 14),( 15, -4),(-19, 16),( 17, -3),(-20, 18),( 19, 20),( 21, 22),( 0, -2),( -1,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5,-12),( 6,-13),(-11,-10),( 7,-14),( 8, -9),( 9,-15),( -8, 10),( -7,-16),( 11, 12),( -6,-17),( -5, 13),( 14, 15),(-18, -4),(-19, 16),( -3, 17),( 18, -2),(-20, 19),( 20, 21),( 22, 0),( -1,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),(-11,-10),(-12, -9),( 7, 8),(-13, -8),( 9,-14),( -7, 10),( -6,-15),( 11, 12),( -5,-16),( 13, 14),(-17, 15),( -4, 16),( 17,-18),( 18, -3),( -2, 19),( -1, 0),(-19, 20),(-20, 21),( 22,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),(-11, 7),(-10,-12),( -9, 8),( -8,-13),( 9, -7),( 10,-14),( -6, 11),(-15, 12),( -5, 13),(-16, -4),( 14, 15),(-17, -3),(-18, 16),( 17,-19),( -2, 18),(-20, 19),( -1, 20),( 21, 22),( 0,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5,-12),( 6,-11),( 7, 8),(-10,-13),( -9, 9),( -8,-14),( 10, -7),( 11,-15),( -6, 12),( -5, 13),( -4,-16),( 14, 15),( -3,-17),( 16, 17),(-18, -2),( 18,-19),( -1, 19),(-20, 20),(-21, 21),( 22, 0),(-22,-23)), ( ( 1, 2),( 3, 4),( 5,-12),(-13, 6),(-11, 7),(-14, 8),(-10, 9),(-15, -9),( -8, 10),( -7,-16),( 11, -6),( 12, -5),(-17, 13),( 14,-18),( 15, -4),( 16,-19),( 17, -3),( 18, -2),( 19, -1),(-20, 20),( 21, 22),( 0,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)));
DIFF_REGION_POWER_LEVELS = 24;
DRP_DIFF_MAX = 11;
DRP_DIFF_MIN = -12;
ENCODER_SCALE_FACTOR = 18318.0;
ESF_ADJUSTMENT_TO_RMS_INDEX = (9-2);
expected_bits_table: array[0..NUM_CATEGORIES - 1] of int32 = ( 52, 47, 43, 37, 29, 22, 16, 0);
INTERMEDIATE_FILES_FLAG = 0;
MAX_BITS_PER_FRAME = 960;
MAX_DCT_SIZE = 640;
MAX_NUM_BINS = 14;
MAX_NUM_RATE_CONTROL_BITS = 5;
MAX_NUM_RATE_CONTROL_POSSIBILITIES = 32;
MAX_NUM_REGIONS = 28;
MAX_VECTOR_DIMENSION = 5;
MAX_VECTOR_INDICES = 625;
mlt_decoder_tree_category_0: array[0..179, 0..1] of int32 = ( ( 1, 0),( 2, 3),( 4, 5),( 6, 7),( 8, 9),( -1, -14),( 10, 11),( 12, 13), ( 14, 15),( 16, 17),( 18, 19),( -15, 20),( 21, 22),( 23, -28),( 24, -2),( 25, 26), ( 27, 28),( 29, 30),( 31, 32),( -29, 33),( -16, 34),( -3, 35),( 36, 37),( -42, 38), ( 39, 40),( 41, 42),( 43, 44),( -17, 45),( -43, 46),( 47, 48),( -4, 49),( -56, 50), ( 51, 52),( 53, 54),( 55, 56),( -57, -5),( -30, 57),( 58, 59),( -18, 60),( 61, -70), ( 62, 63),( 64, -6),( 65, 66),( -44, 67),( -71, 68),( 69, 70),( -19, -31),( -84, 71), ( 72, 73),( 74, 75),( 76, 77),( -7, 78),( 79, -20),( 80, 81),( -85, 82),( -98, 83), ( -58, 84),( 85, -32),( -99, 86),( -8, 87),( 88, 89),( -72, -45),( 90, -33),( 91,-112), ( -21, 92),( -59,-113),( -46, 93),( -9, 94),( -22, 95),( 96, 97),( 98, 99),( -23, -86), ( 100, 101),( -34, -73),( 102,-126),(-127, -35),( 103, -47),( 104, 105),( 106, 107),(-140,-100), (-114, -87),( 108, 109),( 110, 111),(-141, -60),( 112, -48),( 113, -24),( -10, -61),( 114,-101), ( 115, 116),( -74, -36),( 117,-128),( 118, -62),( 119, 120),( -37, 121),( -11, -49),( -88, 122), ( 123,-115),(-154, -25),(-142, 124),(-155,-129),( 125, -50),( 126, 127),( -76, -75),( 128, 129), ( -63, -77),(-102, -39),( -38, 130),( -51, 131),( -89,-116),(-117,-156),( 132, -52),( -78, 133), ( 134,-103),( 135, 136),(-143, -65),( 137, -64),(-130,-131),( -90, 138),(-104, -91),( -92, 139), (-169,-183),( -26,-118),( 140, 141),(-144, -66),( -12, 142),(-168, 143),(-105,-157),( 144,-182), ( 145, 146),( -79, 147),( -53,-170),( 148, 149),( -27,-145),( 150, -80),(-106, -13),(-132, -67), (-158, -40),(-119, 151),( 152,-107),( 153, 154),( -41,-184),( 155, 156),( -54, 157),(-171, 158), ( -94, 159),(-134,-146),( -93,-133),(-159,-108),( 160, -81),( 161,-160),( 162, -68),(-120,-122), (-172, 163),( -55, -95),( 164,-109),(-161, -82),(-173,-185),( 165, -69),(-147,-186),( 166, 167), (-121, -96),( 168,-148),(-174, 169),( 170,-136),( -83, 171),( 172, 173),(-135,-110),(-187, 174), (-149,-150),( 175,-123),(-162,-163),( -97,-175),(-188, 176),( 177, 178),( 179,-111),(-151,-124), (-137,-177),(-176,-125),(-164,-138),(-189,-190));
mlt_decoder_tree_category_1: array[0..92, 0..1] of int32 = ( ( 1, 0),( 2, 3),( 4, 5),( 6, 7),( 8, -10),( -1, 9),( 10, 11),( 12, 13), ( -11, 14),( 15, 16),( 17, 18),( -20, -2),( 19, 20),( -21, 21),( 22, 23),( -12, 24), ( 25, 26),( 27, 28),( 29, 30),( -30, 31),( -31, -3),( 32, -22),( 33, -13),( 34, 35), ( 36, 37),( 38, 39),( 40, -4),( -41, -14),( 41, -40),( -32, 42),( 43, -23),( 44, 45), ( 46, 47),( 48, -5),( -51, -50),( -42, 49),( -33, 50),( -15, 51),( 52, 53),( 54, -24), ( 55, -43),( 56, -52),( 57, -61),( -60, 58),( -25, 59),( -16, -34),( -6, 60),( -62, 61), ( -71, 62),( -35, -7),( 63, -72),( -53, -17),( 64, -44),( -26, -70),( 65, -45),( -36, 66), ( -63, 67),( -80, -54),( -81, 68),( -27, 69),( 70, -82),( -18, 71),( 72, -55),( 73, -64), ( 74, -73),( 75, -46),( -37, 76),( -91, -8),( -9, 77),( -90, -83),( 78, -28),( 79, -56), ( -65, -38),( -74, 80),( -19, -57),( -92, 81),( -47, -48),( 82, -66),( 83, -29),( -84, 84), ( -75, -85),( -67, -93),( -39, 85),( -76, 86),( -58, 87),( 88, -49),( -94, 89),( 90, -68), ( 91, -78),( -86, -59),( -77, -95),( 92, -69),( -87, -96));
mlt_decoder_tree_category_2: array[0..46, 0..1] of int32 = ( ( 1, 0),( 2, 3),( 4, 5),( 6, -7),( -1, 7),( -8, 8),( 9, 10),( 11, 12), ( 13, -14),( -15, -9),( -2, 14),( 15, 16),( 17, 18),( 19, -16),( 20, -22),( -10, 21), ( -21, -3),( 22, 23),( 24, 25),( -23, -17),( 26, 27),( 28, -29),( -11, -28),( 29, 30), ( -4, -24),( -30, 31),( 32, -18),( 33, -35),( -36, 34),( -31, -12),( 35, -25),( -5, -37), ( 36, 37),( -42, 38),( -19, -43),( -32, 39),( -13, -38),( -26, -20),( 40, -6),( -44, 41), ( 42, -39),( -33, -45),( 43, -27),( 44, -46),( 45, -34),( -40, 46),( -41, -47));
mlt_decoder_tree_category_3: array[0..518, 0..1] of int32 = ( ( 1, 2),( 3, 4),( 5, 0),( 6, 7),( 8, 9),( 10, 11),( 12, 13),( 14, 15), ( 16, 17),(-125, 18),( -1, 19),( 20, 21),( 22, 23),( 24, 25),( -5, -25),( 26, 27), ( -6,-150),( 28, 29),( 30, 31),( 32, 33),( 34, -30),( 35, 36),( 37, 38),( 39, -31), (-126,-155),( 40, 41),(-156, 42),( 43,-130),( 44,-131),(-151, -26),( 45, 46),(-250, 47), ( 48, 49),( 50, 51),( 52,-275),( 53, 54),( -2, -7),( 55, 56),( 57, 58),( 59, 60), ( 61, 62),( 63, 64),( 65, 66),( 67, 68),( 69, 70),( 71, -50),( 72,-180),( 73, 74), ( 75, 76),( 77, -55),( 78,-175),( 79, -36),( 80, 81),( -35, -10),( 82, 83),(-280, 84), ( -11, 85),( 86, -32),( 87, 88),( 89,-161),( 90,-276),( 91, 92),(-281, 93),( -8, 94), ( 95, 96),( 97,-157),(-181,-400),(-132, 98),(-375, 99),(-160, 100),(-127, 101),( -27, 102), ( 103,-251),( -56, 104),( 105,-256),(-300, -3),(-152,-255),( 106, 107),( -37, 108),(-305, 109), (-176, 110),(-136, 111),( -12, 112),( 113, 114),( 115,-135),( 116, 117),(-162, 118),( -16, -51), (-186, 119),( 120, 121),( 122, 123),( -41, 124),( -61, 125),( 126, 127),( 128, 129),( 130, -60), ( 131, 132),(-306, 133),( 134,-205),(-405, 135),( 136, 137),( 138, 139),(-185, 140),( 141,-500), ( -15, 142),( 143, -80),( -75, -40),(-301, 144),( 145, 146),(-200, 147),( 148, 149),( 150, 151), ( 152,-525),( 153,-177),(-425, 154),( 155, -13),(-430, 156),( 157,-406),( 158, 159),(-206,-380), ( 160, 161),( 162, 163),( 164,-182),(-137, 165),(-286, 166),( 167,-401),( 168, 169),( -42, -33), ( 170,-166),( -57,-325),( 171,-187),( -38, 172),( 173, 174),(-165,-330),( -4,-282),( 175,-257), (-261,-311),(-376, 176),( 177, 178),( -28, 179),( 180, -9),(-285, 181),( 182, 183),( 184,-277), ( 185,-133),(-310, -81),( -85, 186),(-158,-210),( -17, 187),( 188, 189),( 190, -52),(-141, 191), ( 192,-128),(-191, -20),( 193,-140),( 194, 195),(-211,-260),( 196, 197),( 198, 199),( 200, -66), (-201,-225),(-381, 201),( 202, 203),( 204, 205),( 206, 207),(-163,-287),( 208,-100),( 209, 210), ( 211, 212),( 213,-252),(-105, -76),( 214, 215),( 216, -21),( -86, -62),(-307, 217),( -65,-455), (-550, 218),( 219, 220),( 221, 222),( 223, 224),( 225,-230),(-142, 226),(-302,-426),(-431, 227), ( 228, 229),( 230,-190),(-402, -46),(-153,-450),(-505, 231),( 232, 233),( 234, 235),( 236, 237), ( 238, 239),(-262, -29),( 240, 241),( 242, 243),(-167, -67),(-331,-530),( 244, 245),( 246, 247), ( 248, 249),( 250, 251),( 252, 253),( 254, 255),( 256, 257),( 258, 259),( 260, 261),( 262,-336), ( 263,-171),(-192,-207),(-258,-138),( 264, 265),( 266, 267),( 268, 269),( 270, 271),( 272, 273), ( 274, -45),(-335,-411),( -43, -18),(-265, -71),(-316,-326),(-350,-407),(-146, -14),( 275, 276), ( 277, 278),( 279, 280),( 281,-216),( -34,-283),(-291,-312),(-410,-168),(-555, 282),( -70, -53), (-235, -87),( -77,-183),(-315,-332),(-178, -58),( 283, 284),( 285, 286),( 287, 288),( 289, 290), ( 291, 292),( 293, 294),( 295, 296),( 297, 298),(-202,-226),(-170,-267),(-134,-290),(-355,-385), (-386, -47),(-526,-196),( 299, 300),( 301, 302),( 303, 304),( 305, 306),( 307, 308),( 309, 310), ( 311, 312),( 313, 314),( 315, 316),( 317, 318),( 319, 320),( 321, 322),( 323, 324),( 325,-111), (-231,-253),( -91, -82),(-172,-145),( -22,-317),( -90,-356),(-382,-159),( 326, 327),( 328, 329), ( 330, 331),( 332, 333),( 334, 335),(-106,-263),(-278,-215),(-110, -39),(-101,-377),(-129, -63), (-436,-195),(-506,-531),( 336,-212),(-154,-266),( -59,-288),(-292,-303),(-337,-432),(-188,-451), (-456,-460),(-501,-236),(-551, 337),( 338, 339),( 340, 341),( 342, 343),( 344, 345),( 346, 347), ( 348, 349),( 350, 351),( 352, 353),( 354, 355),( 356, 357),( 358, 359),( 360, 361),( 362, 363), ( 364, 365),( 366, 367),( 368, 369),( 370, 371),( 372, 373),( 374, 375),( 376, 377),( 378, 379), ( 380, 381),( 382, 383),( 384, 385),( 386, 387),( 388, 389),( 390, 391),( 392, 393),( 394, 395), ( 396, 397),( 398, 399),( 400, 401),( 402, 403),( 404, 405),( 406, 407),( -72,-272),(-309,-333), (-340,-360),( -68,-387),(-184,-416),(-427,-147),(-435,-437),(-115,-480),(-510,-532),(-164,-556), ( 408,-295),(-296,-297),(-107,-313),(-193,-173),(-320,-327),(-341,-351),(-352,-143),(-378, -19), (-403,-412),(-268, -54),( -83,-441),(-442,-457),(-475, -44),( -97,-511),(-515,-208),(-527,-528), (-237,-536),(-552, 409),( 410, 411),( 412, 413),( 414, 415),( 416, 417),( 418, 419),( 420, 421), ( 422, 423),( 424, 425),( 426, 427),( 428, 429),( 430, 431),( 432, 433),( 434, 435),( 436, 437), ( 438, 439),( 440, 441),( 442, 443),( 444, 445),( 446, 447),( 448, 449),( 450, 451),( 452, 453), ( 454, 455),( 456, 457),( 458, 459),( 460, 461),( 462, 463),( 464, 465),( 466, 467),( 468, 469), ( 470, 471),( 472, 473),( 474, 475),( 476, 477),( 478, 479),( 480, 481),( 482, 483),( 484, 485), ( 486, 487),( 488, 489),( 490, 491),( 492, 493),( 494, 495),( 496, 497),( 498, 499),( 500, 501), ( 502, 503),( 504, 505),( 506, 507),( 508, 509),( 510, 511),( 512, 513),( 514, 515),( 516, 517), ( 518,-104),( -84,-218),(-318,-319),(-117,-321),(-322,-323),(-219,-174),(-243,-328),(-329, -94), (-228,-194),(-240,-334),(-102,-229),(-169,-338),(-339,-116),(-289,-342),(-343,-345),(-346,-347), ( -23,-203),(-214,-353),(-204,-220),(-357,-358),(-264,-361),(-362,-363),(-365,-366),(-367, -92), (-245,-121),(-293,-379),(-108,-232),(-221,-383),(-384,-233),(-294,-241),(-388,-389),(-390,-391), (-392,-393),(-394,-395),(-396,-397),(-398, -24),(-109,-149),(-242,-404),( -64, -79),( -89,-408), (-409,-213),(-120,-113),(-413,-414),(-415, -96),(-417,-418),(-419,-420),(-421,-422),(-423,-298), ( -69,-269),(-428,-429),( -78,-270),( -88,-433),(-434,-271),(-234,-259),(-438,-439),(-440,-227), (-179,-443),(-445,-446),(-447,-223),(-238,-452),(-453,-454),(-273,-254),(-246,-458),(-459, -48), (-461,-462),(-463,-465),(-466,-467),(-468,-470),(-471,-304),(-476,-477),(-478,-112),(-481,-482), (-483,-485),(-486,-487),(-490,-491),(-103,-118),(-502,-503),(-504,-189),( -93,-507),(-508,-509), (-148,-139),(-512,-513),(-308,-516),(-517,-518),(-520,-521),( -73, -98),( -95, -49),(-529,-222), (-217,-197),(-533,-534),(-535,-284),(-537,-538),(-540,-541),(-542,-543),(-545,-546),(-144,-198), (-314,-553),(-209,-279),(-557,-558),(-560,-561),(-562,-563),(-565,-566),(-567,-575),(-576,-577), (-578,-580),(-581,-582),(-583,-585),(-586,-587),(-590,-591),(-600,-601),(-605,-606));
mlt_decoder_tree_category_4: array[0..207, 0..1] of int32 = ( ( 1, 2),( 3, 0),( 4, 5),( 6, 7),( 8, 9),( 10, 11),( 12, -64),( -1, 13), ( 14, -16),( -4, 15),( 16, 17),( 18, -80),( -5, 19),( 20, 21),( -20, 22),( 23, -65), ( -84, -21),( -68, 24),( -17, 25),( 26, 27),( 28, -81),( -69, -85),( 29, 30),( 31, 32), (-128, 33),( 34, 35),( -2, 36),( 37, 38),(-144, 39),( 40, -6),( 41, 42),( -32, 43), ( 44, -8),( 45, -25),( -96, 46),( 47,-100),( -9, 48),( 49, -36),( 50, -24),( 51, 52), ( 53,-148),( 54, 55),( -22, 56),( 57, 58),(-132, -89),( 59, 60),(-101, 61),( -37, 62), ( -18, 63),( -88,-129),( -66, -70),( -97, 64),( -72, -73),( 65,-145),(-149, -86),( 66, -33), ( 67,-133),( 68, 69),( 70, 71),(-192, 72),( 73,-160),( -82, 74),(-164, 75),( -10, 76), ( 77,-208),( 78, -40),( 79, 80),( -3, 81),( -7, 82),( 83, 84),(-104, 85),( 86, -26), ( 87,-105),( 88,-112),( 89, 90),( 91, -41),( 92, 93),( 94, 95),( -48, 96),( -90, 97), ( 98, -28),( -52, 99),( -12, 100),( 101, -74),( -13,-116),(-161, 102),( 103, -29),(-102, 104), (-152,-165),( 105, 106),( 107, 108),( 109, 110),( 111,-212),( 112, 113),(-136, 114),( 115,-137), ( 116, -23),( -19,-153),( -98,-134),(-196, 117),( 118, 119),( -38,-193),(-113,-150),(-209, 120), ( 121, -93),( -83, 122),( 123, 124),( 125, 126),( 127, 128),( 129, 130),( 131, -34),(-146, -53), ( 132, 133),( 134, 135),( 136, 137),( 138,-130),( -49, 139),( 140, 141),(-117, -42),( -67, -92), ( 142, -87),( -77,-197),( -71, 143),( 144, 145),( 146, 147),( 148, 149),( 150, 151),( 152, 153), ( 154, 155),( 156, 157),( 158, 159),( 160, 161),( 162, 163),( 164, 165),( 166, 167),( 168, 169), (-108, -76),(-168,-169),(-176, -44),(-224, -56),( -45,-180),( -11,-106),(-213, 170),( 171, 172), ( 173, 174),( 175, 176),( 177, 178),( 179, 180),( 181, 182),( 183, 184),( 185, 186),( 187, 188), ( 189, 190),( 191, 192),( 193, 194),( 195, 196),( 197, 198),( 199, 200),( 201, 202),( 203, 204), ( 205, 206),( 207,-131),( -30, -27),( -43,-151),( -75,-154),(-156,-162),(-109,-194),(-198,-201), (-114,-225),(-228,-229),(-141,-142),( -94,-124),( -95,-147),(-115,-125),( -54, -55),(-107, -58), ( -39,-155),(-121,-157),(-158,-103),( -14,-122),(-163, -51),( -57,-166),(-167, -46),(-110,-170), (-172,-173),( -61,-177),(-178, -99),(-181,-182),(-184,-185),(-118, -35),( -15,-195),( -31, -60), (-135,-199),(-200, -79),(-202,-204),(-205,-119),( -91,-210),(-211, -78),(-120,-214),(-215,-216), (-217,-218),(-220,-221),( -50,-138),(-226,-139),(-140,-230),(-232,-233),(-240,-241),(-244,-245) );
mlt_decoder_tree_category_5: array[0..190, 0..1] of int32 = ( ( 1, 2),( 0, 3),( 4, 5),( 6, 7),( 8, 9),( 10, 11),( -81, -1),( 12, 13), ( 14, -27),( -3, -9),( 15, 16),( 17, 18),( 19, 20),(-108, 21),( -4, 22),( 23, -36), ( -12, 24),( -82, 25),( 26, -84),( 27, -90),( -10, -30),( 28, 29),( 30, -28),( 31,-117), ( -13, 32),( -39, 33),( 34,-109),( 35, -93),( -85,-111),( -37, 36),( -31, 37),( -91, 38), ( 39, 40),( -40,-120),( 41, 42),(-118, 43),( -94, 44),(-112,-162),( 45, 46),( -2, 47), ( 48, 49),(-121,-189),( 50, -54),( 51, 52),( 53, -18),( 54, 55),( -6, 56),( 57, -5), (-135, 58),( 59, 60),( 61, 62),( -63, 63),( 64, -7),( -15, 65),( 66, 67),( -45, 68), ( 69, 70),( 71, -21),( 72, 73),( 74, 75),( 76, 77),(-163, 78),( 79,-171),(-144, 80), ( -48, 81),( -57, 82),( 83, 84),(-165, 85),( -16,-198),( 86, 87),( -11, 88),( 89, -99), ( 90, -83),( -19, 91),( 92, 93),( 94, 95),( 96, 97),( 98, 99),( -87, 100),( 101, 102), (-190, -66),( -33,-192),( 103, 104),( 105, 106),(-102, -42),( 107,-126),( 108, -29),(-129, -46), ( -86, -14),(-114, -32),(-172, 109),( 110, -58),( -34,-138),( 111, 112),( 113, 114),( 115, 116), ( 117, 118),( 119, 120),(-127,-166),(-174, 121),( 122, 123),( 124, 125),( -88, -96),( 126,-100), ( -38,-110),( -22,-136),( -55,-139),(-201, 127),( -64,-193),( 128, -49),(-175,-199),( 129, 130), ( 131, 132),( 133, 134),( 135, 136),( 137, 138),( 139, 140),( 141, 142),( 143, 144),( 145, 146), ( 147, 148),( 149, 150),(-103, -92),( -43,-130),(-145,-147),(-148, -41),(-216,-115),(-119,-123), ( -95, 151),( 152, 153),( 154, 155),( 156, 157),( 158, 159),( 160, 161),( 162, 163),( 164, 165), ( 166, 167),( 168, 169),( 170, 171),( 172, 173),( 174, 175),( 176, 177),( 178, 179),( 180, 181), ( 182, 183),( 184, 185),( 186, 187),( 188, 189),( 190,-153),(-180, -8),( -97, -24),(-122,-113), (-124,-125),( -67, -44),(-128, -69),(-106,-131),(-132,-133),( -61, -73),(-137,-116),( -89,-140), (-141,-142),( -23, -25),(-146, -17),(-104,-149),(-150,-151),( -52,-154),(-156,-157),( -76, -70), (-164, -51),( -72,-167),(-168,-169),( -47, -20),(-173, -59),(-101,-176),(-177,-178),( -68,-181), (-183,-184),( -35, -60),(-191, -98),( -56,-194),(-195,-196),( -75, -65),(-200,-105),(-202,-203), (-204,-205),(-207,-208),(-210,-211),( -50,-217),(-219,-220),(-225,-226),(-228,-229) );
mlt_decoder_tree_category_6: array[0..30, 0..1] of int32 = ( ( 1, 0),( 2, 3),( 4, 5),( 6, 7),( 8, -16),( -1, -8),( -2, -4),( 9, 10), ( 11, 12),( 13, 14),( 15, 16),( 17, -24),( -3, -12),( -6, 18),( 19, -20),( -10, -5), ( -17, -9),( -18, 20),( 21, 22),( 23, 24),( 25, -28),( 26, -7),( -14, -22),( -26, -11), ( 27, -19),( -25, -13),( -21, 28),( 29, -30),( -27, 30),( -15, -29),( -23, -31) );
mlt_quant_centroid: array[0..NUM_CATEGORIES-2, 0..MAX_NUM_BINS - 1] of float = ( ( 0.0 ,0.392 ,0.761 ,1.120 ,1.477 ,1.832 ,2.183 ,2.541 ,2.893 ,3.245 ,3.598 ,3.942 ,4.288 ,4.724 ), ( 0.0 ,0.544 ,1.060 ,1.563 ,2.068 ,2.571 ,3.072 ,3.562 ,4.070 ,4.620 , 0.0 , 0.0 , 0.0 , 0.0 ), ( 0.0 ,0.746 ,1.464 ,2.180 ,2.882 ,3.584 ,4.316 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ), ( 0.0 ,1.006 ,2.000 ,2.993 ,3.985 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ), ( 0.0 ,1.321 ,2.703 ,3.983 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ), ( 0.0 ,1.657 ,3.491 , 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.964 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ));
mlt_sqvh_bitcount_category_0: array[0..195] of int32 = ( 1, 4, 6, 6, 7, 7, 8, 8, 8, 9, 9,10,11,11, 4, 5, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,11,11, 5, 6, 7, 8, 8, 9, 9, 9, 9,10,10,10,11,12, 6, 7, 8, 9, 9, 9, 9,10,10,10,10,11,12,13, 7, 7, 8, 9, 9, 9,10,10, 10,10,11,11,12,13, 8, 8, 9, 9, 9,10,10,10,10,11, 11,12,13,14, 8, 8, 9, 9,10,10,11,11,11,12,12,13, 13,15, 8, 8, 9, 9,10,10,11,11,11,12,12,13,14,15, 9, 9, 9,10,10,10,11,11,12,13,12,14,15,16, 9, 9, 10,10,10,10,11,12,12,14,14,16,16,16, 9, 9,10,10, 11,11,12,13,13,14,14,15,15,16,10,10,10,11,11,12, 12,13,15,15,16,14,15,15,11,11,11,12,13,13,13,15, 16,16,16,16,14,15,11,11,12,13,13,14,15,16,16,16, 16,16,16,14);
mlt_sqvh_bitcount_category_1: array[0..99] of int32 = ( 1, 4, 5, 6, 7, 8, 8, 9,10,10, 4, 5, 6, 7, 7, 8, 8, 9, 9,11, 5, 5, 6, 7, 8, 8, 9, 9,10,11, 6, 6, 7, 8, 8, 9, 9,10,11,12, 7, 7, 8, 8, 9, 9,10,11, 11,13, 8, 8, 8, 9, 9,10,10,11,12,14, 8, 8, 8, 9, 10,11,11,12,13,15, 9, 9, 9,10,11,12,12,14,14,14, 9, 9, 9,10,11,12,14,16,14,14,10,10,11,12,13,14, 16,16,16,14);
mlt_sqvh_bitcount_category_2: array[0..48] of int32 = ( 1, 4, 5, 7, 8, 9,10, 3, 4, 5, 7, 8, 9,10, 5, 5, 6, 7, 8,10,10, 7, 6, 7, 8, 9,10,12, 8, 8, 8, 9, 10,12,14, 8, 9, 9,10,11,15,16, 9,10,11,12,13,16, 15);
mlt_sqvh_bitcount_category_3: array[0..624] of int32 = ( 2, 4, 6, 8,10, 5, 5, 6, 8,10, 7, 8, 8,10,12, 9, 9,10,12,15,10,11,13,16,16, 5, 6, 8,10,11, 5, 6, 8,10,12, 7, 7, 8,10,13, 9, 9,10,12,15,12,11,13, 16,16, 7, 9,10,12,15, 7, 8,10,12,13, 9, 9,11,13, 16,11,11,12,14,16,12,12,14,16,14, 9,11,12,16,16, 9,10,13,15,16,10,11,12,16,16,13,13,16,16,16,16, 16,15,16,16,11,13,16,16,15,11,13,15,16,16,13,13, 16,16,16,14,16,16,16,16,16,16,16,16,16, 4, 6, 8, 10,13, 6, 6, 8,10,13, 9, 8,10,12,16,10,10,11,15, 16,13,12,14,16,16, 5, 6, 8,11,13, 6, 6, 8,10,13, 8, 8, 9,11,14,10,10,12,12,16,13,12,13,15,16, 7, 8, 9,12,16, 7, 8,10,12,14, 9, 9,10,13,16,11,10, 12,15,16,13,13,16,16,15, 9,11,13,16,16, 9,10,12, 15,16,10,11,13,16,16,13,12,16,16,16,16,16,16,16, 16,11,13,16,16,16,11,13,16,16,16,12,13,15,16,16, 16,16,16,16,16,16,16,16,16,16, 6, 8,11,13,16, 8, 8,10,12,16,11,10,11,13,16,12,13,13,15,16,16,16, 14,16,15, 6, 8,10,13,16, 8, 8,10,12,16,10,10,11, 13,16,13,12,13,16,16,14,14,14,16,16, 8, 9,11,13, 16, 8, 9,11,16,14,10,10,12,15,16,12,12,13,16,16, 15,16,16,16,16,10,12,15,16,16,10,12,12,14,16,12, 12,13,16,16,14,15,16,16,16,16,16,16,16,16,12,15, 15,16,16,13,13,16,16,14,14,16,16,16,16,16,16,16, 16,16,14,15,16,16,16, 8,10,13,15,16,10,11,13,16, 16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16, 8,10,11,15,16, 9,10,12,16,16,12,12,15,16,16,16, 14,16,16,16,16,16,16,16,16, 9,11,14,16,16,10,11, 13,16,16,14,13,14,16,16,16,15,15,16,16,16,16,16, 16,16,11,13,16,16,16,11,13,15,16,16,13,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16, 14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, 16,16,16,16, 9,13,16,16,16,11,13,16,16,16,14,15, 16,16,16,15,16,16,16,16,16,16,16,16,16, 9,13,15, 15,16,12,13,14,16,16,16,15,16,16,16,16,16,16,16, 16,16,16,16,16,16,11,13,15,16,16,12,14,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,15,15,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15, 16,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16, 16);
mlt_sqvh_bitcount_category_4: array[byte] of int32 = ( 2, 4, 7,10, 4, 5, 7,10, 7, 8,10,14,11,11,15,15, 4, 5, 9,12, 5, 5, 8,12, 8, 7,10,15,11,11,15,15, 7, 9,12,15, 8, 8,12,15,10,10,13,15,14,14,15,13, 11,13,15,15,11,13,15,15,14,15,15,13,15,15,13,13, 4, 5, 9,13, 5, 6, 9,13, 9, 9,11,15,14,13,15,15, 4, 6, 9,12, 5, 6, 9,13, 9, 8,11,15,13,12,15,15, 7, 9,12,15, 7, 8,11,15,10,10,14,15,14,15,15,14, 10,12,15,15,11,13,15,15,15,15,15,14,15,15,14,14, 6, 9,13,14, 8, 9,12,15,12,12,15,15,15,15,15,15, 7, 9,13,15, 8, 9,12,15,11,12,15,15,15,15,15,15, 9,11,15,15, 9,11,15,15,14,14,15,15,15,15,15,15, 14,15,15,15,14,15,15,15,15,15,15,15,14,14,15,15, 9,12,15,15,12,13,15,15,15,15,15,15,15,15,15,15, 10,12,15,15,12,14,15,15,15,15,15,15,15,15,15,15, 14,15,15,15,15,15,15,15,15,15,15,15,14,14,15,15, 15,15,15,15,15,15,15,15,14,14,15,15,14,14,15,15);
mlt_sqvh_bitcount_category_5: array[0..242] of int32 = ( 2, 4, 8, 4, 5, 9, 9,10,14, 4, 6,11, 5, 6,12,10, 11,15, 9,11,15,10,13,15,14,15, 6, 4, 6,12, 6, 7, 12,12,12,15, 5, 7,13, 6, 7,13,12,13,15,10,12,15, 11,13,15,15,15, 7, 8,13,15,11,12,15,15,15, 7,10, 13,15,12,15,15,15,15, 7,15,15, 7,15,15, 7, 6, 7, 7, 4, 5,11, 5, 7,12,11,12,15, 6, 7,13, 7, 8,14, 12,14,15,11,13,15,12,13,15,15,15, 8, 5, 6,13, 7, 8,15,12,14,15, 6, 8,14, 7, 8,15,14,15,15,12,12, 15,12,13,15,15,15, 8, 9,13,15,12,13,15,15,15, 8, 11,13,15,13,13,15,15,15, 8,14,15, 8,15,15, 8, 7, 8, 8, 8,10,15,11,12,15,15,15, 7,10,12,15,12,13, 15,15,15, 8,14,15, 7,15,15, 8, 7, 8, 8, 8,12,15, 12,13,15,15,15, 8,11,13,15,13,15,15,15,15, 8,15, 15, 8,15,15, 8, 7, 8, 8,14,15, 6,15,15, 8, 7, 8, 8,15,15, 8,15,15, 8, 7, 8, 8, 6, 8, 8, 7, 8, 8, 7, 8, 8);
mlt_sqvh_bitcount_category_6: array[0..31] of int32 = ( 1, 4, 4, 6, 4, 6, 6, 8, 4, 6, 6, 8, 6, 9, 8,10, 4, 6, 7, 8, 6, 9, 8,11, 6, 9, 8,10, 8,10, 9,11);
mlt_sqvh_code_category_0: array[0..195] of int32 = ( 1, 2, 1, 24, 14, 51, 9, 68, 110, 26, 218, 54, 154, 761, 3, 10, 22, 8, 58, 22, 71, 16, 30, 50, 213, 75, 94, 632, 15, 18, 52, 23, 107, 5, 54, 63, 239, 46, 276, 271, 851, 252, 28, 10, 12, 1, 22, 133, 191, 55, 105, 278, 317, 554, 310, 276, 32, 50, 94, 20, 187, 219, 13, 268, 473, 445, 145, 849, 1277, 623, 1, 14, 0, 55, 238, 121, 120, 269, 318, 530, 639, 1117, 509, 556, 24, 78, 51, 153, 62, 308, 16, 25, 68, 1058, 428, 277, 2233, 1114, 92, 108, 141, 223, 270, 381, 24, 212, 760, 35, 1063, 279, 1717, 3439, 7, 21, 152, 73, 309, 310, 95, 944, 1890, 2232, 1891, 5107,10213, 4981, 61, 62, 9, 79, 474, 475, 848, 1059, 1056, 1716, 139, 4978, 4983, 4983, 140, 186, 76, 444, 144, 633, 1057, 838, 2237, 4472, 4473,10212,10212, 4983, 74, 78, 311, 213, 850, 1062, 1119, 508, 276, 277, 4982, 4473,10212,10212, 208, 70, 555, 418, 68, 510, 2552, 1115, 4980, 4979, 4982, 4982, 4473,10212, 215, 71, 253, 511, 839, 1718, 2488, 6876, 6877, 4979, 4979, 4982, 4982, 4473);
mlt_sqvh_code_category_1: array[0..99] of int32 = ( 1, 2, 11, 27, 31, 9, 120, 31, 275, 310, 1, 0, 12, 5, 33, 54, 102, 111, 246, 448, 10, 14, 31, 39, 59, 100, 114, 202, 485, 969, 24, 26, 36, 52, 103, 30, 120, 242, 69, 1244, 35, 32, 14, 61, 113, 117, 233, 486, 487, 2491, 13, 12, 69, 110, 149, 35, 495, 449, 1978, 7751, 76, 75, 122, 136, 213, 68, 623, 930, 3959, 9961, 115, 16, 107, 225, 424, 850, 1936, 7916, 4981, 4981, 148, 154, 243, 407, 988, 851, 7750,19920, 7916, 4981, 406, 274, 464, 931, 3874, 7917, 19921,19920,19920, 7916);
mlt_sqvh_code_category_2: array[0..48] of int32 = ( 1, 0, 10, 11, 28, 62, 363, 3, 2, 9, 8, 24, 53, 352, 7, 8, 13, 25, 89, 74, 355, 10, 23, 24, 29, 55, 354, 1449, 25, 19, 30, 52, 108, 438, 5793, 91, 36, 63, 353, 725,11584,23170, 180, 75, 218, 439, 2897,23171, 11584);
mlt_sqvh_code_category_3: array[0..624] of int32 = ( 3, 8, 46, 145, 228, 4, 8, 47, 28, 455, 89, 2, 180, 5, 1335, 250, 12, 644, 1311, 139, 729, 251, 870, 2172, 2211, 5, 23, 112, 334, 1469, 21, 3, 5, 111, 2014, 88, 79, 152, 124, 2685, 297, 48, 110, 1310, 149, 501, 1231, 153, 2267, 2569, 57, 13, 653, 2587, 143, 75, 124, 118, 2611, 5242, 61, 50, 253, 3633, 2216, 476, 39, 57, 1926, 2236, 2586, 1329, 1920, 2566, 1926, 296, 233, 2590, 2240, 2217, 253, 613, 867, 144, 318, 614, 252, 2589, 2242, 2218, 872, 866, 2187, 2296, 2155, 2568, 2227, 150, 2567, 2296, 199, 2686, 2160, 2290,19145, 232, 2680, 128, 2192, 2212, 2684, 793, 2281, 2223, 2242, 1934, 2165, 2146, 2291, 2296, 2222, 2189, 2187, 2296, 2296, 6, 4, 82, 725, 3632, 15, 21, 56, 599, 148, 3, 162, 42, 411, 2301, 735, 654, 930, 137, 2586, 869, 1334, 1931, 2300, 2213, 9, 22, 146, 1290, 5240, 5, 12, 53, 630, 875, 80, 9, 8, 86, 2002, 210, 117, 56, 2019, 2162, 146, 397, 868, 131, 2151, 77, 160, 365, 2610, 2252, 59, 54, 41, 2591, 1928, 226, 14, 121, 5792, 2295, 1197, 728, 408, 130, 2157, 3635, 155, 2573, 2587, 130, 314, 64, 144, 2173, 2176, 115, 30, 409, 153, 2590, 631, 26, 4787, 2221, 2174, 2683, 1863, 2572, 319, 2150, 2177, 2194, 2571, 2257, 319, 65, 145, 2251, 2156, 2161, 909, 864, 2193, 2197, 2246, 2588, 5797, 156, 2258, 2221, 2158, 2199, 2214, 2152, 319, 2188, 2264, 2572, 319, 319, 30, 117, 219, 865, 2263, 147, 127, 239, 410, 2247, 27, 324, 1468, 2681, 2180, 1328, 5241, 147, 142, 2237, 2241, 2245, 1921, 2262, 142, 41, 11, 505, 2682, 2591, 0, 26, 229, 2015, 2577, 464, 98, 87, 5243, 2166, 149, 2016, 5244, 2190, 2198, 9573,11598,11599, 2235, 2190, 144, 298, 1004, 5245, 2277, 156, 104, 254, 2560, 1922, 612, 325, 2017, 129, 2588, 2608, 1330, 871, 2144, 2145, 132, 2147, 2148, 2149, 2144, 119, 1331, 133, 2153, 2154, 211, 58, 2609, 1923, 2159, 510, 163, 5246, 2163, 2164, 1924, 134, 2167, 2168, 2168, 2169, 2170, 2171, 2168, 2168, 1332, 135, 136, 2175, 2153, 150, 873, 2178, 2179, 1923, 1925, 2181, 2182, 2183, 2163, 2184, 2185, 2186, 2168, 2168, 1924, 134, 2167, 2168, 2168, 58, 326, 2687, 138, 2191, 31, 66, 874, 2195, 2196, 151, 152, 1927, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2205, 55, 103, 1230, 140, 2215, 118, 15, 1333, 2219, 2220, 2018, 511, 141, 2224, 2225, 2226, 1929, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2229, 366, 1005, 1930, 2238, 2239, 12, 1006, 5247, 2243, 2244, 1932, 3634, 1933, 2248, 2249, 2250, 145, 146, 2253, 2253, 2254, 2255, 2256, 2253, 2253, 1291, 5793, 2259, 2260, 2261, 477, 5794, 147, 2265, 2266, 5795, 2268, 2269, 2270, 2270, 2271, 2272, 2273, 2274, 2274, 2275, 2276, 2273, 2274, 2274, 148, 2278, 2279, 2280, 2260, 1935, 2282, 2283, 2284, 2265, 2285, 2286, 2287, 2270, 2270, 2288, 2289, 2273, 2274, 2274, 2271, 2272, 2273, 2274, 2274, 233, 5796, 2292, 2293, 2294, 1292, 3724, 2297, 2298, 2299, 2000, 151, 2302, 2303, 2200, 152, 2561, 2562, 2563, 2205, 2564, 2565, 2204, 2205, 2205, 363, 154, 154, 155, 2570, 59, 3725, 2001, 2574, 2575, 2576, 157, 2578, 2579, 2224, 2580, 2581, 2582, 2583, 2229, 2584, 2585, 2228, 2229, 2229, 654, 5798, 158, 2589, 2238, 2392, 2003, 2592, 2593, 2243, 2594, 2595, 2596, 2597, 2248, 2598, 2599, 2600, 2253, 2253, 2250, 145, 146, 2253, 2253, 2601, 2602, 2603, 2604, 2260, 2605, 2606, 2607, 6336, 2265, 6337, 6338, 6339, 2270, 2270, 6340, 6341, 2273, 2274, 2274, 2271, 2272, 2273, 2274, 2274, 6342, 6343, 2259, 2260, 2260,38288,38289, 147, 2265, 2265, 5795, 2268, 2269, 2270, 2270, 2271, 2272, 2273, 2274, 2274, 2271, 2272, 2273, 2274, 2274);
mlt_sqvh_code_category_4: array[byte] of int32 = ( 1, 2, 4, 572, 10, 0, 69, 712, 91, 10, 46, 9182, 1426, 1430,30172,30194, 9, 28, 22, 2258, 16, 25, 142, 2179, 15, 111, 719, 1521, 1131, 1437, 1520,30196, 88, 283, 3803,30193, 13, 236, 2856,30166, 545, 951, 5709, 1522, 3241, 9180,30179, 5709, 1088, 4356,30410,30175, 1146, 377,30162,30163, 8715,30176,30165, 5709,30197,30184, 5709, 5709, 1, 23, 28, 5710, 26, 14, 29, 7538, 102, 103, 1429, 1524, 3237, 7060,30401,30201, 15, 13, 470, 3768, 24, 15, 281, 5747, 24, 181, 1128,30206, 5711, 3531,30156,30158, 116, 100, 2260,30187, 119, 234, 1764,30171, 716, 883, 9183,30164, 3236, 1528,30180, 9183, 885, 2870, 1532,30160, 1431, 5708,30192,30205,30402,30168,30173, 9183,30157,30161, 9183, 9183, 54, 25, 1621,15211, 180, 287, 2261,30198, 808, 811,30411,30413,30414,22986,22987,30411, 24, 273, 376,30159, 137, 280, 2871, 1523, 1768, 2259, 1525,30167, 1526,30169,30170, 1525, 443, 1434, 1527,30174, 474, 1769,30177,30178, 3238, 3239,30181,30181,30182,30183,30181,30181, 3240,30185,30186, 1527, 9181,30188,30189,30177,30190,30191,30181,30181, 3238, 3239,30181,30181, 440, 2857, 1529,30195, 2294, 7061, 1530,30199,30200, 1531,30202,30411,30203,30204,30411,30411, 203, 2872,30207,30400, 189,11492,30403,30404,30405,30406,30407, 1525,30408,30409, 1525, 1525, 8714, 1533,30412, 1527, 1534, 1535,30415,30177,30416,30417,30181,30181, 3238, 3239,30181,30181, 30418,30419, 1527, 1527,30420,30421,30177,30177, 3238, 3239,30181,30181, 3238, 3239,30181,30181);
mlt_sqvh_code_category_5: array[0..242] of int32 = ( 0, 5, 220, 10, 16, 443, 390, 391,14333, 11, 26, 1566, 26, 54, 3135, 508, 1558,28581, 255, 1782,28599, 885, 6208,28578,14335,28579, 54, 9, 35, 3129, 27, 68, 3537, 1562, 3568,28610, 25, 62, 4078, 58, 118, 7763, 3107, 7758,28563, 778, 3131,28598, 780, 7123,28630,28593,28586, 118, 243, 6210,28614, 1018, 3567,28601,28611,28570, 68, 388, 6256,28619, 1559,28562,28606,28565,28591, 118,28594,28571, 62,28618,28590, 118, 58, 118, 118, 4, 28, 1781, 31, 60, 3134, 1938, 3882,28574, 25, 96, 7757, 49, 126,14244, 3883,14334,28613, 1769, 4077,28602, 3106, 7756,28582,28621,28566, 126, 14, 61, 4079, 61, 138,28491, 3536, 8153,28573, 49, 96,12442, 119, 240,28490,12443,28560,28561, 3111, 3580, 28564, 3130, 7759,28567,28568,28569, 240, 444, 6209,28572, 3569, 6211,28575,28576,28577, 138, 778, 7760,28580, 7761, 7762,28583,28584,28585, 240,14319,28587, 96,28588,28589, 240, 119, 240, 240, 139, 968,28592, 1554, 3581,28595,28596,28597, 60, 971, 3560,28600, 3582, 7132, 28603,28604,28605, 126,14332,28607, 96,28608,28609, 126, 49, 126, 126, 241, 1558,28612, 1563, 6257,28615,28616,28617, 138, 1559, 7133,28620, 6220,28622,28623,28624,28625, 240,28626, 28627, 96,28628,28629, 240, 119, 240, 240, 8152,28631, 61,28632,28633, 138, 61, 138, 138,28634,28635, 96,28636,28637, 240, 119, 240, 240, 49, 96, 96, 119, 240, 240, 119, 240, 240);
mlt_sqvh_code_category_6: array[0..31] of int32 = ( 1, 2, 4, 2, 5, 29, 24, 101, 3, 31, 28, 105, 3, 5, 102, 424, 1, 30, 0, 107, 27, 200, 103, 806, 1, 4, 104, 402, 3, 425, 213, 807);
NUM_CATEGORIES = 8;
NUM_REGIONS = 14;
PI = 3.141592653589793238462;
REGION_POWER_STEPSIZE_DB = 3.010299957;
REGION_POWER_TABLE_NUM_NEGATIVES = 24;
REGION_POWER_TABLE_SIZE = 64;
table_of_bitcount_tables: array[0..NUM_CATEGORIES-2] of pointer = ( @mlt_sqvh_bitcount_category_0, @mlt_sqvh_bitcount_category_1, @mlt_sqvh_bitcount_category_2, @mlt_sqvh_bitcount_category_3, @mlt_sqvh_bitcount_category_4, @mlt_sqvh_bitcount_category_5, @mlt_sqvh_bitcount_category_6 );
table_of_code_tables: array[0..NUM_CATEGORIES-2] of pointer = ( @mlt_sqvh_code_category_0, @mlt_sqvh_code_category_1, @mlt_sqvh_code_category_2, @mlt_sqvh_code_category_3, @mlt_sqvh_code_category_4, @mlt_sqvh_code_category_5, @mlt_sqvh_code_category_6 );
table_of_decoder_tables: array[0..NUM_CATEGORIES - 2] of pointer = ( @mlt_decoder_tree_category_0, @mlt_decoder_tree_category_1, @mlt_decoder_tree_category_2, @mlt_decoder_tree_category_3, @mlt_decoder_tree_category_4, @mlt_decoder_tree_category_5, @mlt_decoder_tree_category_6 );

Description

Types

tmax_vector = array[0..MAX_VECTOR_DIMENSION - 1] of int32;
 
tmax_regions = array[0..MAX_NUM_REGIONS - 1] of int32;
 
tmax_regions4 = array[0..4 * MAX_NUM_REGIONS - 1] of uint32;
 
tmax_regionsP1 = array[0..MAX_NUM_REGIONS] of int32;
 
tmax_regionsf = array[0..MAX_NUM_REGIONS - 1] of float;
 
tmax_rate_control = array[0..MAX_NUM_RATE_CONTROL_POSSIBILITIES - 2] of int32;
 
tmax_dct_size = array[0..MAX_DCT_SIZE - 1] of int16;
 
tmax_dct_sizef = array[0..MAX_DCT_SIZE - 1] of float;
 
tmax_frame = array[0..MAX_BITS_PER_FRAME shr 4 - 1] of uint16;
 
pcos_msin_t = ˆcos_msin_t;

Internal.

Constants

ABS_REGION_POWER_LEVELS = 32;
 
differential_region_power_bits: array[0..MAX_NUM_REGIONS - 1, 0..DIFF_REGION_POWER_LEVELS - 1] of int32 = ( ( 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99), ( 4, 6, 5, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 5, 7, 8, 9,11,11,12,12,12,12), ( 10, 8, 6, 5, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 7, 9,11,12,13,15,15,15,16,16), ( 12,10, 8, 6, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 4, 5, 5, 7, 9,11,13,14,14), ( 13,10, 9, 9, 7, 7, 5, 5, 4, 3, 3, 3, 3, 3, 4, 4, 4, 5, 7, 9,11,13,13,13), ( 12,13,10, 8, 6, 6, 5, 5, 4, 4, 3, 3, 3, 3, 3, 4, 5, 5, 6, 7, 9,11,14,14), ( 12,11, 9, 8, 8, 7, 5, 4, 4, 3, 3, 3, 3, 3, 4, 4, 5, 5, 7, 8,10,13,14,14), ( 15,16,15,12,10, 8, 6, 5, 4, 3, 3, 3, 2, 3, 4, 5, 5, 7, 9,11,13,16,16,16), ( 14,14,11,10, 9, 7, 7, 5, 5, 4, 3, 3, 2, 3, 3, 4, 5, 7, 9, 9,12,14,15,15), ( 9, 9, 9, 8, 7, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 6, 7, 8,10,11,12,13,13), ( 14,12,10, 8, 6, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 6, 8, 8, 9,11,14,14,14), ( 13,10, 9, 8, 6, 6, 5, 4, 4, 4, 3, 3, 2, 3, 4, 5, 6, 8, 9, 9,11,12,14,14), ( 16,13,12,11, 9, 6, 5, 5, 4, 4, 4, 3, 2, 3, 3, 4, 5, 7, 8,10,14,16,16,16), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14), ( 13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14));

**************************************************************** ****************************************************************** ** ** G.722.1 Annex B - G.722.1 Floating point implementation ** > Software Release 2.1 (2008-06) ** ** Filename : huff_tables.h ** ** © 2000 PictureTel Coporation ** Andover, MA, USA ** ** All rights reserved. ** ****************************************************************** *****************************************************************

differential_region_power_codes: array[0..MAX_NUM_REGIONS - 1, 0..DIFF_REGION_POWER_LEVELS - 1] of int32 = ( ( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), ( 8,38,18,10, 7, 6, 3, 2, 0, 1, 7, 6, 5, 4,11,78,158,318,1278,1279,2552,2553,2554,2555 ), ( 36, 8, 3, 5, 0, 1, 7, 6, 4, 3, 2, 5, 3, 4, 5,19,74,150,302,1213,1214,1215,2424,2425 ), ( 2582,644,160,41, 5,11, 7, 5, 4, 1, 0, 6, 4, 7, 3, 6, 4,21,81,323,1290,5167,10332,10333 ), ( 2940,366,181,180,47,46,27,10, 8, 5, 1, 0, 3, 7, 4, 9,12,26,44,182,734,2941,2942,2943 ), ( 3982,7967,994,249,63,26,19,18,14, 8, 6, 1, 0, 2, 5, 7,12,30,27,125,496,1990,15932,15933 ), ( 3254,1626,407,206,202,100,30,14, 3, 5, 3, 0, 2, 4, 2,13,24,31,102,207,812,6511,13020,13021 ), ( 1110,2216,1111,139,35, 9, 3,20,11, 4, 2, 1, 3, 3, 1, 0,21, 5,16,68,276,2217,2218,2219 ), ( 1013,1014,127,62,29, 6, 4,16, 0, 1, 3, 2, 3, 1, 5, 9,17, 5,28,30,252,1015,2024,2025 ), ( 381,380,372,191,94,44,16,10, 7, 3, 1, 0, 2, 6, 9,17,45,92,187,746,1494,2991,5980,5981 ), ( 3036,758,188,45,43,10, 4, 3, 6, 4, 2, 0, 3, 7,11,20,42,44,46,95,378,3037,3038,3039 ), ( 751,92,45,20,26, 4,12, 7, 4, 0, 4, 1, 3, 5, 5, 3,27,21,44,47,186,374,1500,1501 ), ( 45572,5697,2849,1425,357,45,23, 6,10, 7, 2, 2, 3, 0, 4, 6, 7,88,179,713,11392,45573,45574,45575 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ), ( 2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021 ));
 
differential_region_power_decoder_tree: array [0..MAX_NUM_REGIONS - 1, 0..DIFF_REGION_POWER_LEVELS - 2, 0..1] of int32 = ( ( ( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 0, 0),( 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, 2),( 3, 4),( 5, 6),( 7, 8),( 9, 10),( 11,-12),(-11,-10),( -8, -9),( -7, -6),(-13, 12),( -5, -4),( 0, 13),( -3,-14),( -2, 14),( -1, 15),(-15, 16),(-16, 17),(-17, 18),( 19, 20),( 21, 22),(-18,-19),(-20,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),( 7, 8),(-10, -9),( -8,-11),( -7, -6),( 9, -5),( 10,-12),( -4, 11),(-13, -3),( 12, -2),( 13,-14),( -1, 14),( 15,-15),( 0, 16),(-16, 17),(-17, 18),(-18, 19),( 20, 21),( 22,-19),(-20,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),( 7, 8),( 9, 10),(-12, 11),(-11,-13),(-10, -9),( 12,-14),( -8, -7),(-15, -6),( 13, -5),(-16, -4),( 14,-17),( 15, -3),( 16,-18),( -2, 17),( 18,-19),( -1, 19),(-20, 20),( 0, 21),( 22,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),(-11,-10),( 7,-12),( 8, -9),( 9,-13),(-14, 10),( -8,-15),(-16, 11),( -7, 12),(-17, -6),( 13, 14),(-18, 15),( -5, -4),( 16, 17),( -3, -2),(-19, 18),( -1, 19),(-20, 20),( 21, 22),( 0,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),(-12,-11),(-13, 7),( 8,-14),(-10, 9),( 10,-15),( -9, 11),( -8, 12),(-16, 13),( -7, -6),(-17, 14),( -5,-18),( 15, -4),( 16,-19),( 17, -3),(-20, 18),( -2, 19),(-21, 20),( 0, 21),( 22, -1),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),(-11, 7),(-12,-10),(-13, -9),( 8, 9),(-14, -8),( 10,-15),( -7, 11),(-16, 12),( -6,-17),( 13, 14),( -5, 15),(-18, 16),( -4, 17),( -3,-19),( 18, -2),(-20, 19),( -1, 20),( 0, 21),( 22,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5,-12),( 6,-11),(-10,-13),( -9, 7),( 8,-14),( 9, -8),(-15, 10),( -7,-16),( 11, -6),( 12,-17),( 13, -5),(-18, 14),( 15, -4),(-19, 16),( 17, -3),(-20, 18),( 19, 20),( 21, 22),( 0, -2),( -1,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5,-12),( 6,-13),(-11,-10),( 7,-14),( 8, -9),( 9,-15),( -8, 10),( -7,-16),( 11, 12),( -6,-17),( -5, 13),( 14, 15),(-18, -4),(-19, 16),( -3, 17),( 18, -2),(-20, 19),( 20, 21),( 22, 0),( -1,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),(-11,-10),(-12, -9),( 7, 8),(-13, -8),( 9,-14),( -7, 10),( -6,-15),( 11, 12),( -5,-16),( 13, 14),(-17, 15),( -4, 16),( 17,-18),( 18, -3),( -2, 19),( -1, 0),(-19, 20),(-20, 21),( 22,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5, 6),(-11, 7),(-10,-12),( -9, 8),( -8,-13),( 9, -7),( 10,-14),( -6, 11),(-15, 12),( -5, 13),(-16, -4),( 14, 15),(-17, -3),(-18, 16),( 17,-19),( -2, 18),(-20, 19),( -1, 20),( 21, 22),( 0,-21),(-22,-23)), ( ( 1, 2),( 3, 4),( 5,-12),( 6,-11),( 7, 8),(-10,-13),( -9, 9),( -8,-14),( 10, -7),( 11,-15),( -6, 12),( -5, 13),( -4,-16),( 14, 15),( -3,-17),( 16, 17),(-18, -2),( 18,-19),( -1, 19),(-20, 20),(-21, 21),( 22, 0),(-22,-23)), ( ( 1, 2),( 3, 4),( 5,-12),(-13, 6),(-11, 7),(-14, 8),(-10, 9),(-15, -9),( -8, 10),( -7,-16),( 11, -6),( 12, -5),(-17, 13),( 14,-18),( 15, -4),( 16,-19),( 17, -3),( 18, -2),( 19, -1),(-20, 20),( 21, 22),( 0,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)), ( ( 1, 2),( 3, 4),(-12, 5),(-11,-13),( 6,-14),(-10, 7),( 8,-15),( -9, 9),(-16, 10),( -8,-17),( 11, 12),( -7,-18),( -6, 13),( 14, -5),( 15,-19),( -4, 16),(-20, 17),( 18, 19),( 20, 21),( 22, 0),( -1, -3),( -2,-21),(-22,-23)));
 
DIFF_REGION_POWER_LEVELS = 24;
 
DRP_DIFF_MAX = 11;
 
DRP_DIFF_MIN = -12;
 
ENCODER_SCALE_FACTOR = 18318.0;
 
ESF_ADJUSTMENT_TO_RMS_INDEX = (9-2);

** This value has been changed for fixed point interop *

expected_bits_table: array[0..NUM_CATEGORIES - 1] of int32 = ( 52, 47, 43, 37, 29, 22, 16, 0);
 
INTERMEDIATE_FILES_FLAG = 0;

changed from (-2)

MAX_BITS_PER_FRAME = 960;

Max bit rate is now 48000 bits/sec. */

MAX_DCT_SIZE = 640;
 
MAX_NUM_BINS = 14;
 
MAX_NUM_RATE_CONTROL_BITS = 5;
 
MAX_NUM_RATE_CONTROL_POSSIBILITIES = 32;
 
MAX_NUM_REGIONS = 28;

#define MAX(a,b) (a > b ? a : b) #define MIN(a,b) (a < b ? a : b)

MAX_VECTOR_DIMENSION = 5;
 
MAX_VECTOR_INDICES = 625;
 
mlt_decoder_tree_category_0: array[0..179, 0..1] of int32 = ( ( 1, 0),( 2, 3),( 4, 5),( 6, 7),( 8, 9),( -1, -14),( 10, 11),( 12, 13), ( 14, 15),( 16, 17),( 18, 19),( -15, 20),( 21, 22),( 23, -28),( 24, -2),( 25, 26), ( 27, 28),( 29, 30),( 31, 32),( -29, 33),( -16, 34),( -3, 35),( 36, 37),( -42, 38), ( 39, 40),( 41, 42),( 43, 44),( -17, 45),( -43, 46),( 47, 48),( -4, 49),( -56, 50), ( 51, 52),( 53, 54),( 55, 56),( -57, -5),( -30, 57),( 58, 59),( -18, 60),( 61, -70), ( 62, 63),( 64, -6),( 65, 66),( -44, 67),( -71, 68),( 69, 70),( -19, -31),( -84, 71), ( 72, 73),( 74, 75),( 76, 77),( -7, 78),( 79, -20),( 80, 81),( -85, 82),( -98, 83), ( -58, 84),( 85, -32),( -99, 86),( -8, 87),( 88, 89),( -72, -45),( 90, -33),( 91,-112), ( -21, 92),( -59,-113),( -46, 93),( -9, 94),( -22, 95),( 96, 97),( 98, 99),( -23, -86), ( 100, 101),( -34, -73),( 102,-126),(-127, -35),( 103, -47),( 104, 105),( 106, 107),(-140,-100), (-114, -87),( 108, 109),( 110, 111),(-141, -60),( 112, -48),( 113, -24),( -10, -61),( 114,-101), ( 115, 116),( -74, -36),( 117,-128),( 118, -62),( 119, 120),( -37, 121),( -11, -49),( -88, 122), ( 123,-115),(-154, -25),(-142, 124),(-155,-129),( 125, -50),( 126, 127),( -76, -75),( 128, 129), ( -63, -77),(-102, -39),( -38, 130),( -51, 131),( -89,-116),(-117,-156),( 132, -52),( -78, 133), ( 134,-103),( 135, 136),(-143, -65),( 137, -64),(-130,-131),( -90, 138),(-104, -91),( -92, 139), (-169,-183),( -26,-118),( 140, 141),(-144, -66),( -12, 142),(-168, 143),(-105,-157),( 144,-182), ( 145, 146),( -79, 147),( -53,-170),( 148, 149),( -27,-145),( 150, -80),(-106, -13),(-132, -67), (-158, -40),(-119, 151),( 152,-107),( 153, 154),( -41,-184),( 155, 156),( -54, 157),(-171, 158), ( -94, 159),(-134,-146),( -93,-133),(-159,-108),( 160, -81),( 161,-160),( 162, -68),(-120,-122), (-172, 163),( -55, -95),( 164,-109),(-161, -82),(-173,-185),( 165, -69),(-147,-186),( 166, 167), (-121, -96),( 168,-148),(-174, 169),( 170,-136),( -83, 171),( 172, 173),(-135,-110),(-187, 174), (-149,-150),( 175,-123),(-162,-163),( -97,-175),(-188, 176),( 177, 178),( 179,-111),(-151,-124), (-137,-177),(-176,-125),(-164,-138),(-189,-190));
 
mlt_decoder_tree_category_1: array[0..92, 0..1] of int32 = ( ( 1, 0),( 2, 3),( 4, 5),( 6, 7),( 8, -10),( -1, 9),( 10, 11),( 12, 13), ( -11, 14),( 15, 16),( 17, 18),( -20, -2),( 19, 20),( -21, 21),( 22, 23),( -12, 24), ( 25, 26),( 27, 28),( 29, 30),( -30, 31),( -31, -3),( 32, -22),( 33, -13),( 34, 35), ( 36, 37),( 38, 39),( 40, -4),( -41, -14),( 41, -40),( -32, 42),( 43, -23),( 44, 45), ( 46, 47),( 48, -5),( -51, -50),( -42, 49),( -33, 50),( -15, 51),( 52, 53),( 54, -24), ( 55, -43),( 56, -52),( 57, -61),( -60, 58),( -25, 59),( -16, -34),( -6, 60),( -62, 61), ( -71, 62),( -35, -7),( 63, -72),( -53, -17),( 64, -44),( -26, -70),( 65, -45),( -36, 66), ( -63, 67),( -80, -54),( -81, 68),( -27, 69),( 70, -82),( -18, 71),( 72, -55),( 73, -64), ( 74, -73),( 75, -46),( -37, 76),( -91, -8),( -9, 77),( -90, -83),( 78, -28),( 79, -56), ( -65, -38),( -74, 80),( -19, -57),( -92, 81),( -47, -48),( 82, -66),( 83, -29),( -84, 84), ( -75, -85),( -67, -93),( -39, 85),( -76, 86),( -58, 87),( 88, -49),( -94, 89),( 90, -68), ( 91, -78),( -86, -59),( -77, -95),( 92, -69),( -87, -96));
 
mlt_decoder_tree_category_2: array[0..46, 0..1] of int32 = ( ( 1, 0),( 2, 3),( 4, 5),( 6, -7),( -1, 7),( -8, 8),( 9, 10),( 11, 12), ( 13, -14),( -15, -9),( -2, 14),( 15, 16),( 17, 18),( 19, -16),( 20, -22),( -10, 21), ( -21, -3),( 22, 23),( 24, 25),( -23, -17),( 26, 27),( 28, -29),( -11, -28),( 29, 30), ( -4, -24),( -30, 31),( 32, -18),( 33, -35),( -36, 34),( -31, -12),( 35, -25),( -5, -37), ( 36, 37),( -42, 38),( -19, -43),( -32, 39),( -13, -38),( -26, -20),( 40, -6),( -44, 41), ( 42, -39),( -33, -45),( 43, -27),( 44, -46),( 45, -34),( -40, 46),( -41, -47));
 
mlt_decoder_tree_category_3: array[0..518, 0..1] of int32 = ( ( 1, 2),( 3, 4),( 5, 0),( 6, 7),( 8, 9),( 10, 11),( 12, 13),( 14, 15), ( 16, 17),(-125, 18),( -1, 19),( 20, 21),( 22, 23),( 24, 25),( -5, -25),( 26, 27), ( -6,-150),( 28, 29),( 30, 31),( 32, 33),( 34, -30),( 35, 36),( 37, 38),( 39, -31), (-126,-155),( 40, 41),(-156, 42),( 43,-130),( 44,-131),(-151, -26),( 45, 46),(-250, 47), ( 48, 49),( 50, 51),( 52,-275),( 53, 54),( -2, -7),( 55, 56),( 57, 58),( 59, 60), ( 61, 62),( 63, 64),( 65, 66),( 67, 68),( 69, 70),( 71, -50),( 72,-180),( 73, 74), ( 75, 76),( 77, -55),( 78,-175),( 79, -36),( 80, 81),( -35, -10),( 82, 83),(-280, 84), ( -11, 85),( 86, -32),( 87, 88),( 89,-161),( 90,-276),( 91, 92),(-281, 93),( -8, 94), ( 95, 96),( 97,-157),(-181,-400),(-132, 98),(-375, 99),(-160, 100),(-127, 101),( -27, 102), ( 103,-251),( -56, 104),( 105,-256),(-300, -3),(-152,-255),( 106, 107),( -37, 108),(-305, 109), (-176, 110),(-136, 111),( -12, 112),( 113, 114),( 115,-135),( 116, 117),(-162, 118),( -16, -51), (-186, 119),( 120, 121),( 122, 123),( -41, 124),( -61, 125),( 126, 127),( 128, 129),( 130, -60), ( 131, 132),(-306, 133),( 134,-205),(-405, 135),( 136, 137),( 138, 139),(-185, 140),( 141,-500), ( -15, 142),( 143, -80),( -75, -40),(-301, 144),( 145, 146),(-200, 147),( 148, 149),( 150, 151), ( 152,-525),( 153,-177),(-425, 154),( 155, -13),(-430, 156),( 157,-406),( 158, 159),(-206,-380), ( 160, 161),( 162, 163),( 164,-182),(-137, 165),(-286, 166),( 167,-401),( 168, 169),( -42, -33), ( 170,-166),( -57,-325),( 171,-187),( -38, 172),( 173, 174),(-165,-330),( -4,-282),( 175,-257), (-261,-311),(-376, 176),( 177, 178),( -28, 179),( 180, -9),(-285, 181),( 182, 183),( 184,-277), ( 185,-133),(-310, -81),( -85, 186),(-158,-210),( -17, 187),( 188, 189),( 190, -52),(-141, 191), ( 192,-128),(-191, -20),( 193,-140),( 194, 195),(-211,-260),( 196, 197),( 198, 199),( 200, -66), (-201,-225),(-381, 201),( 202, 203),( 204, 205),( 206, 207),(-163,-287),( 208,-100),( 209, 210), ( 211, 212),( 213,-252),(-105, -76),( 214, 215),( 216, -21),( -86, -62),(-307, 217),( -65,-455), (-550, 218),( 219, 220),( 221, 222),( 223, 224),( 225,-230),(-142, 226),(-302,-426),(-431, 227), ( 228, 229),( 230,-190),(-402, -46),(-153,-450),(-505, 231),( 232, 233),( 234, 235),( 236, 237), ( 238, 239),(-262, -29),( 240, 241),( 242, 243),(-167, -67),(-331,-530),( 244, 245),( 246, 247), ( 248, 249),( 250, 251),( 252, 253),( 254, 255),( 256, 257),( 258, 259),( 260, 261),( 262,-336), ( 263,-171),(-192,-207),(-258,-138),( 264, 265),( 266, 267),( 268, 269),( 270, 271),( 272, 273), ( 274, -45),(-335,-411),( -43, -18),(-265, -71),(-316,-326),(-350,-407),(-146, -14),( 275, 276), ( 277, 278),( 279, 280),( 281,-216),( -34,-283),(-291,-312),(-410,-168),(-555, 282),( -70, -53), (-235, -87),( -77,-183),(-315,-332),(-178, -58),( 283, 284),( 285, 286),( 287, 288),( 289, 290), ( 291, 292),( 293, 294),( 295, 296),( 297, 298),(-202,-226),(-170,-267),(-134,-290),(-355,-385), (-386, -47),(-526,-196),( 299, 300),( 301, 302),( 303, 304),( 305, 306),( 307, 308),( 309, 310), ( 311, 312),( 313, 314),( 315, 316),( 317, 318),( 319, 320),( 321, 322),( 323, 324),( 325,-111), (-231,-253),( -91, -82),(-172,-145),( -22,-317),( -90,-356),(-382,-159),( 326, 327),( 328, 329), ( 330, 331),( 332, 333),( 334, 335),(-106,-263),(-278,-215),(-110, -39),(-101,-377),(-129, -63), (-436,-195),(-506,-531),( 336,-212),(-154,-266),( -59,-288),(-292,-303),(-337,-432),(-188,-451), (-456,-460),(-501,-236),(-551, 337),( 338, 339),( 340, 341),( 342, 343),( 344, 345),( 346, 347), ( 348, 349),( 350, 351),( 352, 353),( 354, 355),( 356, 357),( 358, 359),( 360, 361),( 362, 363), ( 364, 365),( 366, 367),( 368, 369),( 370, 371),( 372, 373),( 374, 375),( 376, 377),( 378, 379), ( 380, 381),( 382, 383),( 384, 385),( 386, 387),( 388, 389),( 390, 391),( 392, 393),( 394, 395), ( 396, 397),( 398, 399),( 400, 401),( 402, 403),( 404, 405),( 406, 407),( -72,-272),(-309,-333), (-340,-360),( -68,-387),(-184,-416),(-427,-147),(-435,-437),(-115,-480),(-510,-532),(-164,-556), ( 408,-295),(-296,-297),(-107,-313),(-193,-173),(-320,-327),(-341,-351),(-352,-143),(-378, -19), (-403,-412),(-268, -54),( -83,-441),(-442,-457),(-475, -44),( -97,-511),(-515,-208),(-527,-528), (-237,-536),(-552, 409),( 410, 411),( 412, 413),( 414, 415),( 416, 417),( 418, 419),( 420, 421), ( 422, 423),( 424, 425),( 426, 427),( 428, 429),( 430, 431),( 432, 433),( 434, 435),( 436, 437), ( 438, 439),( 440, 441),( 442, 443),( 444, 445),( 446, 447),( 448, 449),( 450, 451),( 452, 453), ( 454, 455),( 456, 457),( 458, 459),( 460, 461),( 462, 463),( 464, 465),( 466, 467),( 468, 469), ( 470, 471),( 472, 473),( 474, 475),( 476, 477),( 478, 479),( 480, 481),( 482, 483),( 484, 485), ( 486, 487),( 488, 489),( 490, 491),( 492, 493),( 494, 495),( 496, 497),( 498, 499),( 500, 501), ( 502, 503),( 504, 505),( 506, 507),( 508, 509),( 510, 511),( 512, 513),( 514, 515),( 516, 517), ( 518,-104),( -84,-218),(-318,-319),(-117,-321),(-322,-323),(-219,-174),(-243,-328),(-329, -94), (-228,-194),(-240,-334),(-102,-229),(-169,-338),(-339,-116),(-289,-342),(-343,-345),(-346,-347), ( -23,-203),(-214,-353),(-204,-220),(-357,-358),(-264,-361),(-362,-363),(-365,-366),(-367, -92), (-245,-121),(-293,-379),(-108,-232),(-221,-383),(-384,-233),(-294,-241),(-388,-389),(-390,-391), (-392,-393),(-394,-395),(-396,-397),(-398, -24),(-109,-149),(-242,-404),( -64, -79),( -89,-408), (-409,-213),(-120,-113),(-413,-414),(-415, -96),(-417,-418),(-419,-420),(-421,-422),(-423,-298), ( -69,-269),(-428,-429),( -78,-270),( -88,-433),(-434,-271),(-234,-259),(-438,-439),(-440,-227), (-179,-443),(-445,-446),(-447,-223),(-238,-452),(-453,-454),(-273,-254),(-246,-458),(-459, -48), (-461,-462),(-463,-465),(-466,-467),(-468,-470),(-471,-304),(-476,-477),(-478,-112),(-481,-482), (-483,-485),(-486,-487),(-490,-491),(-103,-118),(-502,-503),(-504,-189),( -93,-507),(-508,-509), (-148,-139),(-512,-513),(-308,-516),(-517,-518),(-520,-521),( -73, -98),( -95, -49),(-529,-222), (-217,-197),(-533,-534),(-535,-284),(-537,-538),(-540,-541),(-542,-543),(-545,-546),(-144,-198), (-314,-553),(-209,-279),(-557,-558),(-560,-561),(-562,-563),(-565,-566),(-567,-575),(-576,-577), (-578,-580),(-581,-582),(-583,-585),(-586,-587),(-590,-591),(-600,-601),(-605,-606));
 
mlt_decoder_tree_category_4: array[0..207, 0..1] of int32 = ( ( 1, 2),( 3, 0),( 4, 5),( 6, 7),( 8, 9),( 10, 11),( 12, -64),( -1, 13), ( 14, -16),( -4, 15),( 16, 17),( 18, -80),( -5, 19),( 20, 21),( -20, 22),( 23, -65), ( -84, -21),( -68, 24),( -17, 25),( 26, 27),( 28, -81),( -69, -85),( 29, 30),( 31, 32), (-128, 33),( 34, 35),( -2, 36),( 37, 38),(-144, 39),( 40, -6),( 41, 42),( -32, 43), ( 44, -8),( 45, -25),( -96, 46),( 47,-100),( -9, 48),( 49, -36),( 50, -24),( 51, 52), ( 53,-148),( 54, 55),( -22, 56),( 57, 58),(-132, -89),( 59, 60),(-101, 61),( -37, 62), ( -18, 63),( -88,-129),( -66, -70),( -97, 64),( -72, -73),( 65,-145),(-149, -86),( 66, -33), ( 67,-133),( 68, 69),( 70, 71),(-192, 72),( 73,-160),( -82, 74),(-164, 75),( -10, 76), ( 77,-208),( 78, -40),( 79, 80),( -3, 81),( -7, 82),( 83, 84),(-104, 85),( 86, -26), ( 87,-105),( 88,-112),( 89, 90),( 91, -41),( 92, 93),( 94, 95),( -48, 96),( -90, 97), ( 98, -28),( -52, 99),( -12, 100),( 101, -74),( -13,-116),(-161, 102),( 103, -29),(-102, 104), (-152,-165),( 105, 106),( 107, 108),( 109, 110),( 111,-212),( 112, 113),(-136, 114),( 115,-137), ( 116, -23),( -19,-153),( -98,-134),(-196, 117),( 118, 119),( -38,-193),(-113,-150),(-209, 120), ( 121, -93),( -83, 122),( 123, 124),( 125, 126),( 127, 128),( 129, 130),( 131, -34),(-146, -53), ( 132, 133),( 134, 135),( 136, 137),( 138,-130),( -49, 139),( 140, 141),(-117, -42),( -67, -92), ( 142, -87),( -77,-197),( -71, 143),( 144, 145),( 146, 147),( 148, 149),( 150, 151),( 152, 153), ( 154, 155),( 156, 157),( 158, 159),( 160, 161),( 162, 163),( 164, 165),( 166, 167),( 168, 169), (-108, -76),(-168,-169),(-176, -44),(-224, -56),( -45,-180),( -11,-106),(-213, 170),( 171, 172), ( 173, 174),( 175, 176),( 177, 178),( 179, 180),( 181, 182),( 183, 184),( 185, 186),( 187, 188), ( 189, 190),( 191, 192),( 193, 194),( 195, 196),( 197, 198),( 199, 200),( 201, 202),( 203, 204), ( 205, 206),( 207,-131),( -30, -27),( -43,-151),( -75,-154),(-156,-162),(-109,-194),(-198,-201), (-114,-225),(-228,-229),(-141,-142),( -94,-124),( -95,-147),(-115,-125),( -54, -55),(-107, -58), ( -39,-155),(-121,-157),(-158,-103),( -14,-122),(-163, -51),( -57,-166),(-167, -46),(-110,-170), (-172,-173),( -61,-177),(-178, -99),(-181,-182),(-184,-185),(-118, -35),( -15,-195),( -31, -60), (-135,-199),(-200, -79),(-202,-204),(-205,-119),( -91,-210),(-211, -78),(-120,-214),(-215,-216), (-217,-218),(-220,-221),( -50,-138),(-226,-139),(-140,-230),(-232,-233),(-240,-241),(-244,-245) );
 
mlt_decoder_tree_category_5: array[0..190, 0..1] of int32 = ( ( 1, 2),( 0, 3),( 4, 5),( 6, 7),( 8, 9),( 10, 11),( -81, -1),( 12, 13), ( 14, -27),( -3, -9),( 15, 16),( 17, 18),( 19, 20),(-108, 21),( -4, 22),( 23, -36), ( -12, 24),( -82, 25),( 26, -84),( 27, -90),( -10, -30),( 28, 29),( 30, -28),( 31,-117), ( -13, 32),( -39, 33),( 34,-109),( 35, -93),( -85,-111),( -37, 36),( -31, 37),( -91, 38), ( 39, 40),( -40,-120),( 41, 42),(-118, 43),( -94, 44),(-112,-162),( 45, 46),( -2, 47), ( 48, 49),(-121,-189),( 50, -54),( 51, 52),( 53, -18),( 54, 55),( -6, 56),( 57, -5), (-135, 58),( 59, 60),( 61, 62),( -63, 63),( 64, -7),( -15, 65),( 66, 67),( -45, 68), ( 69, 70),( 71, -21),( 72, 73),( 74, 75),( 76, 77),(-163, 78),( 79,-171),(-144, 80), ( -48, 81),( -57, 82),( 83, 84),(-165, 85),( -16,-198),( 86, 87),( -11, 88),( 89, -99), ( 90, -83),( -19, 91),( 92, 93),( 94, 95),( 96, 97),( 98, 99),( -87, 100),( 101, 102), (-190, -66),( -33,-192),( 103, 104),( 105, 106),(-102, -42),( 107,-126),( 108, -29),(-129, -46), ( -86, -14),(-114, -32),(-172, 109),( 110, -58),( -34,-138),( 111, 112),( 113, 114),( 115, 116), ( 117, 118),( 119, 120),(-127,-166),(-174, 121),( 122, 123),( 124, 125),( -88, -96),( 126,-100), ( -38,-110),( -22,-136),( -55,-139),(-201, 127),( -64,-193),( 128, -49),(-175,-199),( 129, 130), ( 131, 132),( 133, 134),( 135, 136),( 137, 138),( 139, 140),( 141, 142),( 143, 144),( 145, 146), ( 147, 148),( 149, 150),(-103, -92),( -43,-130),(-145,-147),(-148, -41),(-216,-115),(-119,-123), ( -95, 151),( 152, 153),( 154, 155),( 156, 157),( 158, 159),( 160, 161),( 162, 163),( 164, 165), ( 166, 167),( 168, 169),( 170, 171),( 172, 173),( 174, 175),( 176, 177),( 178, 179),( 180, 181), ( 182, 183),( 184, 185),( 186, 187),( 188, 189),( 190,-153),(-180, -8),( -97, -24),(-122,-113), (-124,-125),( -67, -44),(-128, -69),(-106,-131),(-132,-133),( -61, -73),(-137,-116),( -89,-140), (-141,-142),( -23, -25),(-146, -17),(-104,-149),(-150,-151),( -52,-154),(-156,-157),( -76, -70), (-164, -51),( -72,-167),(-168,-169),( -47, -20),(-173, -59),(-101,-176),(-177,-178),( -68,-181), (-183,-184),( -35, -60),(-191, -98),( -56,-194),(-195,-196),( -75, -65),(-200,-105),(-202,-203), (-204,-205),(-207,-208),(-210,-211),( -50,-217),(-219,-220),(-225,-226),(-228,-229) );
 
mlt_decoder_tree_category_6: array[0..30, 0..1] of int32 = ( ( 1, 0),( 2, 3),( 4, 5),( 6, 7),( 8, -16),( -1, -8),( -2, -4),( 9, 10), ( 11, 12),( 13, 14),( 15, 16),( 17, -24),( -3, -12),( -6, 18),( 19, -20),( -10, -5), ( -17, -9),( -18, 20),( 21, 22),( 23, 24),( 25, -28),( 26, -7),( -14, -22),( -26, -11), ( 27, -19),( -25, -13),( -21, 28),( 29, -30),( -27, 30),( -15, -29),( -23, -31) );
 
mlt_quant_centroid: array[0..NUM_CATEGORIES-2, 0..MAX_NUM_BINS - 1] of float = ( ( 0.0 ,0.392 ,0.761 ,1.120 ,1.477 ,1.832 ,2.183 ,2.541 ,2.893 ,3.245 ,3.598 ,3.942 ,4.288 ,4.724 ), ( 0.0 ,0.544 ,1.060 ,1.563 ,2.068 ,2.571 ,3.072 ,3.562 ,4.070 ,4.620 , 0.0 , 0.0 , 0.0 , 0.0 ), ( 0.0 ,0.746 ,1.464 ,2.180 ,2.882 ,3.584 ,4.316 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ), ( 0.0 ,1.006 ,2.000 ,2.993 ,3.985 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ), ( 0.0 ,1.321 ,2.703 ,3.983 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ), ( 0.0 ,1.657 ,3.491 , 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.964 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ));
 
mlt_sqvh_bitcount_category_0: array[0..195] of int32 = ( 1, 4, 6, 6, 7, 7, 8, 8, 8, 9, 9,10,11,11, 4, 5, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,11,11, 5, 6, 7, 8, 8, 9, 9, 9, 9,10,10,10,11,12, 6, 7, 8, 9, 9, 9, 9,10,10,10,10,11,12,13, 7, 7, 8, 9, 9, 9,10,10, 10,10,11,11,12,13, 8, 8, 9, 9, 9,10,10,10,10,11, 11,12,13,14, 8, 8, 9, 9,10,10,11,11,11,12,12,13, 13,15, 8, 8, 9, 9,10,10,11,11,11,12,12,13,14,15, 9, 9, 9,10,10,10,11,11,12,13,12,14,15,16, 9, 9, 10,10,10,10,11,12,12,14,14,16,16,16, 9, 9,10,10, 11,11,12,13,13,14,14,15,15,16,10,10,10,11,11,12, 12,13,15,15,16,14,15,15,11,11,11,12,13,13,13,15, 16,16,16,16,14,15,11,11,12,13,13,14,15,16,16,16, 16,16,16,14);
 
mlt_sqvh_bitcount_category_1: array[0..99] of int32 = ( 1, 4, 5, 6, 7, 8, 8, 9,10,10, 4, 5, 6, 7, 7, 8, 8, 9, 9,11, 5, 5, 6, 7, 8, 8, 9, 9,10,11, 6, 6, 7, 8, 8, 9, 9,10,11,12, 7, 7, 8, 8, 9, 9,10,11, 11,13, 8, 8, 8, 9, 9,10,10,11,12,14, 8, 8, 8, 9, 10,11,11,12,13,15, 9, 9, 9,10,11,12,12,14,14,14, 9, 9, 9,10,11,12,14,16,14,14,10,10,11,12,13,14, 16,16,16,14);
 
mlt_sqvh_bitcount_category_2: array[0..48] of int32 = ( 1, 4, 5, 7, 8, 9,10, 3, 4, 5, 7, 8, 9,10, 5, 5, 6, 7, 8,10,10, 7, 6, 7, 8, 9,10,12, 8, 8, 8, 9, 10,12,14, 8, 9, 9,10,11,15,16, 9,10,11,12,13,16, 15);
 
mlt_sqvh_bitcount_category_3: array[0..624] of int32 = ( 2, 4, 6, 8,10, 5, 5, 6, 8,10, 7, 8, 8,10,12, 9, 9,10,12,15,10,11,13,16,16, 5, 6, 8,10,11, 5, 6, 8,10,12, 7, 7, 8,10,13, 9, 9,10,12,15,12,11,13, 16,16, 7, 9,10,12,15, 7, 8,10,12,13, 9, 9,11,13, 16,11,11,12,14,16,12,12,14,16,14, 9,11,12,16,16, 9,10,13,15,16,10,11,12,16,16,13,13,16,16,16,16, 16,15,16,16,11,13,16,16,15,11,13,15,16,16,13,13, 16,16,16,14,16,16,16,16,16,16,16,16,16, 4, 6, 8, 10,13, 6, 6, 8,10,13, 9, 8,10,12,16,10,10,11,15, 16,13,12,14,16,16, 5, 6, 8,11,13, 6, 6, 8,10,13, 8, 8, 9,11,14,10,10,12,12,16,13,12,13,15,16, 7, 8, 9,12,16, 7, 8,10,12,14, 9, 9,10,13,16,11,10, 12,15,16,13,13,16,16,15, 9,11,13,16,16, 9,10,12, 15,16,10,11,13,16,16,13,12,16,16,16,16,16,16,16, 16,11,13,16,16,16,11,13,16,16,16,12,13,15,16,16, 16,16,16,16,16,16,16,16,16,16, 6, 8,11,13,16, 8, 8,10,12,16,11,10,11,13,16,12,13,13,15,16,16,16, 14,16,15, 6, 8,10,13,16, 8, 8,10,12,16,10,10,11, 13,16,13,12,13,16,16,14,14,14,16,16, 8, 9,11,13, 16, 8, 9,11,16,14,10,10,12,15,16,12,12,13,16,16, 15,16,16,16,16,10,12,15,16,16,10,12,12,14,16,12, 12,13,16,16,14,15,16,16,16,16,16,16,16,16,12,15, 15,16,16,13,13,16,16,14,14,16,16,16,16,16,16,16, 16,16,14,15,16,16,16, 8,10,13,15,16,10,11,13,16, 16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16, 8,10,11,15,16, 9,10,12,16,16,12,12,15,16,16,16, 14,16,16,16,16,16,16,16,16, 9,11,14,16,16,10,11, 13,16,16,14,13,14,16,16,16,15,15,16,16,16,16,16, 16,16,11,13,16,16,16,11,13,15,16,16,13,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16, 14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, 16,16,16,16, 9,13,16,16,16,11,13,16,16,16,14,15, 16,16,16,15,16,16,16,16,16,16,16,16,16, 9,13,15, 15,16,12,13,14,16,16,16,15,16,16,16,16,16,16,16, 16,16,16,16,16,16,11,13,15,16,16,12,14,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,15,15,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15, 16,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16, 16);
 
mlt_sqvh_bitcount_category_4: array[byte] of int32 = ( 2, 4, 7,10, 4, 5, 7,10, 7, 8,10,14,11,11,15,15, 4, 5, 9,12, 5, 5, 8,12, 8, 7,10,15,11,11,15,15, 7, 9,12,15, 8, 8,12,15,10,10,13,15,14,14,15,13, 11,13,15,15,11,13,15,15,14,15,15,13,15,15,13,13, 4, 5, 9,13, 5, 6, 9,13, 9, 9,11,15,14,13,15,15, 4, 6, 9,12, 5, 6, 9,13, 9, 8,11,15,13,12,15,15, 7, 9,12,15, 7, 8,11,15,10,10,14,15,14,15,15,14, 10,12,15,15,11,13,15,15,15,15,15,14,15,15,14,14, 6, 9,13,14, 8, 9,12,15,12,12,15,15,15,15,15,15, 7, 9,13,15, 8, 9,12,15,11,12,15,15,15,15,15,15, 9,11,15,15, 9,11,15,15,14,14,15,15,15,15,15,15, 14,15,15,15,14,15,15,15,15,15,15,15,14,14,15,15, 9,12,15,15,12,13,15,15,15,15,15,15,15,15,15,15, 10,12,15,15,12,14,15,15,15,15,15,15,15,15,15,15, 14,15,15,15,15,15,15,15,15,15,15,15,14,14,15,15, 15,15,15,15,15,15,15,15,14,14,15,15,14,14,15,15);
 
mlt_sqvh_bitcount_category_5: array[0..242] of int32 = ( 2, 4, 8, 4, 5, 9, 9,10,14, 4, 6,11, 5, 6,12,10, 11,15, 9,11,15,10,13,15,14,15, 6, 4, 6,12, 6, 7, 12,12,12,15, 5, 7,13, 6, 7,13,12,13,15,10,12,15, 11,13,15,15,15, 7, 8,13,15,11,12,15,15,15, 7,10, 13,15,12,15,15,15,15, 7,15,15, 7,15,15, 7, 6, 7, 7, 4, 5,11, 5, 7,12,11,12,15, 6, 7,13, 7, 8,14, 12,14,15,11,13,15,12,13,15,15,15, 8, 5, 6,13, 7, 8,15,12,14,15, 6, 8,14, 7, 8,15,14,15,15,12,12, 15,12,13,15,15,15, 8, 9,13,15,12,13,15,15,15, 8, 11,13,15,13,13,15,15,15, 8,14,15, 8,15,15, 8, 7, 8, 8, 8,10,15,11,12,15,15,15, 7,10,12,15,12,13, 15,15,15, 8,14,15, 7,15,15, 8, 7, 8, 8, 8,12,15, 12,13,15,15,15, 8,11,13,15,13,15,15,15,15, 8,15, 15, 8,15,15, 8, 7, 8, 8,14,15, 6,15,15, 8, 7, 8, 8,15,15, 8,15,15, 8, 7, 8, 8, 6, 8, 8, 7, 8, 8, 7, 8, 8);
 
mlt_sqvh_bitcount_category_6: array[0..31] of int32 = ( 1, 4, 4, 6, 4, 6, 6, 8, 4, 6, 6, 8, 6, 9, 8,10, 4, 6, 7, 8, 6, 9, 8,11, 6, 9, 8,10, 8,10, 9,11);
 
mlt_sqvh_code_category_0: array[0..195] of int32 = ( 1, 2, 1, 24, 14, 51, 9, 68, 110, 26, 218, 54, 154, 761, 3, 10, 22, 8, 58, 22, 71, 16, 30, 50, 213, 75, 94, 632, 15, 18, 52, 23, 107, 5, 54, 63, 239, 46, 276, 271, 851, 252, 28, 10, 12, 1, 22, 133, 191, 55, 105, 278, 317, 554, 310, 276, 32, 50, 94, 20, 187, 219, 13, 268, 473, 445, 145, 849, 1277, 623, 1, 14, 0, 55, 238, 121, 120, 269, 318, 530, 639, 1117, 509, 556, 24, 78, 51, 153, 62, 308, 16, 25, 68, 1058, 428, 277, 2233, 1114, 92, 108, 141, 223, 270, 381, 24, 212, 760, 35, 1063, 279, 1717, 3439, 7, 21, 152, 73, 309, 310, 95, 944, 1890, 2232, 1891, 5107,10213, 4981, 61, 62, 9, 79, 474, 475, 848, 1059, 1056, 1716, 139, 4978, 4983, 4983, 140, 186, 76, 444, 144, 633, 1057, 838, 2237, 4472, 4473,10212,10212, 4983, 74, 78, 311, 213, 850, 1062, 1119, 508, 276, 277, 4982, 4473,10212,10212, 208, 70, 555, 418, 68, 510, 2552, 1115, 4980, 4979, 4982, 4982, 4473,10212, 215, 71, 253, 511, 839, 1718, 2488, 6876, 6877, 4979, 4979, 4982, 4982, 4473);
 
mlt_sqvh_code_category_1: array[0..99] of int32 = ( 1, 2, 11, 27, 31, 9, 120, 31, 275, 310, 1, 0, 12, 5, 33, 54, 102, 111, 246, 448, 10, 14, 31, 39, 59, 100, 114, 202, 485, 969, 24, 26, 36, 52, 103, 30, 120, 242, 69, 1244, 35, 32, 14, 61, 113, 117, 233, 486, 487, 2491, 13, 12, 69, 110, 149, 35, 495, 449, 1978, 7751, 76, 75, 122, 136, 213, 68, 623, 930, 3959, 9961, 115, 16, 107, 225, 424, 850, 1936, 7916, 4981, 4981, 148, 154, 243, 407, 988, 851, 7750,19920, 7916, 4981, 406, 274, 464, 931, 3874, 7917, 19921,19920,19920, 7916);
 
mlt_sqvh_code_category_2: array[0..48] of int32 = ( 1, 0, 10, 11, 28, 62, 363, 3, 2, 9, 8, 24, 53, 352, 7, 8, 13, 25, 89, 74, 355, 10, 23, 24, 29, 55, 354, 1449, 25, 19, 30, 52, 108, 438, 5793, 91, 36, 63, 353, 725,11584,23170, 180, 75, 218, 439, 2897,23171, 11584);
 
mlt_sqvh_code_category_3: array[0..624] of int32 = ( 3, 8, 46, 145, 228, 4, 8, 47, 28, 455, 89, 2, 180, 5, 1335, 250, 12, 644, 1311, 139, 729, 251, 870, 2172, 2211, 5, 23, 112, 334, 1469, 21, 3, 5, 111, 2014, 88, 79, 152, 124, 2685, 297, 48, 110, 1310, 149, 501, 1231, 153, 2267, 2569, 57, 13, 653, 2587, 143, 75, 124, 118, 2611, 5242, 61, 50, 253, 3633, 2216, 476, 39, 57, 1926, 2236, 2586, 1329, 1920, 2566, 1926, 296, 233, 2590, 2240, 2217, 253, 613, 867, 144, 318, 614, 252, 2589, 2242, 2218, 872, 866, 2187, 2296, 2155, 2568, 2227, 150, 2567, 2296, 199, 2686, 2160, 2290,19145, 232, 2680, 128, 2192, 2212, 2684, 793, 2281, 2223, 2242, 1934, 2165, 2146, 2291, 2296, 2222, 2189, 2187, 2296, 2296, 6, 4, 82, 725, 3632, 15, 21, 56, 599, 148, 3, 162, 42, 411, 2301, 735, 654, 930, 137, 2586, 869, 1334, 1931, 2300, 2213, 9, 22, 146, 1290, 5240, 5, 12, 53, 630, 875, 80, 9, 8, 86, 2002, 210, 117, 56, 2019, 2162, 146, 397, 868, 131, 2151, 77, 160, 365, 2610, 2252, 59, 54, 41, 2591, 1928, 226, 14, 121, 5792, 2295, 1197, 728, 408, 130, 2157, 3635, 155, 2573, 2587, 130, 314, 64, 144, 2173, 2176, 115, 30, 409, 153, 2590, 631, 26, 4787, 2221, 2174, 2683, 1863, 2572, 319, 2150, 2177, 2194, 2571, 2257, 319, 65, 145, 2251, 2156, 2161, 909, 864, 2193, 2197, 2246, 2588, 5797, 156, 2258, 2221, 2158, 2199, 2214, 2152, 319, 2188, 2264, 2572, 319, 319, 30, 117, 219, 865, 2263, 147, 127, 239, 410, 2247, 27, 324, 1468, 2681, 2180, 1328, 5241, 147, 142, 2237, 2241, 2245, 1921, 2262, 142, 41, 11, 505, 2682, 2591, 0, 26, 229, 2015, 2577, 464, 98, 87, 5243, 2166, 149, 2016, 5244, 2190, 2198, 9573,11598,11599, 2235, 2190, 144, 298, 1004, 5245, 2277, 156, 104, 254, 2560, 1922, 612, 325, 2017, 129, 2588, 2608, 1330, 871, 2144, 2145, 132, 2147, 2148, 2149, 2144, 119, 1331, 133, 2153, 2154, 211, 58, 2609, 1923, 2159, 510, 163, 5246, 2163, 2164, 1924, 134, 2167, 2168, 2168, 2169, 2170, 2171, 2168, 2168, 1332, 135, 136, 2175, 2153, 150, 873, 2178, 2179, 1923, 1925, 2181, 2182, 2183, 2163, 2184, 2185, 2186, 2168, 2168, 1924, 134, 2167, 2168, 2168, 58, 326, 2687, 138, 2191, 31, 66, 874, 2195, 2196, 151, 152, 1927, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2205, 55, 103, 1230, 140, 2215, 118, 15, 1333, 2219, 2220, 2018, 511, 141, 2224, 2225, 2226, 1929, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2229, 366, 1005, 1930, 2238, 2239, 12, 1006, 5247, 2243, 2244, 1932, 3634, 1933, 2248, 2249, 2250, 145, 146, 2253, 2253, 2254, 2255, 2256, 2253, 2253, 1291, 5793, 2259, 2260, 2261, 477, 5794, 147, 2265, 2266, 5795, 2268, 2269, 2270, 2270, 2271, 2272, 2273, 2274, 2274, 2275, 2276, 2273, 2274, 2274, 148, 2278, 2279, 2280, 2260, 1935, 2282, 2283, 2284, 2265, 2285, 2286, 2287, 2270, 2270, 2288, 2289, 2273, 2274, 2274, 2271, 2272, 2273, 2274, 2274, 233, 5796, 2292, 2293, 2294, 1292, 3724, 2297, 2298, 2299, 2000, 151, 2302, 2303, 2200, 152, 2561, 2562, 2563, 2205, 2564, 2565, 2204, 2205, 2205, 363, 154, 154, 155, 2570, 59, 3725, 2001, 2574, 2575, 2576, 157, 2578, 2579, 2224, 2580, 2581, 2582, 2583, 2229, 2584, 2585, 2228, 2229, 2229, 654, 5798, 158, 2589, 2238, 2392, 2003, 2592, 2593, 2243, 2594, 2595, 2596, 2597, 2248, 2598, 2599, 2600, 2253, 2253, 2250, 145, 146, 2253, 2253, 2601, 2602, 2603, 2604, 2260, 2605, 2606, 2607, 6336, 2265, 6337, 6338, 6339, 2270, 2270, 6340, 6341, 2273, 2274, 2274, 2271, 2272, 2273, 2274, 2274, 6342, 6343, 2259, 2260, 2260,38288,38289, 147, 2265, 2265, 5795, 2268, 2269, 2270, 2270, 2271, 2272, 2273, 2274, 2274, 2271, 2272, 2273, 2274, 2274);
 
mlt_sqvh_code_category_4: array[byte] of int32 = ( 1, 2, 4, 572, 10, 0, 69, 712, 91, 10, 46, 9182, 1426, 1430,30172,30194, 9, 28, 22, 2258, 16, 25, 142, 2179, 15, 111, 719, 1521, 1131, 1437, 1520,30196, 88, 283, 3803,30193, 13, 236, 2856,30166, 545, 951, 5709, 1522, 3241, 9180,30179, 5709, 1088, 4356,30410,30175, 1146, 377,30162,30163, 8715,30176,30165, 5709,30197,30184, 5709, 5709, 1, 23, 28, 5710, 26, 14, 29, 7538, 102, 103, 1429, 1524, 3237, 7060,30401,30201, 15, 13, 470, 3768, 24, 15, 281, 5747, 24, 181, 1128,30206, 5711, 3531,30156,30158, 116, 100, 2260,30187, 119, 234, 1764,30171, 716, 883, 9183,30164, 3236, 1528,30180, 9183, 885, 2870, 1532,30160, 1431, 5708,30192,30205,30402,30168,30173, 9183,30157,30161, 9183, 9183, 54, 25, 1621,15211, 180, 287, 2261,30198, 808, 811,30411,30413,30414,22986,22987,30411, 24, 273, 376,30159, 137, 280, 2871, 1523, 1768, 2259, 1525,30167, 1526,30169,30170, 1525, 443, 1434, 1527,30174, 474, 1769,30177,30178, 3238, 3239,30181,30181,30182,30183,30181,30181, 3240,30185,30186, 1527, 9181,30188,30189,30177,30190,30191,30181,30181, 3238, 3239,30181,30181, 440, 2857, 1529,30195, 2294, 7061, 1530,30199,30200, 1531,30202,30411,30203,30204,30411,30411, 203, 2872,30207,30400, 189,11492,30403,30404,30405,30406,30407, 1525,30408,30409, 1525, 1525, 8714, 1533,30412, 1527, 1534, 1535,30415,30177,30416,30417,30181,30181, 3238, 3239,30181,30181, 30418,30419, 1527, 1527,30420,30421,30177,30177, 3238, 3239,30181,30181, 3238, 3239,30181,30181);
 
mlt_sqvh_code_category_5: array[0..242] of int32 = ( 0, 5, 220, 10, 16, 443, 390, 391,14333, 11, 26, 1566, 26, 54, 3135, 508, 1558,28581, 255, 1782,28599, 885, 6208,28578,14335,28579, 54, 9, 35, 3129, 27, 68, 3537, 1562, 3568,28610, 25, 62, 4078, 58, 118, 7763, 3107, 7758,28563, 778, 3131,28598, 780, 7123,28630,28593,28586, 118, 243, 6210,28614, 1018, 3567,28601,28611,28570, 68, 388, 6256,28619, 1559,28562,28606,28565,28591, 118,28594,28571, 62,28618,28590, 118, 58, 118, 118, 4, 28, 1781, 31, 60, 3134, 1938, 3882,28574, 25, 96, 7757, 49, 126,14244, 3883,14334,28613, 1769, 4077,28602, 3106, 7756,28582,28621,28566, 126, 14, 61, 4079, 61, 138,28491, 3536, 8153,28573, 49, 96,12442, 119, 240,28490,12443,28560,28561, 3111, 3580, 28564, 3130, 7759,28567,28568,28569, 240, 444, 6209,28572, 3569, 6211,28575,28576,28577, 138, 778, 7760,28580, 7761, 7762,28583,28584,28585, 240,14319,28587, 96,28588,28589, 240, 119, 240, 240, 139, 968,28592, 1554, 3581,28595,28596,28597, 60, 971, 3560,28600, 3582, 7132, 28603,28604,28605, 126,14332,28607, 96,28608,28609, 126, 49, 126, 126, 241, 1558,28612, 1563, 6257,28615,28616,28617, 138, 1559, 7133,28620, 6220,28622,28623,28624,28625, 240,28626, 28627, 96,28628,28629, 240, 119, 240, 240, 8152,28631, 61,28632,28633, 138, 61, 138, 138,28634,28635, 96,28636,28637, 240, 119, 240, 240, 49, 96, 96, 119, 240, 240, 119, 240, 240);
 
mlt_sqvh_code_category_6: array[0..31] of int32 = ( 1, 2, 4, 2, 5, 29, 24, 101, 3, 31, 28, 105, 3, 5, 102, 424, 1, 30, 0, 107, 27, 200, 103, 806, 1, 4, 104, 402, 3, 425, 213, 807);
 
NUM_CATEGORIES = 8;
 
NUM_REGIONS = 14;
 
PI = 3.141592653589793238462;

**************************************************************** ****************************************************************** ** ** G.722.1 Annex B - G.722.1 Floating point implementation ** > Software Release 2.1 (2008-06) ** ** Filename : defs.h ** ** © 2000 PictureTel Coporation ** Andover, MA, USA ** ** All rights reserved. ** ****************************************************************** *****************************************************************

REGION_POWER_STEPSIZE_DB = 3.010299957;

**************************************************************** ****************************************************************** ** ** G.722.1 Annex B - G.722.1 Floating point implementation ** > Software Release 2.1 (2008-06) ** ** Filename : Huff_defs.h ** ** © 2000 PictureTel Coporation ** Andover, MA, USA ** ** All rights reserved. ** ****************************************************************** *****************************************************************

REGION_POWER_TABLE_NUM_NEGATIVES = 24;
 
REGION_POWER_TABLE_SIZE = 64;
 
table_of_bitcount_tables: array[0..NUM_CATEGORIES-2] of pointer = ( @mlt_sqvh_bitcount_category_0, @mlt_sqvh_bitcount_category_1, @mlt_sqvh_bitcount_category_2, @mlt_sqvh_bitcount_category_3, @mlt_sqvh_bitcount_category_4, @mlt_sqvh_bitcount_category_5, @mlt_sqvh_bitcount_category_6 );
 
table_of_code_tables: array[0..NUM_CATEGORIES-2] of pointer = ( @mlt_sqvh_code_category_0, @mlt_sqvh_code_category_1, @mlt_sqvh_code_category_2, @mlt_sqvh_code_category_3, @mlt_sqvh_code_category_4, @mlt_sqvh_code_category_5, @mlt_sqvh_code_category_6 );
 
table_of_decoder_tables: array[0..NUM_CATEGORIES - 2] of pointer = ( @mlt_decoder_tree_category_0, @mlt_decoder_tree_category_1, @mlt_decoder_tree_category_2, @mlt_decoder_tree_category_3, @mlt_decoder_tree_category_4, @mlt_decoder_tree_category_5, @mlt_decoder_tree_category_6 );
 

Author

(c) 2012 Lake of Soft


Generated by PasDoc 0.12.1 on 2012-10-09