annotate libmpcodecs/vqf.h @ 24576:6704a924d4aa

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