--- trunk/vfw/src/xvid.h 2002/06/20 10:51:08 228 +++ trunk/vfw/src/xvid.h 2002/07/21 03:49:47 324 @@ -37,7 +37,7 @@ * ToDo ? : when BFRAMES is defined, the API_VERSION should not * be the same (3.0 ?) * -* $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 $ * *****************************************************************************/ @@ -73,6 +73,7 @@ #define XVID_CSP_RGB555 10 #define XVID_CSP_RGB565 11 #define XVID_CSP_USER 12 +#define XVID_CSP_EXTERN 1004 // per slice rendering #define XVID_CSP_YVYU 1002 #define XVID_CSP_RGB32 1000 #define XVID_CSP_NULL 9999 @@ -97,6 +98,7 @@ #define XVID_CPU_IA64 0x00000080 +#define XVID_CPU_CHKONLY 0x40000000 /* check cpu only; dont init globals */ #define XVID_CPU_FORCE 0x80000000 @@ -155,6 +157,14 @@ XVID_DEC_FRAME; + // This struct is used for per slice rendering + typedef struct + { + void *y,*u,*v; + int stride_y, stride_u,stride_v; + } XVID_DEC_PICTURE; + + /***************************************************************************** * Decoder entry point ****************************************************************************/ @@ -174,6 +184,11 @@ * Encoder constants ****************************************************************************/ +/* Flags for XVID_ENC_PARAM.global */ +#define XVID_GLOBAL_PACKED 0x00000001 /* packed bitstream */ +#define XVID_GLOBAL_DX50BVOP 0x00000002 /* dx50 bvop compatibility */ +#define XVID_GLOBAL_DEBUG 0x00000004 /* print debug info on each frame */ + /* Flags for XVID_ENC_FRAME.general */ #define XVID_VALID_FLAGS 0x80000000 @@ -239,14 +254,18 @@ int max_quantizer; /* the upper limit of the quantizer */ int min_quantizer; /* the lower limit of the quantizer */ int max_key_interval; /* the maximum interval between key frames */ +#ifdef _SMP + int num_threads; /* number of threads */ +#endif #ifdef BFRAMES - int packed; /* enable packed mode */ + int global; /* global/debug options */ int max_bframes; /* max sequential bframes (0=disable bframes) */ int bquant_ratio; /* bframe quantizer multipier (percentage). * used only when bquant < 1 * eg. 200 = x2 multiplier * quant = ((past_quant + future_quant) * bquant_ratio)/200 */ + int frame_drop_ratio; /* frame dropping: 0=drop none... 100=drop all */ #endif void *handle; /* [out] encoder instance handle */ }