37 |
* ToDo ? : when BFRAMES is defined, the API_VERSION should not |
* ToDo ? : when BFRAMES is defined, the API_VERSION should not |
38 |
* be the same (3.0 ?) |
* be the same (3.0 ?) |
39 |
* |
* |
40 |
* $Id: xvid.h,v 1.4 2002-06-20 10:51:08 suxen_drol Exp $ |
* $Id: xvid.h,v 1.7 2002-07-21 03:46:13 suxen_drol Exp $ |
41 |
* |
* |
42 |
*****************************************************************************/ |
*****************************************************************************/ |
43 |
|
|
73 |
#define XVID_CSP_RGB555 10 |
#define XVID_CSP_RGB555 10 |
74 |
#define XVID_CSP_RGB565 11 |
#define XVID_CSP_RGB565 11 |
75 |
#define XVID_CSP_USER 12 |
#define XVID_CSP_USER 12 |
76 |
|
#define XVID_CSP_EXTERN 1004 // per slice rendering |
77 |
#define XVID_CSP_YVYU 1002 |
#define XVID_CSP_YVYU 1002 |
78 |
#define XVID_CSP_RGB32 1000 |
#define XVID_CSP_RGB32 1000 |
79 |
#define XVID_CSP_NULL 9999 |
#define XVID_CSP_NULL 9999 |
98 |
|
|
99 |
#define XVID_CPU_IA64 0x00000080 |
#define XVID_CPU_IA64 0x00000080 |
100 |
|
|
101 |
|
#define XVID_CPU_CHKONLY 0x40000000 /* check cpu only; dont init globals */ |
102 |
#define XVID_CPU_FORCE 0x80000000 |
#define XVID_CPU_FORCE 0x80000000 |
103 |
|
|
104 |
|
|
157 |
XVID_DEC_FRAME; |
XVID_DEC_FRAME; |
158 |
|
|
159 |
|
|
160 |
|
// This struct is used for per slice rendering |
161 |
|
typedef struct |
162 |
|
{ |
163 |
|
void *y,*u,*v; |
164 |
|
int stride_y, stride_u,stride_v; |
165 |
|
} XVID_DEC_PICTURE; |
166 |
|
|
167 |
|
|
168 |
/***************************************************************************** |
/***************************************************************************** |
169 |
* Decoder entry point |
* Decoder entry point |
170 |
****************************************************************************/ |
****************************************************************************/ |
184 |
* Encoder constants |
* Encoder constants |
185 |
****************************************************************************/ |
****************************************************************************/ |
186 |
|
|
187 |
|
/* Flags for XVID_ENC_PARAM.global */ |
188 |
|
#define XVID_GLOBAL_PACKED 0x00000001 /* packed bitstream */ |
189 |
|
#define XVID_GLOBAL_DX50BVOP 0x00000002 /* dx50 bvop compatibility */ |
190 |
|
#define XVID_GLOBAL_DEBUG 0x00000004 /* print debug info on each frame */ |
191 |
|
|
192 |
/* Flags for XVID_ENC_FRAME.general */ |
/* Flags for XVID_ENC_FRAME.general */ |
193 |
#define XVID_VALID_FLAGS 0x80000000 |
#define XVID_VALID_FLAGS 0x80000000 |
194 |
|
|
254 |
int max_quantizer; /* the upper limit of the quantizer */ |
int max_quantizer; /* the upper limit of the quantizer */ |
255 |
int min_quantizer; /* the lower limit of the quantizer */ |
int min_quantizer; /* the lower limit of the quantizer */ |
256 |
int max_key_interval; /* the maximum interval between key frames */ |
int max_key_interval; /* the maximum interval between key frames */ |
257 |
|
#ifdef _SMP |
258 |
|
int num_threads; /* number of threads */ |
259 |
|
#endif |
260 |
#ifdef BFRAMES |
#ifdef BFRAMES |
261 |
int packed; /* enable packed mode */ |
int global; /* global/debug options */ |
262 |
int max_bframes; /* max sequential bframes (0=disable bframes) */ |
int max_bframes; /* max sequential bframes (0=disable bframes) */ |
263 |
int bquant_ratio; /* bframe quantizer multipier (percentage). |
int bquant_ratio; /* bframe quantizer multipier (percentage). |
264 |
* used only when bquant < 1 |
* used only when bquant < 1 |
265 |
* eg. 200 = x2 multiplier |
* eg. 200 = x2 multiplier |
266 |
* quant = ((past_quant + future_quant) * bquant_ratio)/200 |
* quant = ((past_quant + future_quant) * bquant_ratio)/200 |
267 |
*/ |
*/ |
268 |
|
int frame_drop_ratio; /* frame dropping: 0=drop none... 100=drop all */ |
269 |
#endif |
#endif |
270 |
void *handle; /* [out] encoder instance handle */ |
void *handle; /* [out] encoder instance handle */ |
271 |
} |
} |