--- branches/dev-api-3/xvidcore/src/xvid.h 2002/11/04 10:53:49 627 +++ branches/dev-api-3/xvidcore/src/xvid.h 2002/11/08 10:30:59 635 @@ -28,7 +28,7 @@ * ToDo ? : when BFRAMES is defined, the API_VERSION should not * be the same (3.0 ?) * -* $Id: xvid.h,v 1.17.2.8 2002-11-04 10:53:49 syskin Exp $ +* $Id: xvid.h,v 1.17.2.11 2002-11-08 10:30:59 suxen_drol Exp $ * *****************************************************************************/ @@ -110,6 +110,18 @@ #define XVID_CPU_CHKONLY 0x40000000 /* check cpu only; dont init globals */ #define XVID_CPU_FORCE 0x80000000 + typedef struct + { + int colorspace; + void * y; + void * u; + void * v; + int y_stride; + int uv_stride; + } XVID_IMAGE; /* from yv12 */ + +#define XVID_INIT_INIT 0 +#define XVID_INIT_CONVERT 1 /***************************************************************************** * Initialization structures @@ -123,6 +135,15 @@ } XVID_INIT_PARAM; + typedef struct + { + XVID_IMAGE input; + XVID_IMAGE output; + int width; + int height; + int interlacing; + } XVID_INIT_CONVERTINFO; + /***************************************************************************** * Initialization entry point ****************************************************************************/ @@ -153,6 +174,32 @@ XVID_DEC_PARAM; +#define XVID_DEC_VOP 0 +#define XVID_DEC_VOL 1 + + typedef struct + { + int notify; /* [out] output 'mode' */ + union + { + struct /* XVID_DEC_VOP */ + { + int time_base; /* [out] time base */ + int time_increment; /* [out] time increment */ + } vop; + struct /* XVID_DEC_VOL */ + { + int general; /* [out] flags: eg. frames are interlaced */ + int width; /* [out] width */ + int height; /* [out] height */ + int aspect_ratio; /* [out] aspect ratio */ + int par_width; /* [out] aspect ratio width */ + int par_height; /* [out] aspect ratio height */ + } vol; + } data; + } XVID_DEC_STATS; + + typedef struct { int general; @@ -325,6 +372,7 @@ int length; /* [out] bitstream length (bytes) */ void *image; /* [in] image ptr */ + int stride; int colorspace; /* [in] source colorspace */ unsigned char *quant_intra_matrix; // [in] custom intra qmatrix */ @@ -346,7 +394,6 @@ int quant; /* [out] frame quantizer */ int hlength; /* [out] header length (bytes) */ int kblks, mblks, ublks; /* [out] */ - } XVID_ENC_STATS;