Mercurial > mplayer.hg
annotate tremor/codec_internal.h @ 30378:8339bca8e4b4
Move the resync-related code into more consistent places instead of having it
scattered all over the place with half of it forgotten in some places.
author | reimar |
---|---|
date | Sun, 24 Jan 2010 15:16:39 +0000 |
parents | e83eef58b30a |
children |
rev | line source |
---|---|
14280 | 1 /******************************************************************** |
2 * * | |
3 * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * | |
4 * * | |
19251
cd6b211be811
Replace tremor files that had old headers saying "ALL REDISTRIBUTION
uau
parents:
14280
diff
changeset
|
5 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * |
cd6b211be811
Replace tremor files that had old headers saying "ALL REDISTRIBUTION
uau
parents:
14280
diff
changeset
|
6 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * |
cd6b211be811
Replace tremor files that had old headers saying "ALL REDISTRIBUTION
uau
parents:
14280
diff
changeset
|
7 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * |
cd6b211be811
Replace tremor files that had old headers saying "ALL REDISTRIBUTION
uau
parents:
14280
diff
changeset
|
8 * * |
14280 | 9 * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * |
10 * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * | |
11 * * | |
12 ******************************************************************** | |
13 | |
14 function: libvorbis codec headers | |
15 | |
16 ********************************************************************/ | |
17 | |
18 #ifndef _V_CODECI_H_ | |
19 #define _V_CODECI_H_ | |
20 | |
21 #include "codebook.h" | |
22 | |
23 typedef void vorbis_look_mapping; | |
24 typedef void vorbis_look_floor; | |
25 typedef void vorbis_look_residue; | |
26 typedef void vorbis_look_transform; | |
27 | |
28 /* mode ************************************************************/ | |
29 typedef struct { | |
30 int blockflag; | |
31 int windowtype; | |
32 int transformtype; | |
33 int mapping; | |
34 } vorbis_info_mode; | |
35 | |
36 typedef void vorbis_info_floor; | |
37 typedef void vorbis_info_residue; | |
38 typedef void vorbis_info_mapping; | |
39 | |
40 typedef struct backend_lookup_state { | |
41 /* local lookup storage */ | |
42 ogg_int32_t *window[2]; | |
43 | |
44 /* backend lookups are tied to the mode, not the backend or naked mapping */ | |
45 int modebits; | |
46 vorbis_look_mapping **mode; | |
47 | |
48 } backend_lookup_state; | |
49 | |
50 /* codec_setup_info contains all the setup information specific to the | |
51 specific compression/decompression mode in progress (eg, | |
52 psychoacoustic settings, channel setup, options, codebook | |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
19251
diff
changeset
|
53 etc). |
14280 | 54 *********************************************************************/ |
55 | |
56 typedef struct codec_setup_info { | |
57 | |
58 /* Vorbis supports only short and long blocks, but allows the | |
59 encoder to choose the sizes */ | |
60 | |
61 long blocksizes[2]; | |
62 | |
63 /* modes are the primary means of supporting on-the-fly different | |
64 blocksizes, different channel mappings (LR or M/A), | |
65 different residue backends, etc. Each mode consists of a | |
66 blocksize flag and a mapping (along with the mapping setup */ | |
67 | |
68 int modes; | |
69 int maps; | |
70 int times; | |
71 int floors; | |
72 int residues; | |
73 int books; | |
74 | |
75 vorbis_info_mode *mode_param[64]; | |
76 int map_type[64]; | |
77 vorbis_info_mapping *map_param[64]; | |
78 int time_type[64]; | |
79 int floor_type[64]; | |
80 vorbis_info_floor *floor_param[64]; | |
81 int residue_type[64]; | |
82 vorbis_info_residue *residue_param[64]; | |
83 static_codebook *book_param[256]; | |
84 codebook *fullbooks; | |
85 | |
86 int passlimit[32]; /* iteration limit per couple/quant pass */ | |
87 int coupling_passes; | |
88 } codec_setup_info; | |
89 | |
90 #endif |