[cvs] / xvidcore / src / bitstream / vlc_codes.h Repository:
ViewVC logotype

Annotation of /xvidcore/src/bitstream/vlc_codes.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.16.2.3 - (view) (download)

1 : edgomez 1.16.2.2 /*****************************************************************************
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 : Isibaar 1.1 #ifndef _VLC_CODES_H_
26 :     #define _VLC_CODES_H_
27 :    
28 :     #include "../portab.h"
29 :    
30 :     #define VLC_ERROR (-1)
31 : edgomez 1.13
32 :     #define ESCAPE 3
33 :     #define ESCAPE1 6
34 :     #define ESCAPE2 14
35 :     #define ESCAPE3 15
36 : Isibaar 1.1
37 :     typedef struct
38 :     {
39 :     uint32_t code;
40 : edgomez 1.13 uint8_t len;
41 : edgomez 1.6 }
42 :     VLC;
43 : Isibaar 1.1
44 : edgomez 1.13 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 : Isibaar 1.5
66 : Isibaar 1.1
67 : edgomez 1.15 /******************************************************************
68 :     * common tables between encoder/decoder *
69 :     ******************************************************************/
70 : Isibaar 1.1
71 : edgomez 1.16 extern VLC const dc_lum_tab[];
72 : edgomez 1.16.2.3 extern short const dc_threshold[];
73 : edgomez 1.16 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 : edgomez 1.16.2.1 extern const VLC xvid_cbpy_tab[16];
81 : edgomez 1.16 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 : Isibaar 1.1
91 : edgomez 1.7 #endif /* _VLC_CODES_H */

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4