annotate cavsdata.h @ 4443:54bed3ee58f3 libavcodec

simpify state and make code 2% faster reimar, dont hesitate to flame me for not sending patches and feel free to revert any or all of my changes to lzo.c if you dont like them
author michael
date Wed, 31 Jan 2007 10:34:13 +0000
parents 127d84a4c8e0
children 6c457e692336
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
1 /*
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
2 * Chinese AVS video (AVS1-P2, JiZhun profile) decoder.
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
3 * Copyright (c) 2006 Stefan Gehrer <stefan.gehrer@gmx.de>
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
4 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3471
diff changeset
5 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3471
diff changeset
6 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3471
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3471
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
11 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3471
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
15 * Lesser General Public License for more details.
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
16 *
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3471
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
20 */
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
21
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
22 #define SLICE_MIN_START_CODE 0x00000101
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
23 #define SLICE_MAX_START_CODE 0x000001af
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
24 #define EXT_START_CODE 0x000001b5
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
25 #define USER_START_CODE 0x000001b2
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
26 #define SEQ_START_CODE 0x000001b0
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
27 #define PIC_I_START_CODE 0x000001b3
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
28 #define PIC_PB_START_CODE 0x000001b6
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
29
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
30 #define A_AVAIL 1
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
31 #define B_AVAIL 2
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
32 #define C_AVAIL 4
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
33 #define D_AVAIL 8
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
34 #define NOT_AVAIL -1
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
35 #define REF_INTRA -2
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
36 #define REF_DIR -3
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
37
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
38 #define ESCAPE_CODE 59
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
39
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
40 #define FWD0 0x01
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
41 #define FWD1 0x02
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
42 #define BWD0 0x04
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
43 #define BWD1 0x08
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
44 #define SYM0 0x10
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
45 #define SYM1 0x20
3458
9bb2734f65d7 simplify
michael
parents: 3402
diff changeset
46 #define SPLITH 0x40
9bb2734f65d7 simplify
michael
parents: 3402
diff changeset
47 #define SPLITV 0x80
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
48
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
49 #define MV_BWD_OFFS 12
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
50 #define MV_STRIDE 4
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
51
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
52 enum mb_t {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
53 I_8X8 = 0,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
54 P_SKIP,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
55 P_16X16,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
56 P_16X8,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
57 P_8X16,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
58 P_8X8,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
59 B_SKIP,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
60 B_DIRECT,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
61 B_FWD_16X16,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
62 B_BWD_16X16,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
63 B_SYM_16X16,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
64 B_8X8 = 29
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
65 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
66
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
67 enum sub_mb_t {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
68 B_SUB_DIRECT,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
69 B_SUB_FWD,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
70 B_SUB_BWD,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
71 B_SUB_SYM
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
72 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
73
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
74 enum intra_luma_t {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
75 INTRA_L_VERT,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
76 INTRA_L_HORIZ,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
77 INTRA_L_LP,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
78 INTRA_L_DOWN_LEFT,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
79 INTRA_L_DOWN_RIGHT,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
80 INTRA_L_LP_LEFT,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
81 INTRA_L_LP_TOP,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
82 INTRA_L_DC_128
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
83 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
84
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
85 enum intra_chroma_t {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
86 INTRA_C_LP,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
87 INTRA_C_HORIZ,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
88 INTRA_C_VERT,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
89 INTRA_C_PLANE,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
90 INTRA_C_LP_LEFT,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
91 INTRA_C_LP_TOP,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
92 INTRA_C_DC_128,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
93 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
94
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
95 enum mv_pred_t {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
96 MV_PRED_MEDIAN,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
97 MV_PRED_LEFT,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
98 MV_PRED_TOP,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
99 MV_PRED_TOPRIGHT,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
100 MV_PRED_PSKIP,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
101 MV_PRED_BSKIP
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
102 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
103
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
104 enum block_t {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
105 BLK_16X16,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
106 BLK_16X8,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
107 BLK_8X16,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
108 BLK_8X8
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
109 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
110
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
111 enum mv_loc_t {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
112 MV_FWD_D3 = 0,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
113 MV_FWD_B2,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
114 MV_FWD_B3,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
115 MV_FWD_C2,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
116 MV_FWD_A1,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
117 MV_FWD_X0,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
118 MV_FWD_X1,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
119 MV_FWD_A3 = 8,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
120 MV_FWD_X2,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
121 MV_FWD_X3,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
122 MV_BWD_D3 = MV_BWD_OFFS,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
123 MV_BWD_B2,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
124 MV_BWD_B3,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
125 MV_BWD_C2,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
126 MV_BWD_A1,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
127 MV_BWD_X0,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
128 MV_BWD_X1,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
129 MV_BWD_A3 = MV_BWD_OFFS+8,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
130 MV_BWD_X2,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
131 MV_BWD_X3
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
132 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
133
4177
127d84a4c8e0 move all cavs-parsing to cavs.c
stefang
parents: 3947
diff changeset
134 #ifdef CONFIG_CAVS_DECODER
3458
9bb2734f65d7 simplify
michael
parents: 3402
diff changeset
135 static const uint8_t partition_flags[30] = {
3469
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
136 0, //I_8X8
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
137 0, //P_SKIP
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
138 0, //P_16X16
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
139 SPLITH, //P_16X8
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
140 SPLITV, //P_8X16
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
141 SPLITH|SPLITV, //P_8X8
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
142 SPLITH|SPLITV, //B_SKIP
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
143 SPLITH|SPLITV, //B_DIRECT
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
144 0, //B_FWD_16X16
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
145 0, //B_BWD_16X16
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
146 0, //B_SYM_16X16
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
147 FWD0|FWD1 |SPLITH,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
148 FWD0|FWD1 |SPLITV,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
149 BWD0|BWD1 |SPLITH,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
150 BWD0|BWD1 |SPLITV,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
151 FWD0|BWD1 |SPLITH,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
152 FWD0|BWD1 |SPLITV,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
153 BWD0|FWD1 |SPLITH,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
154 BWD0|FWD1 |SPLITV,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
155 FWD0|FWD1 |SYM1|SPLITH,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
156 FWD0|FWD1 |SYM1 |SPLITV,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
157 BWD0|FWD1 |SYM1|SPLITH,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
158 BWD0|FWD1 |SYM1 |SPLITV,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
159 FWD0|FWD1|SYM0 |SPLITH,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
160 FWD0|FWD1|SYM0 |SPLITV,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
161 FWD0|BWD1|SYM0 |SPLITH,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
162 FWD0|BWD1|SYM0 |SPLITV,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
163 FWD0|FWD1|SYM0|SYM1|SPLITH,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
164 FWD0|FWD1|SYM0|SYM1 |SPLITV,
c9059c843d4c change partition flags SYM -> FWD|SYM
stefang
parents: 3458
diff changeset
165 SPLITH|SPLITV, //B_8X8 = 29
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
166 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
167
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
168 static const uint8_t scan3x3[4] = {4,5,7,8};
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
169
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
170 static const uint8_t mv_scan[4] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
171 MV_FWD_X0,MV_FWD_X1,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
172 MV_FWD_X2,MV_FWD_X3
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
173 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
174
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
175 static const uint8_t cbp_tab[64][2] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
176 {63, 0},{15,15},{31,63},{47,31},{ 0,16},{14,32},{13,47},{11,13},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
177 { 7,14},{ 5,11},{10,12},{ 8, 5},{12,10},{61, 7},{ 4,48},{55, 3},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
178 { 1, 2},{ 2, 8},{59, 4},{ 3, 1},{62,61},{ 9,55},{ 6,59},{29,62},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
179 {45,29},{51,27},{23,23},{39,19},{27,30},{46,28},{53, 9},{30, 6},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
180 {43,60},{37,21},{60,44},{16,26},{21,51},{28,35},{19,18},{35,20},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
181 {42,24},{26,53},{44,17},{32,37},{58,39},{24,45},{20,58},{17,43},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
182 {18,42},{48,46},{22,36},{33,33},{25,34},{49,40},{40,52},{36,49},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
183 {34,50},{50,56},{52,25},{54,22},{41,54},{56,57},{38,41},{57,38}
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
184 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
185
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
186 static const uint8_t chroma_qp[64] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
187 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
188 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
189 32,33,34,35,36,37,38,39,40,41,42,42,43,43,44,44,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
190 45,45,46,46,47,47,48,48,48,49,49,49,50,50,50,51
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
191 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
192
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
193 static const uint8_t dequant_shift[64] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
194 14,14,14,14,14,14,14,14,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
195 13,13,13,13,13,13,13,13,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
196 13,12,12,12,12,12,12,12,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
197 11,11,11,11,11,11,11,11,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
198 11,10,10,10,10,10,10,10,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
199 10, 9, 9, 9, 9, 9, 9, 9,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
200 9, 8, 8, 8, 8, 8, 8, 8,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
201 7, 7, 7, 7, 7, 7, 7, 7
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
202 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
203
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
204 static const uint16_t dequant_mul[64] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
205 32768,36061,38968,42495,46341,50535,55437,60424,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
206 32932,35734,38968,42495,46177,50535,55109,59933,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
207 65535,35734,38968,42577,46341,50617,55027,60097,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
208 32809,35734,38968,42454,46382,50576,55109,60056,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
209 65535,35734,38968,42495,46320,50515,55109,60076,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
210 65535,35744,38968,42495,46341,50535,55099,60087,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
211 65535,35734,38973,42500,46341,50535,55109,60097,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
212 32771,35734,38965,42497,46341,50535,55109,60099
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
213 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
214
3395
adccbf4a1040 CAVS decoder by (Stefan Gehrer stefan.gehrer gmx.de)
michael
parents: 3380
diff changeset
215 DECLARE_ALIGNED_8(typedef, struct) {
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
216 int16_t x;
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
217 int16_t y;
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
218 int16_t dist;
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
219 int16_t ref;
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
220 } vector_t;
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
221
3402
34d3e497e310 cosmetic patch:
stefang
parents: 3395
diff changeset
222 /** marks block as unavailable, i.e. out of picture
34d3e497e310 cosmetic patch:
stefang
parents: 3395
diff changeset
223 or not yet decoded */
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
224 static const vector_t un_mv = {0,0,1,NOT_AVAIL};
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
225
3402
34d3e497e310 cosmetic patch:
stefang
parents: 3395
diff changeset
226 /** marks block as "no prediction from this direction"
34d3e497e310 cosmetic patch:
stefang
parents: 3395
diff changeset
227 e.g. forward motion vector in BWD partition */
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
228 static const vector_t dir_mv = {0,0,1,REF_DIR};
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
229
3402
34d3e497e310 cosmetic patch:
stefang
parents: 3395
diff changeset
230 /** marks block as using intra prediction */
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
231 static const vector_t intra_mv = {0,0,1,REF_INTRA};
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
232
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
233 typedef struct residual_vlc_t {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
234 int8_t rltab[59][3];
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
235 int8_t level_add[27];
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
236 int8_t golomb_order;
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
237 int inc_limit;
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
238 int8_t max_run;
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
239 } residual_vlc_t;
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
240
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
241 #define EOB 0,0,0
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
242
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
243 static const residual_vlc_t intra_2dvlc[7] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
244 {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
245 { //level / run / table_inc
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
246 { 1, 1, 1},{ -1, 1, 1},{ 1, 2, 1},{ -1, 2, 1},{ 1, 3, 1},{ -1, 3, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
247 { 1, 4, 1},{ -1, 4, 1},{ 1, 5, 1},{ -1, 5, 1},{ 1, 6, 1},{ -1, 6, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
248 { 1, 7, 1},{ -1, 7, 1},{ 1, 8, 1},{ -1, 8, 1},{ 1, 9, 1},{ -1, 9, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
249 { 1,10, 1},{ -1,10, 1},{ 1,11, 1},{ -1,11, 1},{ 2, 1, 2},{ -2, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
250 { 1,12, 1},{ -1,12, 1},{ 1,13, 1},{ -1,13, 1},{ 1,14, 1},{ -1,14, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
251 { 1,15, 1},{ -1,15, 1},{ 2, 2, 2},{ -2, 2, 2},{ 1,16, 1},{ -1,16, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
252 { 1,17, 1},{ -1,17, 1},{ 3, 1, 3},{ -3, 1, 3},{ 1,18, 1},{ -1,18, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
253 { 1,19, 1},{ -1,19, 1},{ 2, 3, 2},{ -2, 3, 2},{ 1,20, 1},{ -1,20, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
254 { 1,21, 1},{ -1,21, 1},{ 2, 4, 2},{ -2, 4, 2},{ 1,22, 1},{ -1,22, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
255 { 2, 5, 2},{ -2, 5, 2},{ 1,23, 1},{ -1,23, 1},{ EOB }
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
256 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
257 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
258 { 0, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
259 2, 2, 2, 2, 2, 2, 2,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
260 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
261 0, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
262 23, //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
263 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
264 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
265 { 1, 1, 0},{ -1, 1, 0},{ 1, 2, 0},{ -1, 2, 0},{ 2, 1, 1},{ -2, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
266 { 1, 3, 0},{ -1, 3, 0},{ EOB },{ 1, 4, 0},{ -1, 4, 0},{ 1, 5, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
267 { -1, 5, 0},{ 1, 6, 0},{ -1, 6, 0},{ 3, 1, 2},{ -3, 1, 2},{ 2, 2, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
268 { -2, 2, 1},{ 1, 7, 0},{ -1, 7, 0},{ 1, 8, 0},{ -1, 8, 0},{ 1, 9, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
269 { -1, 9, 0},{ 2, 3, 1},{ -2, 3, 1},{ 4, 1, 2},{ -4, 1, 2},{ 1,10, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
270 { -1,10, 0},{ 1,11, 0},{ -1,11, 0},{ 2, 4, 1},{ -2, 4, 1},{ 3, 2, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
271 { -3, 2, 2},{ 1,12, 0},{ -1,12, 0},{ 2, 5, 1},{ -2, 5, 1},{ 5, 1, 3},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
272 { -5, 1, 3},{ 1,13, 0},{ -1,13, 0},{ 2, 6, 1},{ -2, 6, 1},{ 1,14, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
273 { -1,14, 0},{ 2, 7, 1},{ -2, 7, 1},{ 2, 8, 1},{ -2, 8, 1},{ 3, 3, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
274 { -3, 3, 2},{ 6, 1, 3},{ -6, 1, 3},{ 1,15, 0},{ -1,15, 0}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
275 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
276 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
277 { 0, 7, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
278 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
279 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
280 1, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
281 15, //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
282 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
283 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
284 { 1, 1, 0},{ -1, 1, 0},{ 2, 1, 0},{ -2, 1, 0},{ 1, 2, 0},{ -1, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
285 { 3, 1, 1},{ -3, 1, 1},{ EOB },{ 1, 3, 0},{ -1, 3, 0},{ 2, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
286 { -2, 2, 0},{ 4, 1, 1},{ -4, 1, 1},{ 1, 4, 0},{ -1, 4, 0},{ 5, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
287 { -5, 1, 2},{ 1, 5, 0},{ -1, 5, 0},{ 3, 2, 1},{ -3, 2, 1},{ 2, 3, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
288 { -2, 3, 0},{ 1, 6, 0},{ -1, 6, 0},{ 6, 1, 2},{ -6, 1, 2},{ 2, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
289 { -2, 4, 0},{ 1, 7, 0},{ -1, 7, 0},{ 4, 2, 1},{ -4, 2, 1},{ 7, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
290 { -7, 1, 2},{ 3, 3, 1},{ -3, 3, 1},{ 2, 5, 0},{ -2, 5, 0},{ 1, 8, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
291 { -1, 8, 0},{ 2, 6, 0},{ -2, 6, 0},{ 8, 1, 3},{ -8, 1, 3},{ 1, 9, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
292 { -1, 9, 0},{ 5, 2, 2},{ -5, 2, 2},{ 3, 4, 1},{ -3, 4, 1},{ 2, 7, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
293 { -2, 7, 0},{ 9, 1, 3},{ -9, 1, 3},{ 1,10, 0},{ -1,10, 0}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
294 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
295 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
296 { 0,10, 6, 4, 4, 3, 3, 3, 2, 2, 2,-1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
297 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
298 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
299 2, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
300 10, //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
301 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
302 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
303 { 1, 1, 0},{ -1, 1, 0},{ 2, 1, 0},{ -2, 1, 0},{ 3, 1, 0},{ -3, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
304 { 1, 2, 0},{ -1, 2, 0},{ EOB },{ 4, 1, 0},{ -4, 1, 0},{ 5, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
305 { -5, 1, 1},{ 2, 2, 0},{ -2, 2, 0},{ 1, 3, 0},{ -1, 3, 0},{ 6, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
306 { -6, 1, 1},{ 3, 2, 0},{ -3, 2, 0},{ 7, 1, 1},{ -7, 1, 1},{ 1, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
307 { -1, 4, 0},{ 8, 1, 2},{ -8, 1, 2},{ 2, 3, 0},{ -2, 3, 0},{ 4, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
308 { -4, 2, 0},{ 1, 5, 0},{ -1, 5, 0},{ 9, 1, 2},{ -9, 1, 2},{ 5, 2, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
309 { -5, 2, 1},{ 2, 4, 0},{ -2, 4, 0},{ 10, 1, 2},{-10, 1, 2},{ 3, 3, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
310 { -3, 3, 0},{ 1, 6, 0},{ -1, 6, 0},{ 11, 1, 3},{-11, 1, 3},{ 6, 2, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
311 { -6, 2, 1},{ 1, 7, 0},{ -1, 7, 0},{ 2, 5, 0},{ -2, 5, 0},{ 3, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
312 { -3, 4, 0},{ 12, 1, 3},{-12, 1, 3},{ 4, 3, 0},{ -4, 3, 0}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
313 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
314 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
315 { 0,13, 7, 5, 4, 3, 2, 2,-1,-1,-1 -1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
316 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
317 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
318 4, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
319 7, //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
320 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
321 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
322 { 1, 1, 0},{ -1, 1, 0},{ 2, 1, 0},{ -2, 1, 0},{ 3, 1, 0},{ -3, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
323 { EOB },{ 4, 1, 0},{ -4, 1, 0},{ 5, 1, 0},{ -5, 1, 0},{ 6, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
324 { -6, 1, 0},{ 1, 2, 0},{ -1, 2, 0},{ 7, 1, 0},{ -7, 1, 0},{ 8, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
325 { -8, 1, 1},{ 2, 2, 0},{ -2, 2, 0},{ 9, 1, 1},{ -9, 1, 1},{ 10, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
326 {-10, 1, 1},{ 1, 3, 0},{ -1, 3, 0},{ 3, 2, 0},{ -3, 2, 0},{ 11, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
327 {-11, 1, 2},{ 4, 2, 0},{ -4, 2, 0},{ 12, 1, 2},{-12, 1, 2},{ 13, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
328 {-13, 1, 2},{ 5, 2, 0},{ -5, 2, 0},{ 1, 4, 0},{ -1, 4, 0},{ 2, 3, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
329 { -2, 3, 0},{ 14, 1, 2},{-14, 1, 2},{ 6, 2, 0},{ -6, 2, 0},{ 15, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
330 {-15, 1, 2},{ 16, 1, 2},{-16, 1, 2},{ 3, 3, 0},{ -3, 3, 0},{ 1, 5, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
331 { -1, 5, 0},{ 7, 2, 0},{ -7, 2, 0},{ 17, 1, 2},{-17, 1, 2}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
332 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
333 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
334 { 0,18, 8, 4, 2, 2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
335 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
336 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
337 7, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
338 5, //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
339 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
340 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
341 { EOB },{ 1, 1, 0},{ -1, 1, 0},{ 2, 1, 0},{ -2, 1, 0},{ 3, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
342 { -3, 1, 0},{ 4, 1, 0},{ -4, 1, 0},{ 5, 1, 0},{ -5, 1, 0},{ 6, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
343 { -6, 1, 0},{ 7, 1, 0},{ -7, 1, 0},{ 8, 1, 0},{ -8, 1, 0},{ 9, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
344 { -9, 1, 0},{ 10, 1, 0},{-10, 1, 0},{ 1, 2, 0},{ -1, 2, 0},{ 11, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
345 {-11, 1, 1},{ 12, 1, 1},{-12, 1, 1},{ 13, 1, 1},{-13, 1, 1},{ 2, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
346 { -2, 2, 0},{ 14, 1, 1},{-14, 1, 1},{ 15, 1, 1},{-15, 1, 1},{ 3, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
347 { -3, 2, 0},{ 16, 1, 1},{-16, 1, 1},{ 1, 3, 0},{ -1, 3, 0},{ 17, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
348 {-17, 1, 1},{ 4, 2, 0},{ -4, 2, 0},{ 18, 1, 1},{-18, 1, 1},{ 5, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
349 { -5, 2, 0},{ 19, 1, 1},{-19, 1, 1},{ 20, 1, 1},{-20, 1, 1},{ 6, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
350 { -6, 2, 0},{ 21, 1, 1},{-21, 1, 1},{ 2, 3, 0},{ -2, 3, 0}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
351 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
352 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
353 { 0,22, 7, 3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
354 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
355 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
356 10, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
357 3, //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
358 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
359 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
360 { EOB },{ 1, 1, 0},{ -1, 1, 0},{ 2, 1, 0},{ -2, 1, 0},{ 3, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
361 { -3, 1, 0},{ 4, 1, 0},{ -4, 1, 0},{ 5, 1, 0},{ -5, 1, 0},{ 6, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
362 { -6, 1, 0},{ 7, 1, 0},{ -7, 1, 0},{ 8, 1, 0},{ -8, 1, 0},{ 9, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
363 { -9, 1, 0},{ 10, 1, 0},{-10, 1, 0},{ 11, 1, 0},{-11, 1, 0},{ 12, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
364 {-12, 1, 0},{ 13, 1, 0},{-13, 1, 0},{ 14, 1, 0},{-14, 1, 0},{ 15, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
365 {-15, 1, 0},{ 16, 1, 0},{-16, 1, 0},{ 1, 2, 0},{ -1, 2, 0},{ 17, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
366 {-17, 1, 0},{ 18, 1, 0},{-18, 1, 0},{ 19, 1, 0},{-19, 1, 0},{ 20, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
367 {-20, 1, 0},{ 21, 1, 0},{-21, 1, 0},{ 2, 2, 0},{ -2, 2, 0},{ 22, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
368 {-22, 1, 0},{ 23, 1, 0},{-23, 1, 0},{ 24, 1, 0},{-24, 1, 0},{ 25, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
369 {-25, 1, 0},{ 3, 2, 0},{ -3, 2, 0},{ 26, 1, 0},{-26, 1, 0}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
370 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
371 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
372 { 0,27, 4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
373 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
374 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
375 INT_MAX, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
376 2, //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
377 }
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
378 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
379
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
380 static const residual_vlc_t inter_2dvlc[7] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
381 {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
382 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
383 { 1, 1, 1},{ -1, 1, 1},{ 1, 2, 1},{ -1, 2, 1},{ 1, 3, 1},{ -1, 3, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
384 { 1, 4, 1},{ -1, 4, 1},{ 1, 5, 1},{ -1, 5, 1},{ 1, 6, 1},{ -1, 6, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
385 { 1, 7, 1},{ -1, 7, 1},{ 1, 8, 1},{ -1, 8, 1},{ 1, 9, 1},{ -1, 9, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
386 { 1,10, 1},{ -1,10, 1},{ 1,11, 1},{ -1,11, 1},{ 1,12, 1},{ -1,12, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
387 { 1,13, 1},{ -1,13, 1},{ 2, 1, 2},{ -2, 1, 2},{ 1,14, 1},{ -1,14, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
388 { 1,15, 1},{ -1,15, 1},{ 1,16, 1},{ -1,16, 1},{ 1,17, 1},{ -1,17, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
389 { 1,18, 1},{ -1,18, 1},{ 1,19, 1},{ -1,19, 1},{ 3, 1, 3},{ -3, 1, 3},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
390 { 1,20, 1},{ -1,20, 1},{ 1,21, 1},{ -1,21, 1},{ 2, 2, 2},{ -2, 2, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
391 { 1,22, 1},{ -1,22, 1},{ 1,23, 1},{ -1,23, 1},{ 1,24, 1},{ -1,24, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
392 { 1,25, 1},{ -1,25, 1},{ 1,26, 1},{ -1,26, 1},{ EOB }
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
393 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
394 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
395 { 0, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
396 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
397 3, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
398 0, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
399 26 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
400 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
401 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
402 { 1, 1, 0},{ -1, 1, 0},{ EOB },{ 1, 2, 0},{ -1, 2, 0},{ 1, 3, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
403 { -1, 3, 0},{ 1, 4, 0},{ -1, 4, 0},{ 1, 5, 0},{ -1, 5, 0},{ 1, 6, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
404 { -1, 6, 0},{ 2, 1, 1},{ -2, 1, 1},{ 1, 7, 0},{ -1, 7, 0},{ 1, 8, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
405 { -1, 8, 0},{ 1, 9, 0},{ -1, 9, 0},{ 1,10, 0},{ -1,10, 0},{ 2, 2, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
406 { -2, 2, 1},{ 1,11, 0},{ -1,11, 0},{ 1,12, 0},{ -1,12, 0},{ 3, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
407 { -3, 1, 2},{ 1,13, 0},{ -1,13, 0},{ 1,14, 0},{ -1,14, 0},{ 2, 3, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
408 { -2, 3, 1},{ 1,15, 0},{ -1,15, 0},{ 2, 4, 1},{ -2, 4, 1},{ 1,16, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
409 { -1,16, 0},{ 2, 5, 1},{ -2, 5, 1},{ 1,17, 0},{ -1,17, 0},{ 4, 1, 3},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
410 { -4, 1, 3},{ 2, 6, 1},{ -2, 6, 1},{ 1,18, 0},{ -1,18, 0},{ 1,19, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
411 { -1,19, 0},{ 2, 7, 1},{ -2, 7, 1},{ 3, 2, 2},{ -3, 2, 2}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
412 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
413 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
414 { 0, 5, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
415 2, 2, 2,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
416 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
417 1, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
418 19 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
419 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
420 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
421 { 1, 1, 0},{ -1, 1, 0},{ EOB },{ 1, 2, 0},{ -1, 2, 0},{ 2, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
422 { -2, 1, 0},{ 1, 3, 0},{ -1, 3, 0},{ 1, 4, 0},{ -1, 4, 0},{ 3, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
423 { -3, 1, 1},{ 2, 2, 0},{ -2, 2, 0},{ 1, 5, 0},{ -1, 5, 0},{ 1, 6, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
424 { -1, 6, 0},{ 1, 7, 0},{ -1, 7, 0},{ 2, 3, 0},{ -2, 3, 0},{ 4, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
425 { -4, 1, 2},{ 1, 8, 0},{ -1, 8, 0},{ 3, 2, 1},{ -3, 2, 1},{ 2, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
426 { -2, 4, 0},{ 1, 9, 0},{ -1, 9, 0},{ 1,10, 0},{ -1,10, 0},{ 5, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
427 { -5, 1, 2},{ 2, 5, 0},{ -2, 5, 0},{ 1,11, 0},{ -1,11, 0},{ 2, 6, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
428 { -2, 6, 0},{ 1,12, 0},{ -1,12, 0},{ 3, 3, 1},{ -3, 3, 1},{ 6, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
429 { -6, 1, 2},{ 4, 2, 2},{ -4, 2, 2},{ 1,13, 0},{ -1,13, 0},{ 2, 7, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
430 { -2, 7, 0},{ 3, 4, 1},{ -3, 4, 1},{ 1,14, 0},{ -1,14, 0}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
431 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
432 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
433 { 0, 7, 5, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
434 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
435 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
436 2, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
437 14 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
438 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
439 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
440 { 1, 1, 0},{ -1, 1, 0},{ EOB },{ 2, 1, 0},{ -2, 1, 0},{ 1, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
441 { -1, 2, 0},{ 3, 1, 0},{ -3, 1, 0},{ 1, 3, 0},{ -1, 3, 0},{ 2, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
442 { -2, 2, 0},{ 4, 1, 1},{ -4, 1, 1},{ 1, 4, 0},{ -1, 4, 0},{ 5, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
443 { -5, 1, 1},{ 1, 5, 0},{ -1, 5, 0},{ 3, 2, 0},{ -3, 2, 0},{ 2, 3, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
444 { -2, 3, 0},{ 1, 6, 0},{ -1, 6, 0},{ 6, 1, 1},{ -6, 1, 1},{ 2, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
445 { -2, 4, 0},{ 1, 7, 0},{ -1, 7, 0},{ 4, 2, 1},{ -4, 2, 1},{ 7, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
446 { -7, 1, 2},{ 3, 3, 0},{ -3, 3, 0},{ 1, 8, 0},{ -1, 8, 0},{ 2, 5, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
447 { -2, 5, 0},{ 8, 1, 2},{ -8, 1, 2},{ 1, 9, 0},{ -1, 9, 0},{ 3, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
448 { -3, 4, 0},{ 2, 6, 0},{ -2, 6, 0},{ 5, 2, 1},{ -5, 2, 1},{ 1,10, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
449 { -1,10, 0},{ 9, 1, 2},{ -9, 1, 2},{ 4, 3, 1},{ -4, 3, 1}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
450 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
451 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
452 { 0,10, 6, 5, 4, 3, 3, 2, 2, 2, 2,-1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
453 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
454 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
455 3, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
456 10 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
457 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
458 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
459 { 1, 1, 0},{ -1, 1, 0},{ EOB },{ 2, 1, 0},{ -2, 1, 0},{ 3, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
460 { -3, 1, 0},{ 1, 2, 0},{ -1, 2, 0},{ 4, 1, 0},{ -4, 1, 0},{ 5, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
461 { -5, 1, 0},{ 2, 2, 0},{ -2, 2, 0},{ 1, 3, 0},{ -1, 3, 0},{ 6, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
462 { -6, 1, 0},{ 3, 2, 0},{ -3, 2, 0},{ 7, 1, 1},{ -7, 1, 1},{ 1, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
463 { -1, 4, 0},{ 8, 1, 1},{ -8, 1, 1},{ 2, 3, 0},{ -2, 3, 0},{ 4, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
464 { -4, 2, 0},{ 1, 5, 0},{ -1, 5, 0},{ 9, 1, 1},{ -9, 1, 1},{ 5, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
465 { -5, 2, 0},{ 2, 4, 0},{ -2, 4, 0},{ 1, 6, 0},{ -1, 6, 0},{ 10, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
466 {-10, 1, 2},{ 3, 3, 0},{ -3, 3, 0},{ 11, 1, 2},{-11, 1, 2},{ 1, 7, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
467 { -1, 7, 0},{ 6, 2, 0},{ -6, 2, 0},{ 3, 4, 0},{ -3, 4, 0},{ 2, 5, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
468 { -2, 5, 0},{ 12, 1, 2},{-12, 1, 2},{ 4, 3, 0},{ -4, 3, 0}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
469 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
470 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
471 { 0,13, 7, 5, 4, 3, 2, 2,-1,-1,-1,-1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
472 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
473 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
474 6, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
475 7 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
476 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
477 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
478 { EOB },{ 1, 1, 0},{ -1, 1, 0},{ 2, 1, 0},{ -2, 1, 0},{ 3, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
479 { -3, 1, 0},{ 4, 1, 0},{ -4, 1, 0},{ 5, 1, 0},{ -5, 1, 0},{ 1, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
480 { -1, 2, 0},{ 6, 1, 0},{ -6, 1, 0},{ 7, 1, 0},{ -7, 1, 0},{ 8, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
481 { -8, 1, 0},{ 2, 2, 0},{ -2, 2, 0},{ 9, 1, 0},{ -9, 1, 0},{ 1, 3, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
482 { -1, 3, 0},{ 10, 1, 1},{-10, 1, 1},{ 3, 2, 0},{ -3, 2, 0},{ 11, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
483 {-11, 1, 1},{ 4, 2, 0},{ -4, 2, 0},{ 12, 1, 1},{-12, 1, 1},{ 1, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
484 { -1, 4, 0},{ 2, 3, 0},{ -2, 3, 0},{ 13, 1, 1},{-13, 1, 1},{ 5, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
485 { -5, 2, 0},{ 14, 1, 1},{-14, 1, 1},{ 6, 2, 0},{ -6, 2, 0},{ 1, 5, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
486 { -1, 5, 0},{ 15, 1, 1},{-15, 1, 1},{ 3, 3, 0},{ -3, 3, 0},{ 16, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
487 {-16, 1, 1},{ 2, 4, 0},{ -2, 4, 0},{ 7, 2, 0},{ -7, 2, 0}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
488 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
489 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
490 { 0,17, 8, 4, 3, 2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
491 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
492 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
493 9, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
494 5 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
495 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
496 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
497 { EOB },{ 1, 1, 0},{ -1, 1, 0},{ 2, 1, 0},{ -2, 1, 0},{ 3, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
498 { -3, 1, 0},{ 4, 1, 0},{ -4, 1, 0},{ 5, 1, 0},{ -5, 1, 0},{ 6, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
499 { -6, 1, 0},{ 7, 1, 0},{ -7, 1, 0},{ 1, 2, 0},{ -1, 2, 0},{ 8, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
500 { -8, 1, 0},{ 9, 1, 0},{ -9, 1, 0},{ 10, 1, 0},{-10, 1, 0},{ 11, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
501 {-11, 1, 0},{ 12, 1, 0},{-12, 1, 0},{ 2, 2, 0},{ -2, 2, 0},{ 13, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
502 {-13, 1, 0},{ 1, 3, 0},{ -1, 3, 0},{ 14, 1, 0},{-14, 1, 0},{ 15, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
503 {-15, 1, 0},{ 3, 2, 0},{ -3, 2, 0},{ 16, 1, 0},{-16, 1, 0},{ 17, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
504 {-17, 1, 0},{ 18, 1, 0},{-18, 1, 0},{ 4, 2, 0},{ -4, 2, 0},{ 19, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
505 {-19, 1, 0},{ 20, 1, 0},{-20, 1, 0},{ 2, 3, 0},{ -2, 3, 0},{ 1, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
506 { -1, 4, 0},{ 5, 2, 0},{ -5, 2, 0},{ 21, 1, 0},{-21, 1, 0}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
507 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
508 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
509 { 0,22, 6, 3, 2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
510 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
511 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
512 INT_MAX, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
513 4 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
514 }
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
515 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
516
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
517 static const residual_vlc_t chroma_2dvlc[5] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
518 {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
519 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
520 { 1, 1, 1},{ -1, 1, 1},{ 1, 2, 1},{ -1, 2, 1},{ 1, 3, 1},{ -1, 3, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
521 { 1, 4, 1},{ -1, 4, 1},{ 1, 5, 1},{ -1, 5, 1},{ 1, 6, 1},{ -1, 6, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
522 { 1, 7, 1},{ -1, 7, 1},{ 2, 1, 2},{ -2, 1, 2},{ 1, 8, 1},{ -1, 8, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
523 { 1, 9, 1},{ -1, 9, 1},{ 1,10, 1},{ -1,10, 1},{ 1,11, 1},{ -1,11, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
524 { 1,12, 1},{ -1,12, 1},{ 1,13, 1},{ -1,13, 1},{ 1,14, 1},{ -1,14, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
525 { 1,15, 1},{ -1,15, 1},{ 3, 1, 3},{ -3, 1, 3},{ 1,16, 1},{ -1,16, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
526 { 1,17, 1},{ -1,17, 1},{ 1,18, 1},{ -1,18, 1},{ 1,19, 1},{ -1,19, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
527 { 1,20, 1},{ -1,20, 1},{ 1,21, 1},{ -1,21, 1},{ 1,22, 1},{ -1,22, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
528 { 2, 2, 2},{ -2, 2, 2},{ 1,23, 1},{ -1,23, 1},{ 1,24, 1},{ -1,24, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
529 { 1,25, 1},{ -1,25, 1},{ 4, 1, 3},{ -4, 1, 3},{ EOB }
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
530 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
531 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
532 { 0, 5, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
533 2, 2, 2, 2, 2, 2, 2, 2, 2,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
534 2, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
535 0, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
536 25 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
537 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
538 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
539 { EOB },{ 1, 1, 0},{ -1, 1, 0},{ 1, 2, 0},{ -1, 2, 0},{ 2, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
540 { -2, 1, 1},{ 1, 3, 0},{ -1, 3, 0},{ 1, 4, 0},{ -1, 4, 0},{ 1, 5, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
541 { -1, 5, 0},{ 1, 6, 0},{ -1, 6, 0},{ 3, 1, 2},{ -3, 1, 2},{ 1, 7, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
542 { -1, 7, 0},{ 1, 8, 0},{ -1, 8, 0},{ 2, 2, 1},{ -2, 2, 1},{ 1, 9, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
543 { -1, 9, 0},{ 1,10, 0},{ -1,10, 0},{ 1,11, 0},{ -1,11, 0},{ 4, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
544 { -4, 1, 2},{ 1,12, 0},{ -1,12, 0},{ 1,13, 0},{ -1,13, 0},{ 1,14, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
545 { -1,14, 0},{ 2, 3, 1},{ -2, 3, 1},{ 1,15, 0},{ -1,15, 0},{ 2, 4, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
546 { -2, 4, 1},{ 5, 1, 3},{ -5, 1, 3},{ 3, 2, 2},{ -3, 2, 2},{ 1,16, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
547 { -1,16, 0},{ 1,17, 0},{ -1,17, 0},{ 1,18, 0},{ -1,18, 0},{ 2, 5, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
548 { -2, 5, 1},{ 1,19, 0},{ -1,19, 0},{ 1,20, 0},{ -1,20, 0}
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
549 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
550 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
551 { 0, 6, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
552 2, 2, 2, 2,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
553 0, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
554 1, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
555 20 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
556 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
557 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
558 { 1, 1, 0},{ -1, 1, 0},{ EOB },{ 2, 1, 0},{ -2, 1, 0},{ 1, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
559 { -1, 2, 0},{ 3, 1, 1},{ -3, 1, 1},{ 1, 3, 0},{ -1, 3, 0},{ 4, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
560 { -4, 1, 1},{ 2, 2, 0},{ -2, 2, 0},{ 1, 4, 0},{ -1, 4, 0},{ 5, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
561 { -5, 1, 2},{ 1, 5, 0},{ -1, 5, 0},{ 3, 2, 1},{ -3, 2, 1},{ 2, 3, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
562 { -2, 3, 0},{ 1, 6, 0},{ -1, 6, 0},{ 6, 1, 2},{ -6, 1, 2},{ 1, 7, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
563 { -1, 7, 0},{ 2, 4, 0},{ -2, 4, 0},{ 7, 1, 2},{ -7, 1, 2},{ 1, 8, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
564 { -1, 8, 0},{ 4, 2, 1},{ -4, 2, 1},{ 1, 9, 0},{ -1, 9, 0},{ 3, 3, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
565 { -3, 3, 1},{ 2, 5, 0},{ -2, 5, 0},{ 2, 6, 0},{ -2, 6, 0},{ 8, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
566 { -8, 1, 2},{ 1,10, 0},{ -1,10, 0},{ 1,11, 0},{ -1,11, 0},{ 9, 1, 2},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
567 { -9, 1, 2},{ 5, 2, 2},{ -5, 2, 2},{ 3, 4, 1},{ -3, 4, 1},
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
568 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
569 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
570 { 0,10, 6, 4, 4, 3, 3, 2, 2, 2, 2, 2,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
571 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
572 1, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
573 2, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
574 11 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
575 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
576 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
577 { EOB },{ 1, 1, 0},{ -1, 1, 0},{ 2, 1, 0},{ -2, 1, 0},{ 3, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
578 { -3, 1, 0},{ 4, 1, 0},{ -4, 1, 0},{ 1, 2, 0},{ -1, 2, 0},{ 5, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
579 { -5, 1, 1},{ 2, 2, 0},{ -2, 2, 0},{ 6, 1, 1},{ -6, 1, 1},{ 1, 3, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
580 { -1, 3, 0},{ 7, 1, 1},{ -7, 1, 1},{ 3, 2, 0},{ -3, 2, 0},{ 8, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
581 { -8, 1, 1},{ 1, 4, 0},{ -1, 4, 0},{ 2, 3, 0},{ -2, 3, 0},{ 9, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
582 { -9, 1, 1},{ 4, 2, 0},{ -4, 2, 0},{ 1, 5, 0},{ -1, 5, 0},{ 10, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
583 {-10, 1, 1},{ 3, 3, 0},{ -3, 3, 0},{ 5, 2, 1},{ -5, 2, 1},{ 2, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
584 { -2, 4, 0},{ 11, 1, 1},{-11, 1, 1},{ 1, 6, 0},{ -1, 6, 0},{ 12, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
585 {-12, 1, 1},{ 1, 7, 0},{ -1, 7, 0},{ 6, 2, 1},{ -6, 2, 1},{ 13, 1, 1},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
586 {-13, 1, 1},{ 2, 5, 0},{ -2, 5, 0},{ 1, 8, 0},{ -1, 8, 0},
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
587 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
588 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
589 { 0,14, 7, 4, 3, 3, 2, 2, 2,-1,-1,-1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
590 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
591 1, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
592 4, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
593 8 //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
594 },{
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
595 { //level / run
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
596 { EOB },{ 1, 1, 0},{ -1, 1, 0},{ 2, 1, 0},{ -2, 1, 0},{ 3, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
597 { -3, 1, 0},{ 4, 1, 0},{ -4, 1, 0},{ 5, 1, 0},{ -5, 1, 0},{ 6, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
598 { -6, 1, 0},{ 7, 1, 0},{ -7, 1, 0},{ 8, 1, 0},{ -8, 1, 0},{ 1, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
599 { -1, 2, 0},{ 9, 1, 0},{ -9, 1, 0},{ 10, 1, 0},{-10, 1, 0},{ 11, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
600 {-11, 1, 0},{ 2, 2, 0},{ -2, 2, 0},{ 12, 1, 0},{-12, 1, 0},{ 13, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
601 {-13, 1, 0},{ 3, 2, 0},{ -3, 2, 0},{ 14, 1, 0},{-14, 1, 0},{ 1, 3, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
602 { -1, 3, 0},{ 15, 1, 0},{-15, 1, 0},{ 4, 2, 0},{ -4, 2, 0},{ 16, 1, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
603 {-16, 1, 0},{ 17, 1, 0},{-17, 1, 0},{ 5, 2, 0},{ -5, 2, 0},{ 1, 4, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
604 { -1, 4, 0},{ 2, 3, 0},{ -2, 3, 0},{ 18, 1, 0},{-18, 1, 0},{ 6, 2, 0},
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
605 { -6, 2, 0},{ 19, 1, 0},{-19, 1, 0},{ 1, 5, 0},{ -1, 5, 0},
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
606 },
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
607 //level_add
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
608 { 0,20, 7, 3, 2, 2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
609 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
610 0, //golomb_order
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
611 INT_MAX, //inc_limit
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
612 5, //max_run
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
613 }
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
614 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
615
3471
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
616 #undef EOB
c2db6e76b269 replace run by run+1 in VLC tables
stefang
parents: 3469
diff changeset
617
3380
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
618 static const uint8_t alpha_tab[64] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
619 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
620 4, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
621 22, 24, 26, 28, 30, 33, 33, 35, 35, 36, 37, 37, 39, 39, 42, 44,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
622 46, 48, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
623 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
624
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
625 static const uint8_t beta_tab[64] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
626 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
627 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
628 6, 7, 7, 7, 8, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 14,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
629 15, 16, 17, 18, 19, 20, 21, 22, 23, 23, 24, 24, 25, 25, 26, 27
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
630 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
631
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
632 static const uint8_t tc_tab[64] = {
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
634 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
635 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4,
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
636 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
637 };
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
638
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
639 static const int_fast8_t left_modifier_l[8] = { 0,-1, 6,-1,-1, 7, 6, 7};
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
640 static const int_fast8_t top_modifier_l[8] = {-1, 1, 5,-1,-1, 5, 7, 7};
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
641 static const int_fast8_t left_modifier_c[7] = { 5,-1, 2,-1, 6, 5, 6};
1f47e26323bc new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
michael
parents:
diff changeset
642 static const int_fast8_t top_modifier_c[7] = { 4, 1,-1,-1, 4, 6, 6};
4177
127d84a4c8e0 move all cavs-parsing to cavs.c
stefang
parents: 3947
diff changeset
643 #endif /* CONFIG_CAVS_DECODER */