annotate libmpcodecs/vqf.h @ 32282:606e4157cd4c

Split alloc and init of context so that parameters can be set in the context instead of requireing being passed through function parameters. This also makes sws work with AVOptions.
author michael
date Sun, 26 Sep 2010 19:33:57 +0000
parents 0f1b5b68af32
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14276
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
1 /* (c)Copyright 1996-2000 NTT Cyber Space Laboratories */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
2 /* Released on 2000.05.22 by N. Iwakami */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
3 /* Modified on 2000.05.25 by N. Iwakami */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
4 /* Released on 2000.09.06 by N. Iwakami */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
5
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
6 // Modified for MPlayer on 2004.12.29
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
7
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25869
diff changeset
8 #ifndef MPLAYER_VQF_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25869
diff changeset
9 #define MPLAYER_VQF_H
14276
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
10
26147
41652035483c Add necessary header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
11 #include <stdio.h>
41652035483c Add necessary header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
12
14276
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
13 #ifdef _MSC_VER
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
14 # ifdef DLL_MODULE
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
15 # define DllPort __declspec( dllexport )
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
16 # else
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
17 # define DllPort __declspec( dllimport )
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
18 # endif
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
19 #else
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
20 # define DllPort
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
21 #endif
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
22
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
23 #ifdef __cplusplus
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
24 extern "C" { // only need to import/export C interface if used by C++ source code
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
25 #endif
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
26
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
27 /************************/
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
28 /*** General settings ***/
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
29 /************************/
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
30 /* Initialization error code */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
31 enum INIT_ERROR_CODE {
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
32 TVQ_NO_ERROR = 0, // no error
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
33 TVQ_ERROR, // general
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
34 TVQ_ERROR_VERSION, // wrong version
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
35 TVQ_ERROR_CHANNEL, // channel setting error
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
36 TVQ_ERROR_MODE, // wrong coding mode
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
37 TVQ_ERROR_PARAM, // inner parameter setting error
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
38 TVQ_ERROR_N_CAN, // wrong number of VQ pre-selection candidates, used only in encoder
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
39 };
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
40
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
41 /* version ID */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
42 #define TVQ_UNKNOWN_VERSION -1
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
43 #define V2 0
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
44 #define V2PP 1
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
45
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
46 #define N_VERSIONS 2
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
47
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
48 /* window types */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
49 enum WINDOW_TYPE {
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
50 ONLY_LONG_WINDOW = 0,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
51 LONG_SHORT_WINDOW,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
52 ONLY_SHORT_WINDOW,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
53 SHORT_LONG_WINDOW,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
54 SHORT_MEDIUM_WINDOW,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
55 MEDIUM_LONG_WINDOW,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
56 LONG_MEDIUM_WINDOW,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
57 MEDIUM_SHORT_WINDOW,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
58 ONLY_MEDIUM_WINDOW,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
59 };
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
60
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
61 /* block types */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
62 enum BLOCK_TYPE {
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
63 BLK_SHORT = 0,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
64 BLK_MEDIUM,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
65 BLK_LONG,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
66 BLK_PPC,
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
67 };
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
68 #define N_BTYPE 3 // number of block types
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
69 #define N_INTR_TYPE 4 // number of interleave types, enum BLOCK_TYPE is commonly used for detecting interleave types.
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
70
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
71 /* maximum number of channels */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
72 #define N_CH_MAX 2
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
73
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
74 /* type definition of code information interface */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
75 typedef struct {
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
76 /* block type */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
77 int w_type;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
78 int btype;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
79
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
80 /* FBC info */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
81 int *segment_sw[ N_CH_MAX ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
82 int *band_sw[ N_CH_MAX ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
83 int *fg_intensity[ N_CH_MAX ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
84
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
85 /* VQ info */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
86 int *wvq;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
87
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
88 /* BSE info */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
89 int *fw;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
90 int *fw_alf;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
91
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
92 /* gain info */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
93 int *pow;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
94
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
95 /* LSP info */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
96 int *lsp[ N_CH_MAX ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
97
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
98 /* PPC info */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
99 int pit[ N_CH_MAX ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
100 int *pls;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
101 int pgain[ N_CH_MAX ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
102
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
103 /* EBC info */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
104 int *bc[ N_CH_MAX ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
105
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
106 void *manager;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
107 } INDEX;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
108
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
109 /***********************************************/
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
110 /*** Definitions about program configuration ***/
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
111 /***********************************************/
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
112 /* type definition of tvqConfInfoSubBlock */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
113 typedef struct {
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
114 int sf_sz; // subframe size
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
115 int nsf; // number of subframes
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
116 int ndiv; // number of division of weighted interleave vector quantization
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
117 int ncrb; // number of Bark-scale subbands
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
118 int fw_ndiv; // number of division of BSE VQ
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
119 int fw_nbit; // number of bits for BSE VQ
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
120 int nsubg; // number of sub-blocks for gain coding
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
121 int ppc_enable; // PPC switch
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
122 int ebc_enable; // EBC switch
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
123 int ebc_crb_base; // EBC base band
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
124 int ebc_bits; // EBC bits
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
125 int fbc_enable; // FBC switch
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
126 int fbc_n_segment; // FBC number of segments
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
127 int fbc_nband; // FBC number of subbands
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
128 int *fbc_crb_tbl; // FBC subband table
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
129 } tvqConfInfoSubBlock;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
130
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
131 /* type definition of tvqConfInfo */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
132 typedef struct {
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
133 /* frame configuration */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
134 int N_CH;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
135 /* window type coding */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
136 int BITS_WTYPE;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
137 /* LSP coding */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
138 int LSP_BIT0;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
139 int LSP_BIT1;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
140 int LSP_BIT2;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
141 int LSP_SPLIT;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
142 /* Bark-scale envelope coding */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
143 int FW_ARSW_BITS;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
144 /* gain coding */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
145 int GAIN_BITS;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
146 int SUB_GAIN_BITS;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
147 /* pitch excitation */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
148 int N_DIV_P;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
149 int BASF_BIT;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
150 int PGAIN_BIT;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
151
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
152 /* block type dependent parameters */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
153 tvqConfInfoSubBlock cfg[N_BTYPE];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
154
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
155 } tvqConfInfo;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
156
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
157
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
158 /*************************************************/
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
159 /*** Definitions about TwinVQ bitstream header ***/
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
160 /*************************************************/
17012
6ff3379a0862 Unify include path handling, -I.. is in CFLAGS.
diego
parents: 14276
diff changeset
161 //#include "declib_src/tvq_hdr.h"
14276
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
162 //#ifndef BUFSIZ
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
163 //#define BUFSIZ 1024
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
164 //#endif
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
165
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
166 #define KEYWORD_BYTES 4
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
167 #define VERSION_BYTES 8
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
168 #define ELEM_BYTES sizeof(unsigned long)
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
169
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
170
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
171 /*
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
172 */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
173 typedef struct {
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
174 char ID[KEYWORD_BYTES+VERSION_BYTES+1];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
175 int size;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
176 /* Common Chunk */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
177 int channelMode; /* channel mode (mono:0/stereo:1) */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
178 int bitRate; /* bit rate (kbit/s) */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
179 int samplingRate; /* sampling rate (44.1 kHz -> 44) */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
180 int securityLevel; /* security level (always 0) */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
181 /* Text Chunk */
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
182 char Name[BUFSIZ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
183 char Comt[BUFSIZ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
184 char Auth[BUFSIZ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
185 char Cpyr[BUFSIZ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
186 char File[BUFSIZ];
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
187 char Extr[BUFSIZ]; // add by OKAMOTO 99.12.21
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
188 /* Data size chunk*/
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
189 int Dsiz;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
190 } headerInfo;
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
191
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
192 // TwinVQ decoder initialization/termination functions
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
193 //DllPort int TvqInitialize( headerInfo *setupInfo, INDEX *index, int dispErrorMessageBox );
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
194 //DllPort void TvqTerminate( INDEX *index );
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
195 //DllPort void TvqGetVectorInfo(int *bits0[], int *bits1[]);
29212
eda346733b8c Add missing 'void' to parameterless function declarations.
diego
parents: 26147
diff changeset
196 //DllPort void TvqResetFrameCounter(void);
14276
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
197
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
198 // TwinVQ decoder function
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
199 //DllPort void TvqDecodeFrame(INDEX *indexp, float out[]);
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
200 //DllPort int TvqWtypeToBtype( int w_type, int *btype );
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
201 //DllPort void TvqUpdateVectorInfo(int varbits, int *ndiv, int bits0[], int bits1[]);
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
202 //DllPort void TvqSetFrameCounter( int position );
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
203
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
204 // TwinVQ query functions
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
205 //DllPort int TvqCheckVersion(char *versionID);
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
206 //DllPort void TvqGetSetupInfo(headerInfo *setupInfo); // setup information
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
207 //DllPort void TvqGetConfInfo(tvqConfInfo *cf); // configuration information
29212
eda346733b8c Add missing 'void' to parameterless function declarations.
diego
parents: 26147
diff changeset
208 //DllPort int TvqGetFrameSize(void); // frame size
eda346733b8c Add missing 'void' to parameterless function declarations.
diego
parents: 26147
diff changeset
209 //DllPort int TvqGetNumChannels(void); // number of channels
eda346733b8c Add missing 'void' to parameterless function declarations.
diego
parents: 26147
diff changeset
210 //DllPort int TvqGetBitRate(void); // total bitrate
eda346733b8c Add missing 'void' to parameterless function declarations.
diego
parents: 26147
diff changeset
211 //DllPort float TvqGetSamplingRate(void); // sampling rate
eda346733b8c Add missing 'void' to parameterless function declarations.
diego
parents: 26147
diff changeset
212 //DllPort int TvqGetNumFixedBitsPerFrame(void); // number of fixed bits per frame
eda346733b8c Add missing 'void' to parameterless function declarations.
diego
parents: 26147
diff changeset
213 //DllPort int TvqGetNumFrames(void); // number of decoded frame
14276
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
214 //DllPort int TvqGetModuleVersion( char* versionString );
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
215
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
216 #ifdef V2PLUS_SUPPORT
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
217 // TwinVQ FB coding tool control
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29212
diff changeset
218 DllPort void TvqFbCountUsedBits(int nbit); // count number of used bits
29212
eda346733b8c Add missing 'void' to parameterless function declarations.
diego
parents: 26147
diff changeset
219 DllPort float TvqGetFbCurrentBitrate(void); // query average bitrate for the tool
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29212
diff changeset
220 DllPort int TvqGetFbTotalBits(void); // query total number of used bits
14276
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
221 #endif
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
222
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
223 #ifdef __cplusplus
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
224 }
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
225 #endif
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
226
fa80ed52127b TwinVQ decoder and demuxer
rtognimp
parents:
diff changeset
227
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25869
diff changeset
228 #endif /* MPLAYER_VQF_H */