28 |
* ToDo ? : when BFRAMES is defined, the API_VERSION should not |
* ToDo ? : when BFRAMES is defined, the API_VERSION should not |
29 |
* be the same (3.0 ?) |
* be the same (3.0 ?) |
30 |
* |
* |
31 |
* $Id: xvid.h,v 1.17.2.2 2002-10-06 07:05:50 suxen_drol Exp $ |
* $Id: xvid.h,v 1.17.2.7 2002-11-02 16:08:14 chl Exp $ |
32 |
* |
* |
33 |
*****************************************************************************/ |
*****************************************************************************/ |
34 |
|
|
47 |
/* API Version : 2.1 */ |
/* API Version : 2.1 */ |
48 |
#define API_VERSION ((2 << 16) | (1)) |
#define API_VERSION ((2 << 16) | (1)) |
49 |
|
|
50 |
|
/* Bitstream Version |
51 |
|
* this will be writen into the bitstream to allow easy detection of xvid |
52 |
|
* encoder bugs in the decoder, without this it might not possible to |
53 |
|
* automatically distinquish between a file which has been encoded with an |
54 |
|
* old & buggy XVID from a file which has been encoded with a bugfree version |
55 |
|
* see the infamous interlacing bug ... |
56 |
|
* |
57 |
|
* this MUST be increased if an encoder bug is fixed, increasing it too often |
58 |
|
* doesnt hurt but not increasing it could cause difficulty for decoders in the |
59 |
|
* future |
60 |
|
*/ |
61 |
|
#define XVID_BS_VERSION "0003" |
62 |
|
|
63 |
|
|
64 |
/* Error codes */ |
/* Error codes */ |
65 |
#define XVID_ERR_FAIL -1 |
#define XVID_ERR_FAIL -1 |
229 |
#define XVID_GREYSCALE 0x01000000 /* enable greyscale only mode (even for */ |
#define XVID_GREYSCALE 0x01000000 /* enable greyscale only mode (even for */ |
230 |
#define XVID_GRAYSCALE 0x01000000 /* color input material chroma is ignored) */ |
#define XVID_GRAYSCALE 0x01000000 /* color input material chroma is ignored) */ |
231 |
|
|
232 |
|
#define XVID_GMC 0x20000000 |
233 |
|
|
234 |
/* Flags for XVID_ENC_FRAME.motion */ |
/* Flags for XVID_ENC_FRAME.motion */ |
235 |
#define PMV_ADVANCEDDIAMOND8 0x00004000 |
#define PMV_ADVANCEDDIAMOND8 0x00004000 |
272 |
#ifdef _SMP |
#ifdef _SMP |
273 |
int num_threads; /* number of threads */ |
int num_threads; /* number of threads */ |
274 |
#endif |
#endif |
|
#ifdef BFRAMES |
|
275 |
int global; /* global/debug options */ |
int global; /* global/debug options */ |
276 |
int max_bframes; /* max sequential bframes (0=disable bframes) */ |
int max_bframes; /* max sequential bframes (0=disable bframes) */ |
277 |
int bquant_ratio; /* bframe quantizer multipier (percentage). |
int bquant_ratio; /* bframe quantizer multipier (percentage). |
280 |
* quant = ((past_quant + future_quant) * bquant_ratio)/200 |
* quant = ((past_quant + future_quant) * bquant_ratio)/200 |
281 |
*/ |
*/ |
282 |
int frame_drop_ratio; /* frame dropping: 0=drop none... 100=drop all */ |
int frame_drop_ratio; /* frame dropping: 0=drop none... 100=drop all */ |
|
#endif |
|
283 |
void *handle; /* [out] encoder instance handle */ |
void *handle; /* [out] encoder instance handle */ |
284 |
} |
} |
285 |
XVID_ENC_PARAM; |
XVID_ENC_PARAM; |
334 |
*/ |
*/ |
335 |
HINTINFO hint; /* [in/out] mv hint information */ |
HINTINFO hint; /* [in/out] mv hint information */ |
336 |
|
|
|
#ifdef BFRAMES |
|
337 |
int bquant; /* [in] bframe quantizer */ |
int bquant; /* [in] bframe quantizer */ |
|
#endif |
|
338 |
|
|
339 |
} |
} |
340 |
XVID_ENC_FRAME; |
XVID_ENC_FRAME; |