summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/libmpeg3/video/vlc.h
blob: 727040bf496dbffd25ebd418cb8bab7201f52780 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
/**********************************************************************
** Copyright (C) 2000 Trolltech AS.  All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#ifndef VLC_H
#define VLC_H

/* variable length code tables                                    */

typedef struct {
  char val, len;
} mpeg3_VLCtab_t;

typedef struct {
  char run, level, len;
} mpeg3_DCTtab_t;

/* Added 03/38/96 by Alex de Jong : avoid IRIX GNU warning */
#ifdef ERROR
#undef ERROR
#define ERROR 99
#endif

/* Table B-3, mb_type in P-pictures, codes 001..1xx */
extern mpeg3_VLCtab_t mpeg3_PMBtab0[8];

/* Table B-3, mb_type in P-pictures, codes 000001..00011x */
extern mpeg3_VLCtab_t mpeg3_PMBtab1[8];

/* Table B-4, mb_type in B-pictures, codes 0010..11xx */
extern mpeg3_VLCtab_t mpeg3_BMBtab0[16];

/* Table B-4, mb_type in B-pictures, codes 000001..00011x */
extern mpeg3_VLCtab_t mpeg3_BMBtab1[8];

/* Table B-5, mb_type in spat. scal. I-pictures, codes 0001..1xxx */
extern mpeg3_VLCtab_t mpeg3_spIMBtab[16];

/* Table B-6, mb_type in spat. scal. P-pictures, codes 0010..11xx */
extern mpeg3_VLCtab_t mpeg3_spPMBtab0[16];

/* Table B-6, mb_type in spat. scal. P-pictures, codes 0000010..000111x */
extern mpeg3_VLCtab_t mpeg3_spPMBtab1[16];

/* Table B-7, mb_type in spat. scal. B-pictures, codes 0010..11xx */
extern mpeg3_VLCtab_t mpeg3_spBMBtab0[14];

/* Table B-7, mb_type in spat. scal. B-pictures, codes 0000100..000111x */
extern mpeg3_VLCtab_t mpeg3_spBMBtab1[12];

/* Table B-7, mb_type in spat. scal. B-pictures, codes 00000100x..000001111 */
extern mpeg3_VLCtab_t mpeg3_spBMBtab2[8];

/* Table B-8, mb_type in spat. scal. B-pictures, codes 001..1xx */
extern mpeg3_VLCtab_t mpeg3_SNRMBtab[8];

/* Table B-10, motion_code, codes 0001 ... 01xx */
extern mpeg3_VLCtab_t mpeg3_MVtab0[8];

/* Table B-10, motion_code, codes 0000011 ... 000011x */
extern mpeg3_VLCtab_t mpeg3_MVtab1[8];

/* Table B-10, motion_code, codes 0000001100 ... 000001011x */
extern mpeg3_VLCtab_t mpeg3_MVtab2[12];

/* Table B-9, coded_block_pattern, codes 01000 ... 111xx */
extern mpeg3_VLCtab_t mpeg3_CBPtab0[32];

/* Table B-9, coded_block_pattern, codes 00000100 ... 001111xx */
extern mpeg3_VLCtab_t mpeg3_CBPtab1[64];

/* Table B-9, coded_block_pattern, codes 000000001 ... 000000111 */
extern mpeg3_VLCtab_t mpeg3_CBPtab2[8];

/* Table B-1, macroblock_address_increment, codes 00010 ... 011xx */
extern mpeg3_VLCtab_t mpeg3_MBAtab1[16];

/* Table B-1, macroblock_address_increment, codes 00000011000 ... 0000111xxxx */
extern mpeg3_VLCtab_t mpeg3_MBAtab2[104];

/* Table B-12, dct_dc_size_luminance, codes 00xxx ... 11110 */
extern mpeg3_VLCtab_t mpeg3_DClumtab0[32];

/* Table B-12, dct_dc_size_luminance, codes 111110xxx ... 111111111 */
extern mpeg3_VLCtab_t mpeg3_DClumtab1[16];

/* Table B-13, dct_dc_size_chrominance, codes 00xxx ... 11110 */
extern mpeg3_VLCtab_t mpeg3_DCchromtab0[32];

/* Table B-13, dct_dc_size_chrominance, codes 111110xxxx ... 1111111111 */
extern mpeg3_VLCtab_t mpeg3_DCchromtab1[32];

/* Table B-14, DCT coefficients table zero,
 * codes 0100 ... 1xxx (used for first (DC) coefficient)
 */
extern mpeg3_DCTtab_t mpeg3_DCTtabfirst[12];

/* Table B-14, DCT coefficients table zero,
 * codes 0100 ... 1xxx (used for all other coefficients)
 */
extern mpeg3_DCTtab_t mpeg3_DCTtabnext[12];

/* Table B-14, DCT coefficients table zero,
 * codes 000001xx ... 00111xxx
 */
extern mpeg3_DCTtab_t mpeg3_DCTtab0[60];

/* Table B-15, DCT coefficients table one,
 * codes 000001xx ... 11111111
*/
extern mpeg3_DCTtab_t mpeg3_DCTtab0a[252];

/* Table B-14, DCT coefficients table zero,
 * codes 0000001000 ... 0000001111
 */
extern mpeg3_DCTtab_t mpeg3_DCTtab1[8];

/* Table B-15, DCT coefficients table one,
 * codes 000000100x ... 000000111x
 */
extern mpeg3_DCTtab_t mpeg3_DCTtab1a[8];

/* Table B-14/15, DCT coefficients table zero / one,
 * codes 000000010000 ... 000000011111
 */
extern mpeg3_DCTtab_t mpeg3_DCTtab2[16];

/* Table B-14/15, DCT coefficients table zero / one,
 * codes 0000000010000 ... 0000000011111
 */
extern mpeg3_DCTtab_t mpeg3_DCTtab3[16];

/* Table B-14/15, DCT coefficients table zero / one,
 * codes 00000000010000 ... 00000000011111
 */
extern mpeg3_DCTtab_t mpeg3_DCTtab4[16];

/* Table B-14/15, DCT coefficients table zero / one,
 * codes 000000000010000 ... 000000000011111
 */
extern mpeg3_DCTtab_t mpeg3_DCTtab5[16];

/* Table B-14/15, DCT coefficients table zero / one,
 * codes 0000000000010000 ... 0000000000011111
 */
extern mpeg3_DCTtab_t mpeg3_DCTtab6[16];


#endif