1cabdff1aSopenharmony_ci/*
2cabdff1aSopenharmony_ci * VC-1 and WMV3 decoder
3cabdff1aSopenharmony_ci * copyright (c) 2006 Konstantin Shishkov
4cabdff1aSopenharmony_ci *
5cabdff1aSopenharmony_ci * This file is part of FFmpeg.
6cabdff1aSopenharmony_ci *
7cabdff1aSopenharmony_ci * FFmpeg is free software; you can redistribute it and/or
8cabdff1aSopenharmony_ci * modify it under the terms of the GNU Lesser General Public
9cabdff1aSopenharmony_ci * License as published by the Free Software Foundation; either
10cabdff1aSopenharmony_ci * version 2.1 of the License, or (at your option) any later version.
11cabdff1aSopenharmony_ci *
12cabdff1aSopenharmony_ci * FFmpeg is distributed in the hope that it will be useful,
13cabdff1aSopenharmony_ci * but WITHOUT ANY WARRANTY; without even the implied warranty of
14cabdff1aSopenharmony_ci * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15cabdff1aSopenharmony_ci * Lesser General Public License for more details.
16cabdff1aSopenharmony_ci *
17cabdff1aSopenharmony_ci * You should have received a copy of the GNU Lesser General Public
18cabdff1aSopenharmony_ci * License along with FFmpeg; if not, write to the Free Software
19cabdff1aSopenharmony_ci * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20cabdff1aSopenharmony_ci */
21cabdff1aSopenharmony_ci
22cabdff1aSopenharmony_ci#ifndef AVCODEC_VC1ACDATA_H
23cabdff1aSopenharmony_ci#define AVCODEC_VC1ACDATA_H
24cabdff1aSopenharmony_ci
25cabdff1aSopenharmony_ci#include <stdint.h>
26cabdff1aSopenharmony_ci
27cabdff1aSopenharmony_ci#include "vc1data.h"
28cabdff1aSopenharmony_ci
29cabdff1aSopenharmony_ci/* which indexes point to last=1 entries in tables */
30cabdff1aSopenharmony_cistatic const int vc1_last_decode_table[AC_MODES] = {
31cabdff1aSopenharmony_ci    119, 99, 85, 81, 67, 58, 126, 109
32cabdff1aSopenharmony_ci};
33cabdff1aSopenharmony_ci
34cabdff1aSopenharmony_cistatic const uint8_t vc1_index_decode_table[AC_MODES][185][2] = {
35cabdff1aSopenharmony_ci{
36cabdff1aSopenharmony_ci{  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5}, {  0,  6}, {  0,  7}, {  0,  8},
37cabdff1aSopenharmony_ci{  0,  9}, {  0, 10}, {  0, 11}, {  0, 12}, {  0, 13}, {  0, 14}, {  0, 15}, {  0, 16},
38cabdff1aSopenharmony_ci{  0, 17}, {  0, 18}, {  0, 19}, {  1,  1}, {  1,  2}, {  1,  3}, {  1,  4}, {  1,  5},
39cabdff1aSopenharmony_ci{  1,  6}, {  1,  7}, {  1,  8}, {  1,  9}, {  1, 10}, {  1, 11}, {  1, 12}, {  1, 13},
40cabdff1aSopenharmony_ci{  1, 14}, {  1, 15}, {  2,  1}, {  2,  2}, {  2,  3}, {  2,  4}, {  2,  5}, {  2,  6},
41cabdff1aSopenharmony_ci{  2,  7}, {  2,  8}, {  2,  9}, {  2, 10}, {  2, 11}, {  2, 12}, {  3,  1}, {  3,  2},
42cabdff1aSopenharmony_ci{  3,  3}, {  3,  4}, {  3,  5}, {  3,  6}, {  3,  7}, {  3,  8}, {  3,  9}, {  3, 10},
43cabdff1aSopenharmony_ci{  3, 11}, {  4,  1}, {  4,  2}, {  4,  3}, {  4,  4}, {  4,  5}, {  4,  6}, {  5,  1},
44cabdff1aSopenharmony_ci{  5,  2}, {  5,  3}, {  5,  4}, {  5,  5}, {  6,  1}, {  6,  2}, {  6,  3}, {  6,  4},
45cabdff1aSopenharmony_ci{  7,  1}, {  7,  2}, {  7,  3}, {  7,  4}, {  8,  1}, {  8,  2}, {  8,  3}, {  8,  4},
46cabdff1aSopenharmony_ci{  9,  1}, {  9,  2}, {  9,  3}, {  9,  4}, { 10,  1}, { 10,  2}, { 10,  3}, { 11,  1},
47cabdff1aSopenharmony_ci{ 11,  2}, { 11,  3}, { 12,  1}, { 12,  2}, { 12,  3}, { 13,  1}, { 13,  2}, { 13,  3},
48cabdff1aSopenharmony_ci{ 14,  1}, { 14,  2}, { 14,  3}, { 15,  1}, { 15,  2}, { 15,  3}, { 16,  1}, { 16,  2},
49cabdff1aSopenharmony_ci{ 17,  1}, { 17,  2}, { 18,  1}, { 19,  1}, { 20,  1}, { 21,  1}, { 22,  1}, { 23,  1},
50cabdff1aSopenharmony_ci{ 24,  1}, { 25,  1}, { 26,  1}, { 27,  1}, { 28,  1}, { 29,  1}, { 30,  1}, {  0,  1},
51cabdff1aSopenharmony_ci{  0,  2}, {  0,  3}, {  0,  4}, {  0,  5}, {  0,  6}, {  1,  1}, {  1,  2}, {  1,  3},
52cabdff1aSopenharmony_ci{  1,  4}, {  1,  5}, {  2,  1}, {  2,  2}, {  2,  3}, {  2,  4}, {  3,  1}, {  3,  2},
53cabdff1aSopenharmony_ci{  3,  3}, {  3,  4}, {  4,  1}, {  4,  2}, {  4,  3}, {  5,  1}, {  5,  2}, {  6,  1},
54cabdff1aSopenharmony_ci{  6,  2}, {  7,  1}, {  7,  2}, {  8,  1}, {  8,  2}, {  9,  1}, {  9,  2}, { 10,  1},
55cabdff1aSopenharmony_ci{ 10,  2}, { 11,  1}, { 11,  2}, { 12,  1}, { 12,  2}, { 13,  1}, { 13,  2}, { 14,  1},
56cabdff1aSopenharmony_ci{ 14,  2}, { 15,  1}, { 15,  2}, { 16,  1}, { 17,  1}, { 18,  1}, { 19,  1}, { 20,  1},
57cabdff1aSopenharmony_ci{ 21,  1}, { 22,  1}, { 23,  1}, { 24,  1}, { 25,  1}, { 26,  1}, { 27,  1}, { 28,  1},
58cabdff1aSopenharmony_ci{ 29,  1}, { 30,  1}, { 31,  1}, { 32,  1}, { 33,  1}, { 34,  1}, { 35,  1}, { 36,  1},
59cabdff1aSopenharmony_ci{ 37,  1}
60cabdff1aSopenharmony_ci},
61cabdff1aSopenharmony_ci{
62cabdff1aSopenharmony_ci{  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5}, {  0,  6}, {  0,  7}, {  0,  8},
63cabdff1aSopenharmony_ci{  0,  9}, {  0, 10}, {  0, 11}, {  0, 12}, {  0, 13}, {  0, 14}, {  0, 15}, {  0, 16},
64cabdff1aSopenharmony_ci{  0, 17}, {  0, 18}, {  0, 19}, {  0, 20}, {  0, 21}, {  0, 22}, {  0, 23}, {  1,  1},
65cabdff1aSopenharmony_ci{  1,  2}, {  1,  3}, {  1,  4}, {  1,  5}, {  1,  6}, {  1,  7}, {  1,  8}, {  1,  9},
66cabdff1aSopenharmony_ci{  1, 10}, {  1, 11}, {  2,  1}, {  2,  2}, {  2,  3}, {  2,  4}, {  2,  5}, {  2,  6},
67cabdff1aSopenharmony_ci{  2,  7}, {  2,  8}, {  3,  1}, {  3,  2}, {  3,  3}, {  3,  4}, {  3,  5}, {  3,  6},
68cabdff1aSopenharmony_ci{  3,  7}, {  4,  1}, {  4,  2}, {  4,  3}, {  4,  4}, {  4,  5}, {  5,  1}, {  5,  2},
69cabdff1aSopenharmony_ci{  5,  3}, {  5,  4}, {  5,  5}, {  6,  1}, {  6,  2}, {  6,  3}, {  6,  4}, {  7,  1},
70cabdff1aSopenharmony_ci{  7,  2}, {  7,  3}, {  7,  4}, {  8,  1}, {  8,  2}, {  8,  3}, {  9,  1}, {  9,  2},
71cabdff1aSopenharmony_ci{  9,  3}, { 10,  1}, { 10,  2}, { 10,  3}, { 11,  1}, { 11,  2}, { 11,  3}, { 12,  1},
72cabdff1aSopenharmony_ci{ 12,  2}, { 13,  1}, { 13,  2}, { 14,  1}, { 14,  2}, { 15,  1}, { 15,  2}, { 16,  1},
73cabdff1aSopenharmony_ci{ 16,  2}, { 17,  1}, { 18,  1}, { 19,  1}, { 20,  1}, { 21,  1}, { 22,  1}, { 23,  1},
74cabdff1aSopenharmony_ci{ 24,  1}, { 25,  1}, { 26,  1}, {  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5},
75cabdff1aSopenharmony_ci{  0,  6}, {  0,  7}, {  0,  8}, {  0,  9}, {  1,  1}, {  1,  2}, {  1,  3}, {  1,  4},
76cabdff1aSopenharmony_ci{  1,  5}, {  2,  1}, {  2,  2}, {  2,  3}, {  2,  4}, {  3,  1}, {  3,  2}, {  3,  3},
77cabdff1aSopenharmony_ci{  3,  4}, {  4,  1}, {  4,  2}, {  4,  3}, {  5,  1}, {  5,  2}, {  5,  3}, {  6,  1},
78cabdff1aSopenharmony_ci{  6,  2}, {  6,  3}, {  7,  1}, {  7,  2}, {  8,  1}, {  8,  2}, {  9,  1}, {  9,  2},
79cabdff1aSopenharmony_ci{ 10,  1}, { 10,  2}, { 11,  1}, { 11,  2}, { 12,  1}, { 12,  2}, { 13,  1}, { 13,  2},
80cabdff1aSopenharmony_ci{ 14,  1}, { 14,  2}, { 15,  1}, { 16,  1}, { 17,  1}, { 18,  1}, { 19,  1}, { 20,  1},
81cabdff1aSopenharmony_ci{ 21,  1}, { 22,  1}, { 23,  1}, { 24,  1}, { 25,  1}, { 26,  1}, { 27,  1}, { 28,  1},
82cabdff1aSopenharmony_ci{ 29,  1}, { 30,  1}, { 31,  1}, { 32,  1}, { 33,  1}, { 34,  1}, { 35,  1}, { 36,  1}
83cabdff1aSopenharmony_ci},
84cabdff1aSopenharmony_ci{
85cabdff1aSopenharmony_ci{  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5}, {  0,  6}, {  0,  7}, {  0,  8},
86cabdff1aSopenharmony_ci{  0,  9}, {  0, 10}, {  0, 11}, {  0, 12}, {  0, 13}, {  0, 14}, {  0, 15}, {  0, 16},
87cabdff1aSopenharmony_ci{  1,  1}, {  1,  2}, {  1,  3}, {  1,  4}, {  1,  5}, {  1,  6}, {  1,  7}, {  1,  8},
88cabdff1aSopenharmony_ci{  1,  9}, {  1, 10}, {  1, 11}, {  2,  1}, {  2,  2}, {  2,  3}, {  2,  4}, {  2,  5},
89cabdff1aSopenharmony_ci{  2,  6}, {  2,  7}, {  2,  8}, {  3,  1}, {  3,  2}, {  3,  3}, {  3,  4}, {  3,  5},
90cabdff1aSopenharmony_ci{  3,  6}, {  3,  7}, {  4,  1}, {  4,  2}, {  4,  3}, {  4,  4}, {  4,  5}, {  5,  1},
91cabdff1aSopenharmony_ci{  5,  2}, {  5,  3}, {  5,  4}, {  6,  1}, {  6,  2}, {  6,  3}, {  6,  4}, {  7,  1},
92cabdff1aSopenharmony_ci{  7,  2}, {  7,  3}, {  8,  1}, {  8,  2}, {  8,  3}, {  9,  1}, {  9,  2}, {  9,  3},
93cabdff1aSopenharmony_ci{ 10,  1}, { 10,  2}, { 10,  3}, { 11,  1}, { 11,  2}, { 11,  3}, { 12,  1}, { 12,  2},
94cabdff1aSopenharmony_ci{ 12,  3}, { 13,  1}, { 13,  2}, { 13,  3}, { 14,  1}, { 14,  2}, { 15,  1}, { 15,  2},
95cabdff1aSopenharmony_ci{ 16,  1}, { 17,  1}, { 18,  1}, { 19,  1}, { 20,  1}, {  0,  1}, {  0,  2}, {  0,  3},
96cabdff1aSopenharmony_ci{  0,  4}, {  1,  1}, {  1,  2}, {  1,  3}, {  1,  4}, {  2,  1}, {  2,  2}, {  2,  3},
97cabdff1aSopenharmony_ci{  3,  1}, {  3,  2}, {  3,  3}, {  4,  1}, {  4,  2}, {  5,  1}, {  5,  2}, {  6,  1},
98cabdff1aSopenharmony_ci{  6,  2}, {  7,  1}, {  7,  2}, {  8,  1}, {  8,  2}, {  9,  1}, {  9,  2}, { 10,  1},
99cabdff1aSopenharmony_ci{ 10,  2}, { 11,  1}, { 11,  2}, { 12,  1}, { 12,  2}, { 13,  1}, { 13,  2}, { 14,  1},
100cabdff1aSopenharmony_ci{ 15,  1}, { 16,  1}, { 17,  1}, { 18,  1}, { 19,  1}, { 20,  1}, { 21,  1}, { 22,  1},
101cabdff1aSopenharmony_ci{ 23,  1}, { 24,  1}, { 25,  1}, { 26,  1}
102cabdff1aSopenharmony_ci},
103cabdff1aSopenharmony_ci{
104cabdff1aSopenharmony_ci{  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5}, {  0,  6}, {  0,  7}, {  0,  8},
105cabdff1aSopenharmony_ci{  0,  9}, {  0, 10}, {  0, 11}, {  0, 12}, {  0, 13}, {  0, 14}, {  1,  1}, {  1,  2},
106cabdff1aSopenharmony_ci{  1,  3}, {  1,  4}, {  1,  5}, {  1,  6}, {  1,  7}, {  1,  8}, {  1,  9}, {  2,  1},
107cabdff1aSopenharmony_ci{  2,  2}, {  2,  3}, {  2,  4}, {  2,  5}, {  3,  1}, {  3,  2}, {  3,  3}, {  3,  4},
108cabdff1aSopenharmony_ci{  4,  1}, {  4,  2}, {  4,  3}, {  4,  4}, {  5,  1}, {  5,  2}, {  5,  3}, {  5,  4},
109cabdff1aSopenharmony_ci{  6,  1}, {  6,  2}, {  6,  3}, {  7,  1}, {  7,  2}, {  7,  3}, {  8,  1}, {  8,  2},
110cabdff1aSopenharmony_ci{  8,  3}, {  9,  1}, {  9,  2}, {  9,  3}, { 10,  1}, { 10,  2}, { 10,  3}, { 11,  1},
111cabdff1aSopenharmony_ci{ 11,  2}, { 11,  3}, { 12,  1}, { 12,  2}, { 12,  3}, { 13,  1}, { 13,  2}, { 14,  1},
112cabdff1aSopenharmony_ci{ 14,  2}, { 15,  1}, { 15,  2}, { 16,  1}, { 17,  1}, { 18,  1}, { 19,  1}, { 20,  1},
113cabdff1aSopenharmony_ci{ 21,  1}, { 22,  1}, { 23,  1}, { 24,  1}, { 25,  1}, { 26,  1}, { 27,  1}, { 28,  1},
114cabdff1aSopenharmony_ci{ 29,  1}, {  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5}, {  1,  1}, {  1,  2},
115cabdff1aSopenharmony_ci{  1,  3}, {  1,  4}, {  2,  1}, {  2,  2}, {  2,  3}, {  3,  1}, {  3,  2}, {  3,  3},
116cabdff1aSopenharmony_ci{  4,  1}, {  4,  2}, {  5,  1}, {  5,  2}, {  6,  1}, {  6,  2}, {  7,  1}, {  7,  2},
117cabdff1aSopenharmony_ci{  8,  1}, {  8,  2}, {  9,  1}, {  9,  2}, { 10,  1}, { 10,  2}, { 11,  1}, { 11,  2},
118cabdff1aSopenharmony_ci{ 12,  1}, { 12,  2}, { 13,  1}, { 13,  2}, { 14,  1}, { 14,  2}, { 15,  1}, { 15,  2},
119cabdff1aSopenharmony_ci{ 16,  1}, { 17,  1}, { 18,  1}, { 19,  1}, { 20,  1}, { 21,  1}, { 22,  1}, { 23,  1},
120cabdff1aSopenharmony_ci{ 24,  1}, { 25,  1}, { 26,  1}, { 27,  1}, { 28,  1}, { 29,  1}, { 30,  1}, { 31,  1},
121cabdff1aSopenharmony_ci{ 32,  1}, { 33,  1}, { 34,  1}, { 35,  1}, { 36,  1}, { 37,  1}, { 38,  1}, { 39,  1},
122cabdff1aSopenharmony_ci{ 40,  1}, { 41,  1}, { 42,  1}, { 43,  1}
123cabdff1aSopenharmony_ci},
124cabdff1aSopenharmony_ci{
125cabdff1aSopenharmony_ci{  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5}, {  0,  6}, {  0,  7}, {  0,  8},
126cabdff1aSopenharmony_ci{  0,  9}, {  0, 10}, {  0, 11}, {  0, 12}, {  0, 13}, {  0, 14}, {  0, 15}, {  0, 16},
127cabdff1aSopenharmony_ci{  0, 17}, {  0, 18}, {  0, 19}, {  0, 20}, {  0, 21}, {  0, 22}, {  0, 23}, {  0, 24},
128cabdff1aSopenharmony_ci{  0, 25}, {  0, 26}, {  0, 27}, {  1,  1}, {  1,  2}, {  1,  3}, {  1,  4}, {  1,  5},
129cabdff1aSopenharmony_ci{  1,  6}, {  1,  7}, {  1,  8}, {  1,  9}, {  1, 10}, {  2,  1}, {  2,  2}, {  2,  3},
130cabdff1aSopenharmony_ci{  2,  4}, {  2,  5}, {  3,  1}, {  3,  2}, {  3,  3}, {  3,  4}, {  4,  1}, {  4,  2},
131cabdff1aSopenharmony_ci{  4,  3}, {  5,  1}, {  5,  2}, {  5,  3}, {  6,  1}, {  6,  2}, {  6,  3}, {  7,  1},
132cabdff1aSopenharmony_ci{  7,  2}, {  7,  3}, {  8,  1}, {  8,  2}, {  9,  1}, {  9,  2}, { 10,  1}, { 11,  1},
133cabdff1aSopenharmony_ci{ 12,  1}, { 13,  1}, { 14,  1}, {  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5},
134cabdff1aSopenharmony_ci{  0,  6}, {  0,  7}, {  0,  8}, {  1,  1}, {  1,  2}, {  1,  3}, {  2,  1}, {  2,  2},
135cabdff1aSopenharmony_ci{  3,  1}, {  3,  2}, {  4,  1}, {  4,  2}, {  5,  1}, {  5,  2}, {  6,  1}, {  6,  2},
136cabdff1aSopenharmony_ci{  7,  1}, {  8,  1}, {  9,  1}, { 10,  1}, { 11,  1}, { 12,  1}, { 13,  1}, { 14,  1},
137cabdff1aSopenharmony_ci{ 15,  1}, { 16,  1}, { 17,  1}, { 18,  1}, { 19,  1}, { 20,  1}
138cabdff1aSopenharmony_ci},
139cabdff1aSopenharmony_ci{
140cabdff1aSopenharmony_ci{  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5}, {  0,  6}, {  0,  7}, {  0,  8},
141cabdff1aSopenharmony_ci{  0,  9}, {  0, 10}, {  0, 11}, {  0, 12}, {  1,  1}, {  1,  2}, {  1,  3}, {  1,  4},
142cabdff1aSopenharmony_ci{  1,  5}, {  1,  6}, {  2,  1}, {  2,  2}, {  2,  3}, {  2,  4}, {  3,  1}, {  3,  2},
143cabdff1aSopenharmony_ci{  3,  3}, {  4,  1}, {  4,  2}, {  4,  3}, {  5,  1}, {  5,  2}, {  5,  3}, {  6,  1},
144cabdff1aSopenharmony_ci{  6,  2}, {  6,  3}, {  7,  1}, {  7,  2}, {  8,  1}, {  8,  2}, {  9,  1}, {  9,  2},
145cabdff1aSopenharmony_ci{ 10,  1}, { 10,  2}, { 11,  1}, { 12,  1}, { 13,  1}, { 14,  1}, { 15,  1}, { 16,  1},
146cabdff1aSopenharmony_ci{ 17,  1}, { 18,  1}, { 19,  1}, { 20,  1}, { 21,  1}, { 22,  1}, { 23,  1}, { 24,  1},
147cabdff1aSopenharmony_ci{ 25,  1}, { 26,  1}, {  0,  1}, {  0,  2}, {  0,  3}, {  1,  1}, {  1,  2}, {  2,  1},
148cabdff1aSopenharmony_ci{  3,  1}, {  4,  1}, {  5,  1}, {  6,  1}, {  7,  1}, {  8,  1}, {  9,  1}, { 10,  1},
149cabdff1aSopenharmony_ci{ 11,  1}, { 12,  1}, { 13,  1}, { 14,  1}, { 15,  1}, { 16,  1}, { 17,  1}, { 18,  1},
150cabdff1aSopenharmony_ci{ 19,  1}, { 20,  1}, { 21,  1}, { 22,  1}, { 23,  1}, { 24,  1}, { 25,  1}, { 26,  1},
151cabdff1aSopenharmony_ci{ 27,  1}, { 28,  1}, { 29,  1}, { 30,  1}, { 31,  1}, { 32,  1}, { 33,  1}, { 34,  1},
152cabdff1aSopenharmony_ci{ 35,  1}, { 36,  1}, { 37,  1}, { 38,  1}, { 39,  1}, { 40,  1}
153cabdff1aSopenharmony_ci},
154cabdff1aSopenharmony_ci{
155cabdff1aSopenharmony_ci{  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5}, {  0,  6}, {  0,  7}, {  0,  8},
156cabdff1aSopenharmony_ci{  0,  9}, {  0, 10}, {  0, 11}, {  0, 12}, {  0, 13}, {  0, 14}, {  0, 15}, {  0, 16},
157cabdff1aSopenharmony_ci{  0, 17}, {  0, 18}, {  0, 19}, {  0, 20}, {  0, 21}, {  0, 22}, {  0, 23}, {  0, 24},
158cabdff1aSopenharmony_ci{  0, 25}, {  0, 26}, {  0, 27}, {  0, 28}, {  0, 29}, {  0, 30}, {  0, 31}, {  0, 32},
159cabdff1aSopenharmony_ci{  0, 33}, {  0, 34}, {  0, 35}, {  0, 36}, {  0, 37}, {  0, 38}, {  0, 39}, {  0, 40},
160cabdff1aSopenharmony_ci{  0, 41}, {  0, 42}, {  0, 43}, {  0, 44}, {  0, 45}, {  0, 46}, {  0, 47}, {  0, 48},
161cabdff1aSopenharmony_ci{  0, 49}, {  0, 50}, {  0, 51}, {  0, 52}, {  0, 53}, {  0, 54}, {  0, 55}, {  0, 56},
162cabdff1aSopenharmony_ci{  1,  1}, {  1,  2}, {  1,  3}, {  1,  4}, {  1,  5}, {  1,  6}, {  1,  7}, {  1,  8},
163cabdff1aSopenharmony_ci{  1,  9}, {  1, 10}, {  1, 11}, {  1, 12}, {  1, 13}, {  1, 14}, {  1, 15}, {  1, 16},
164cabdff1aSopenharmony_ci{  1, 17}, {  1, 18}, {  1, 19}, {  1, 20}, {  2,  1}, {  2,  2}, {  2,  3}, {  2,  4},
165cabdff1aSopenharmony_ci{  2,  5}, {  2,  6}, {  2,  7}, {  2,  8}, {  2,  9}, {  2, 10}, {  3,  1}, {  3,  2},
166cabdff1aSopenharmony_ci{  3,  3}, {  3,  4}, {  3,  5}, {  3,  6}, {  3,  7}, {  4,  1}, {  4,  2}, {  4,  3},
167cabdff1aSopenharmony_ci{  4,  4}, {  4,  5}, {  4,  6}, {  5,  1}, {  5,  2}, {  5,  3}, {  5,  4}, {  5,  5},
168cabdff1aSopenharmony_ci{  6,  1}, {  6,  2}, {  6,  3}, {  6,  4}, {  7,  1}, {  7,  2}, {  7,  3}, {  8,  1},
169cabdff1aSopenharmony_ci{  8,  2}, {  8,  3}, {  9,  1}, {  9,  2}, {  9,  3}, { 10,  1}, { 10,  2}, { 11,  1},
170cabdff1aSopenharmony_ci{ 11,  2}, { 12,  1}, { 12,  2}, { 13,  1}, { 13,  2}, { 14,  1}, {  0,  1}, {  0,  2},
171cabdff1aSopenharmony_ci{  0,  3}, {  0,  4}, {  1,  1}, {  1,  2}, {  1,  3}, {  2,  1}, {  2,  2}, {  2,  3},
172cabdff1aSopenharmony_ci{  3,  1}, {  3,  2}, {  4,  1}, {  4,  2}, {  5,  1}, {  5,  2}, {  6,  1}, {  6,  2},
173cabdff1aSopenharmony_ci{  7,  1}, {  7,  2}, {  8,  1}, {  8,  2}, {  9,  1}, {  9,  2}, { 10,  1}, { 10,  2},
174cabdff1aSopenharmony_ci{ 11,  1}, { 11,  2}, { 12,  1}, { 12,  2}, { 13,  1}, { 13,  2}, { 14,  1}, { 14,  2},
175cabdff1aSopenharmony_ci{ 15,  1}, { 16,  1}
176cabdff1aSopenharmony_ci},
177cabdff1aSopenharmony_ci{
178cabdff1aSopenharmony_ci{  0,  1}, {  0,  2}, {  0,  3}, {  0,  4}, {  0,  5}, {  0,  6}, {  0,  7}, {  0,  8},
179cabdff1aSopenharmony_ci{  0,  9}, {  0, 10}, {  0, 11}, {  0, 12}, {  0, 13}, {  0, 14}, {  0, 15}, {  0, 16},
180cabdff1aSopenharmony_ci{  0, 17}, {  0, 18}, {  0, 19}, {  0, 20}, {  0, 21}, {  0, 22}, {  0, 23}, {  0, 24},
181cabdff1aSopenharmony_ci{  0, 25}, {  0, 26}, {  0, 27}, {  0, 28}, {  0, 29}, {  0, 30}, {  0, 31}, {  0, 32},
182cabdff1aSopenharmony_ci{  1,  1}, {  1,  2}, {  1,  3}, {  1,  4}, {  1,  5}, {  1,  6}, {  1,  7}, {  1,  8},
183cabdff1aSopenharmony_ci{  1,  9}, {  1, 10}, {  1, 11}, {  1, 12}, {  1, 13}, {  2,  1}, {  2,  2}, {  2,  3},
184cabdff1aSopenharmony_ci{  2,  4}, {  2,  5}, {  2,  6}, {  2,  7}, {  2,  8}, {  3,  1}, {  3,  2}, {  3,  3},
185cabdff1aSopenharmony_ci{  3,  4}, {  3,  5}, {  3,  6}, {  4,  1}, {  4,  2}, {  4,  3}, {  4,  4}, {  4,  5},
186cabdff1aSopenharmony_ci{  5,  1}, {  5,  2}, {  5,  3}, {  5,  4}, {  6,  1}, {  6,  2}, {  6,  3}, {  6,  4},
187cabdff1aSopenharmony_ci{  7,  1}, {  7,  2}, {  7,  3}, {  8,  1}, {  8,  2}, {  8,  3}, {  9,  1}, {  9,  2},
188cabdff1aSopenharmony_ci{  9,  3}, { 10,  1}, { 10,  2}, { 11,  1}, { 11,  2}, { 12,  1}, { 12,  2}, { 13,  1},
189cabdff1aSopenharmony_ci{ 13,  2}, { 14,  1}, { 14,  2}, { 15,  1}, { 15,  2}, { 16,  1}, { 16,  2}, { 17,  1},
190cabdff1aSopenharmony_ci{ 17,  2}, { 18,  1}, { 18,  2}, { 19,  1}, { 19,  2}, { 20,  1}, { 20,  2}, { 21,  1},
191cabdff1aSopenharmony_ci{ 21,  2}, { 22,  1}, { 22,  2}, { 23,  1}, { 24,  1}, {  0,  1}, {  0,  2}, {  0,  3},
192cabdff1aSopenharmony_ci{  0,  4}, {  1,  1}, {  1,  2}, {  1,  3}, {  2,  1}, {  2,  2}, {  2,  3}, {  3,  1},
193cabdff1aSopenharmony_ci{  3,  2}, {  3,  3}, {  4,  1}, {  4,  2}, {  5,  1}, {  5,  2}, {  6,  1}, {  6,  2},
194cabdff1aSopenharmony_ci{  7,  1}, {  7,  2}, {  8,  1}, {  8,  2}, {  9,  1}, {  9,  2}, { 10,  1}, { 10,  2},
195cabdff1aSopenharmony_ci{ 11,  1}, { 11,  2}, { 12,  1}, { 12,  2}, { 13,  1}, { 13,  2}, { 14,  1}, { 14,  2},
196cabdff1aSopenharmony_ci{ 15,  1}, { 15,  2}, { 16,  1}, { 16,  2}, { 17,  1}, { 17,  2}, { 18,  1}, { 18,  2},
197cabdff1aSopenharmony_ci{ 19,  1}, { 19,  2}, { 20,  1}, { 20,  2}, { 21,  1}, { 21,  2}, { 22,  1}, { 22,  2},
198cabdff1aSopenharmony_ci{ 23,  1}, { 23,  2}, { 24,  1}, { 24,  2}, { 25,  1}, { 25,  2}, { 26,  1}, { 26,  2},
199cabdff1aSopenharmony_ci{ 27,  1}, { 27,  2}, { 28,  1}, { 28,  2}, { 29,  1}, { 30,  1}
200cabdff1aSopenharmony_ci}
201cabdff1aSopenharmony_ci};
202cabdff1aSopenharmony_ci
203cabdff1aSopenharmony_cistatic const uint8_t vc1_delta_level_table[AC_MODES][31] = {
204cabdff1aSopenharmony_ci{
205cabdff1aSopenharmony_ci      19,    15,    12,    11,     6,     5,     4,     4,     4,     4,
206cabdff1aSopenharmony_ci       3,     3,     3,     3,     3,     3,     2,     2,     1,     1,
207cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
208cabdff1aSopenharmony_ci       1
209cabdff1aSopenharmony_ci},
210cabdff1aSopenharmony_ci{
211cabdff1aSopenharmony_ci      23,    11,     8,     7,     5,     5,     4,     4,     3,     3,
212cabdff1aSopenharmony_ci       3,     3,     2,     2,     2,     2,     2,     1,     1,     1,
213cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1
214cabdff1aSopenharmony_ci},
215cabdff1aSopenharmony_ci{
216cabdff1aSopenharmony_ci      16,    11,     8,     7,     5,     4,     4,     3,     3,     3,
217cabdff1aSopenharmony_ci       3,     3,     3,     3,     2,     2,     1,     1,     1,     1,
218cabdff1aSopenharmony_ci       1
219cabdff1aSopenharmony_ci},
220cabdff1aSopenharmony_ci{
221cabdff1aSopenharmony_ci      14,     9,     5,     4,     4,     4,     3,     3,     3,     3,
222cabdff1aSopenharmony_ci       3,     3,     3,     2,     2,     2,     1,     1,     1,     1,
223cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1,     1,
224cabdff1aSopenharmony_ci       1
225cabdff1aSopenharmony_ci},
226cabdff1aSopenharmony_ci{
227cabdff1aSopenharmony_ci      27,    10,     5,     4,     3,     3,     3,     3,     2,     2,
228cabdff1aSopenharmony_ci       1,     1,     1,     1,     1
229cabdff1aSopenharmony_ci},
230cabdff1aSopenharmony_ci{
231cabdff1aSopenharmony_ci      12,     6,     4,     3,     3,     3,     3,     2,     2,     2,
232cabdff1aSopenharmony_ci       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
233cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1
234cabdff1aSopenharmony_ci},
235cabdff1aSopenharmony_ci{
236cabdff1aSopenharmony_ci      56,    20,    10,     7,     6,     5,     4,     3,     3,     3,
237cabdff1aSopenharmony_ci       2,     2,     2,     2,     1
238cabdff1aSopenharmony_ci},
239cabdff1aSopenharmony_ci{
240cabdff1aSopenharmony_ci      32,    13,     8,     6,     5,     4,     4,     3,     3,     3,
241cabdff1aSopenharmony_ci       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
242cabdff1aSopenharmony_ci       2,     2,     2,     1,     1
243cabdff1aSopenharmony_ci}
244cabdff1aSopenharmony_ci};
245cabdff1aSopenharmony_ci
246cabdff1aSopenharmony_cistatic const uint8_t vc1_last_delta_level_table[AC_MODES][44] = {
247cabdff1aSopenharmony_ci{
248cabdff1aSopenharmony_ci       6,     5,     4,     4,     3,     2,     2,     2,     2,     2,
249cabdff1aSopenharmony_ci       2,     2,     2,     2,     2,     2,     1,     1,     1,     1,
250cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
251cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1
252cabdff1aSopenharmony_ci},
253cabdff1aSopenharmony_ci{
254cabdff1aSopenharmony_ci       9,     5,     4,     4,     3,     3,     3,     2,     2,     2,
255cabdff1aSopenharmony_ci       2,     2,     2,     2,     2,     1,     1,     1,     1,     1,
256cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
257cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1
258cabdff1aSopenharmony_ci},
259cabdff1aSopenharmony_ci{
260cabdff1aSopenharmony_ci       4,     4,     3,     3,     2,     2,     2,     2,     2,     2,
261cabdff1aSopenharmony_ci       2,     2,     2,     2,     1,     1,     1,     1,     1,     1,
262cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1
263cabdff1aSopenharmony_ci},
264cabdff1aSopenharmony_ci{
265cabdff1aSopenharmony_ci       5,     4,     3,     3,     2,     2,     2,     2,     2,     2,
266cabdff1aSopenharmony_ci       2,     2,     2,     2,     2,     2,     1,     1,     1,     1,
267cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
268cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
269cabdff1aSopenharmony_ci       1,     1,     1,     1
270cabdff1aSopenharmony_ci},
271cabdff1aSopenharmony_ci{
272cabdff1aSopenharmony_ci       8,     3,     2,     2,     2,     2,     2,     1,     1,     1,
273cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
274cabdff1aSopenharmony_ci       1
275cabdff1aSopenharmony_ci},
276cabdff1aSopenharmony_ci{
277cabdff1aSopenharmony_ci       3,     2,     1,     1,     1,     1,     1,     1,     1,     1,
278cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
279cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
280cabdff1aSopenharmony_ci       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
281cabdff1aSopenharmony_ci       1
282cabdff1aSopenharmony_ci},
283cabdff1aSopenharmony_ci{
284cabdff1aSopenharmony_ci       4,     3,     3,     2,     2,     2,     2,     2,     2,     2,
285cabdff1aSopenharmony_ci       2,     2,     2,     2,     2,     1,     1
286cabdff1aSopenharmony_ci},
287cabdff1aSopenharmony_ci{
288cabdff1aSopenharmony_ci       4,     3,     3,     3,     2,     2,     2,     2,     2,     2,
289cabdff1aSopenharmony_ci       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
290cabdff1aSopenharmony_ci       2,     2,     2,     2,     2,     2,     2,     2,     2,     1,
291cabdff1aSopenharmony_ci       1
292cabdff1aSopenharmony_ci}
293cabdff1aSopenharmony_ci};
294cabdff1aSopenharmony_ci
295cabdff1aSopenharmony_cistatic const uint8_t vc1_delta_run_table[AC_MODES][57] = {
296cabdff1aSopenharmony_ci{
297cabdff1aSopenharmony_ci      -1,    30,    17,    15,     9,     5,     4,     3,     3,     3,
298cabdff1aSopenharmony_ci       3,     3,     2,     1,     1,     1,     0,     0,     0,
299cabdff1aSopenharmony_ci       0
300cabdff1aSopenharmony_ci},
301cabdff1aSopenharmony_ci{
302cabdff1aSopenharmony_ci      -1,    26,    16,    11,     7,     5,     3,     3,     2,     1,
303cabdff1aSopenharmony_ci       1,     1,     0,     0,     0,     0,     0,     0,     0,     0,
304cabdff1aSopenharmony_ci       0,     0,     0,     0
305cabdff1aSopenharmony_ci},
306cabdff1aSopenharmony_ci{
307cabdff1aSopenharmony_ci      -1,    20,    15,    13,     6,     4,     3,     3,     2,     1,
308cabdff1aSopenharmony_ci       1,     1,     0,     0,     0,     0,     0
309cabdff1aSopenharmony_ci},
310cabdff1aSopenharmony_ci{
311cabdff1aSopenharmony_ci      -1,    29,    15,    12,     5,     2,     1,     1,     1,     1,
312cabdff1aSopenharmony_ci       0,     0,     0,     0,     0
313cabdff1aSopenharmony_ci},
314cabdff1aSopenharmony_ci{
315cabdff1aSopenharmony_ci      -1,    14,     9,     7,     3,     2,     1,     1,     1,     1,
316cabdff1aSopenharmony_ci       1,     0,     0,     0,     0,     0,     0,     0,     0,     0,
317cabdff1aSopenharmony_ci       0,     0,     0,     0,     0,     0,     0,     0
318cabdff1aSopenharmony_ci},
319cabdff1aSopenharmony_ci{
320cabdff1aSopenharmony_ci      -1,    26,    10,     6,     2,     1,     1,     0,     0,     0,
321cabdff1aSopenharmony_ci       0,     0,     0
322cabdff1aSopenharmony_ci},
323cabdff1aSopenharmony_ci{
324cabdff1aSopenharmony_ci      -1,    14,    13,     9,     6,     5,     4,     3,     2,     2,
325cabdff1aSopenharmony_ci       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
326cabdff1aSopenharmony_ci       1,     0,     0,     0,     0,     0,     0,     0,     0,     0,
327cabdff1aSopenharmony_ci       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
328cabdff1aSopenharmony_ci       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
329cabdff1aSopenharmony_ci       0,     0,     0,     0,     0,     0,     0
330cabdff1aSopenharmony_ci},
331cabdff1aSopenharmony_ci{
332cabdff1aSopenharmony_ci      -1,    24,    22,     9,     6,     4,     3,     2,     2,     1,
333cabdff1aSopenharmony_ci       1,     1,     1,     1,     0,     0,     0,     0,     0,     0,
334cabdff1aSopenharmony_ci       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
335cabdff1aSopenharmony_ci       0,     0,     0
336cabdff1aSopenharmony_ci}
337cabdff1aSopenharmony_ci};
338cabdff1aSopenharmony_ci
339cabdff1aSopenharmony_cistatic const uint8_t vc1_last_delta_run_table[AC_MODES][10] = {
340cabdff1aSopenharmony_ci{
341cabdff1aSopenharmony_ci      -1,    37,    15,     4,     3,     1,     0
342cabdff1aSopenharmony_ci},
343cabdff1aSopenharmony_ci{
344cabdff1aSopenharmony_ci      -1,    36,    14,     6,     3,     1,     0,     0,     0,
345cabdff1aSopenharmony_ci       0
346cabdff1aSopenharmony_ci},
347cabdff1aSopenharmony_ci{
348cabdff1aSopenharmony_ci      -1,    26,    13,     3,     1
349cabdff1aSopenharmony_ci},
350cabdff1aSopenharmony_ci{
351cabdff1aSopenharmony_ci      -1,    43,    15,     3,     1,     0
352cabdff1aSopenharmony_ci},
353cabdff1aSopenharmony_ci{
354cabdff1aSopenharmony_ci      -1,    20,     6,     1,     0,     0,     0,     0,     0
355cabdff1aSopenharmony_ci},
356cabdff1aSopenharmony_ci{
357cabdff1aSopenharmony_ci      -1,    40,     1,     0
358cabdff1aSopenharmony_ci},
359cabdff1aSopenharmony_ci{
360cabdff1aSopenharmony_ci      -1,    16,    14,     2,     0
361cabdff1aSopenharmony_ci},
362cabdff1aSopenharmony_ci{
363cabdff1aSopenharmony_ci      -1,    30,    28,     3,     0
364cabdff1aSopenharmony_ci}
365cabdff1aSopenharmony_ci};
366cabdff1aSopenharmony_ci
367cabdff1aSopenharmony_ci#endif /* AVCODEC_VC1ACDATA_H */
368