C++程序  |  82行  |  4.9 KB

/******************************************************************************
 *                                                                            *
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 *****************************************************************************
 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
*/
#include <limits.h>

#include <ixheaacd_type_def.h>
#include "ixheaacd_interface.h"
#include "ixheaacd_bitbuffer.h"
#include "ixheaacd_info.h"

ia_huff_code_word_struct ixheaacd_huff_book_scl[] = {

    {0, 18, 262120},   {1, 18, 262118},   {2, 18, 262119},   {3, 18, 262117},
    {4, 19, 524277},   {5, 19, 524273},   {6, 19, 524269},   {7, 19, 524278},
    {8, 19, 524270},   {9, 19, 524271},   {10, 19, 524272},  {11, 19, 524284},
    {12, 19, 524285},  {13, 19, 524287},  {14, 19, 524286},  {15, 19, 524279},
    {16, 19, 524280},  {17, 19, 524283},  {18, 19, 524281},  {19, 18, 262116},
    {20, 19, 524282},  {21, 18, 262115},  {22, 17, 131055},  {23, 17, 131056},
    {24, 16, 65525},   {25, 17, 131054},  {26, 16, 65522},   {27, 16, 65523},
    {28, 16, 65524},   {29, 16, 65521},   {30, 15, 32758},   {31, 15, 32759},
    {32, 14, 16377},   {33, 14, 16373},   {34, 14, 16375},   {35, 14, 16371},
    {36, 14, 16374},   {37, 14, 16370},   {38, 13, 8183},    {39, 13, 8181},
    {40, 12, 4089},    {41, 12, 4087},    {42, 12, 4086},    {43, 11, 2041},
    {44, 12, 4084},    {45, 11, 2040},    {46, 10, 1017},    {47, 10, 1015},
    {48, 10, 1013},    {49, 9, 504},      {50, 9, 503},      {51, 8, 250},
    {52, 8, 248},      {53, 8, 246},      {54, 7, 121},      {55, 6, 58},
    {56, 6, 56},       {57, 5, 26},       {58, 4, 11},       {59, 3, 4},
    {60, 1, 0},        {61, 4, 10},       {62, 4, 12},       {63, 5, 27},
    {64, 6, 57},       {65, 6, 59},       {66, 7, 120},      {67, 7, 122},
    {68, 8, 247},      {69, 8, 249},      {70, 9, 502},      {71, 9, 505},
    {72, 10, 1012},    {73, 10, 1014},    {74, 10, 1016},    {75, 11, 2037},
    {76, 11, 2036},    {77, 11, 2038},    {78, 11, 2039},    {79, 12, 4085},
    {80, 12, 4088},    {81, 13, 8180},    {82, 13, 8182},    {83, 13, 8184},
    {84, 14, 16376},   {85, 14, 16372},   {86, 16, 65520},   {87, 15, 32756},
    {88, 16, 65526},   {89, 15, 32757},   {90, 18, 262114},  {91, 19, 524249},
    {92, 19, 524250},  {93, 19, 524251},  {94, 19, 524252},  {95, 19, 524253},
    {96, 19, 524254},  {97, 19, 524248},  {98, 19, 524242},  {99, 19, 524243},
    {100, 19, 524244}, {101, 19, 524245}, {102, 19, 524246}, {103, 19, 524274},
    {104, 19, 524255}, {105, 19, 524263}, {106, 19, 524264}, {107, 19, 524265},
    {108, 19, 524266}, {109, 19, 524267}, {110, 19, 524262}, {111, 19, 524256},
    {112, 19, 524257}, {113, 19, 524258}, {114, 19, 524259}, {115, 19, 524260},
    {116, 19, 524261}, {117, 19, 524247}, {118, 19, 524268}, {119, 19, 524276},
    {120, 19, 524275}};
WORD32 ixheaacd_book_scl_index[33] = {
    0x00000000, 0x10100004, 0x2040000c, 0x00a0003b, 0x30d0007a, 0x412000fa,
    0x516001f9, 0x61c003f9, 0x722007f9, 0x82800ff9, 0x92d01ff8, 0xa3503ff9,
    0xb400fff6, 0xc431fff0, 0x0687ffef, 0x0707fff7, 0x0747fffb, 0x0767fffd,
    0x0777fffe, 0x0787ffff, 0x0030000b, 0x0060001b, 0x00f000f7, 0x014001f7,
    0x01a003f7, 0x020007f7, 0x02600ff7, 0x02c01ff7, 0x03303ff7, 0x03907ff7,
    0x0421ffef, 0x14a3ffe8, 0x0587ffdf};
WORD16 ixheaacd_book_scl_code_book[122] = {
    0x0013, 0x0781, 0x0763, 0x07a4, 0x0744, 0x07c4, 0x0725, 0x07e5, 0x0706,
    0x0806, 0x06e6, 0x0826, 0x0847, 0x06c7, 0x0867, 0x06a8, 0x0888, 0x0688,
    0x08a8, 0x0668, 0x08c9, 0x0649, 0x0629, 0x08e9, 0x090a, 0x060a, 0x092a,
    0x05ea, 0x094a, 0x05ca, 0x098b, 0x096b, 0x09ab, 0x09cb, 0x05ab, 0x056b,
    0x058c, 0x09ec, 0x054c, 0x052c, 0x0a0c, 0x050c, 0x0a2d, 0x04ed, 0x0a4d,
    0x04cd, 0x0a6d, 0x04ae, 0x046e, 0x0aae, 0x042e, 0x048e, 0x044e, 0x0a8e,
    0x040e, 0x0aef, 0x0b2f, 0x03cf, 0x03ef, 0x0ad0, 0x03b0, 0x0350, 0x0370,
    0x0390, 0x0310, 0x0b10, 0x0331, 0x02d1, 0x02f1, 0x0b52, 0x02b2, 0x0272,
    0x0072, 0x0032, 0x0052, 0x0012, 0x0c53, 0x0c73, 0x0c93, 0x0cb3, 0x0cd3,
    0x0eb3, 0x0c33, 0x0b73, 0x0b93, 0x0bb3, 0x0bd3, 0x0bf3, 0x0c13, 0x0d13,
    0x0df3, 0x0e13, 0x0e33, 0x0e53, 0x0e73, 0x0e93, 0x0dd3, 0x0d33, 0x0d53,
    0x0d73, 0x0d93, 0x0db3, 0x0ed3, 0x00d3, 0x0113, 0x0133, 0x0153, 0x00b3,
    0x0cf3, 0x0f13, 0x0ef3, 0x0093, 0x00f3, 0x01f3, 0x0213, 0x0253, 0x0293,
    0x0233, 0x0173, 0x0193, 0x01d3, 0x01b3};