ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/trunk/xvidcore/src/bitstream/vlc_codes.h
Revision: 1988
Committed: Wed May 18 09:10:05 2011 UTC (13 years, 4 months ago) by Isibaar
Content type: text/plain
File size: 2351 byte(s)
Error occurred while calculating annotation data.
Log Message:
enabled auto-props property

File Contents

# Content
1 /*****************************************************************************
2 *
3 * XVID MPEG-4 VIDEO CODEC
4 * - Variable Length Code header -
5 *
6 * Copyright(C) 2002 Michael Militzer <isibaar@xvid.org>
7 *
8 * This program is free software ; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation ; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY ; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program ; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 *
22 * $Id$
23 *
24 ****************************************************************************/
25 #ifndef _VLC_CODES_H_
26 #define _VLC_CODES_H_
27
28 #include "../portab.h"
29
30 #define VLC_ERROR (-1)
31
32 #define ESCAPE 3
33 #define ESCAPE1 6
34 #define ESCAPE2 14
35 #define ESCAPE3 15
36
37 typedef struct
38 {
39 uint32_t code;
40 uint8_t len;
41 }
42 VLC;
43
44 typedef struct
45 {
46 uint8_t last;
47 uint8_t run;
48 int8_t level;
49 }
50 EVENT;
51
52 typedef struct
53 {
54 uint8_t len;
55 EVENT event;
56 }
57 REVERSE_EVENT;
58
59 typedef struct
60 {
61 VLC vlc;
62 EVENT event;
63 }
64 VLC_TABLE;
65
66
67 /******************************************************************
68 * common tables between encoder/decoder *
69 ******************************************************************/
70
71 extern VLC const dc_lum_tab[];
72 extern short const dc_threshold[];
73 extern VLC_TABLE const coeff_tab[2][102];
74 extern uint8_t const max_level[2][2][64];
75 extern uint8_t const max_run[2][2][64];
76 extern VLC sprite_trajectory_code[32768];
77 extern VLC sprite_trajectory_len[15];
78 extern VLC mcbpc_intra_tab[15];
79 extern VLC mcbpc_inter_tab[29];
80 extern const VLC xvid_cbpy_tab[16];
81 extern const VLC dcy_tab[511];
82 extern const VLC dcc_tab[511];
83 extern const VLC mb_motion_table[65];
84 extern VLC const mcbpc_intra_table[64];
85 extern VLC const mcbpc_inter_table[257];
86 extern VLC const cbpy_table[64];
87 extern VLC const TMNMVtab0[];
88 extern VLC const TMNMVtab1[];
89 extern VLC const TMNMVtab2[];
90
91 #endif /* _VLC_CODES_H */

Properties

Name Value
svn:keywords Id