--- xvid.h 2003/12/18 21:40:11 1.27.2.59 +++ xvid.h 2005/11/22 21:01:33 1.51.2.2 @@ -3,7 +3,7 @@ * XVID MPEG-4 VIDEO CODEC * - XviD Main header file - * - * Copyright(C) 2001-2003 Peter Ross + * Copyright(C) 2001-2004 Peter Ross * * This program is free software ; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: xvid.h,v 1.27.2.59 2003/12/18 21:40:11 Isibaar Exp $ + * $Id: xvid.h,v 1.51.2.2 2005/11/22 21:01:33 edgomez Exp $ * ****************************************************************************/ @@ -57,10 +57,8 @@ #define XVID_API_MAJOR(a) (((a)>>16) & 0xff) #define XVID_API_MINOR(a) (((a)>> 0) & 0xff) -#define XVID_VERSION XVID_MAKE_VERSION(1,0,-126) -#define XVID_API XVID_MAKE_API(4, 0) - -#define XVID_UNSTABLE +#define XVID_VERSION XVID_MAKE_VERSION(1,1,0) +#define XVID_API XVID_MAKE_API(4, 1) /* Bitstream Version * this will be writen into the bitstream to allow easy detection of xvid @@ -73,8 +71,7 @@ * doesnt hurt but not increasing it could cause difficulty for decoders in the * future */ -#define XVID_BS_VERSION "0024" - +#define XVID_BS_VERSION 41 /***************************************************************************** * error codes @@ -96,7 +93,8 @@ /* colorspace values */ -#define XVID_CSP_USER (1<< 0) /* 4:2:0 planar (==I420, except for pointers/strides) */ +#define XVID_CSP_PLANAR (1<< 0) /* 4:2:0 planar (==I420, except for pointers/strides) */ +#define XVID_CSP_USER XVID_CSP_PLANAR #define XVID_CSP_I420 (1<< 1) /* 4:2:0 planar */ #define XVID_CSP_YV12 (1<< 2) /* 4:2:0 planar */ #define XVID_CSP_YUY2 (1<< 3) /* 4:2:2 packed */ @@ -105,6 +103,7 @@ #define XVID_CSP_BGRA (1<< 6) /* 32-bit bgra packed */ #define XVID_CSP_ABGR (1<< 7) /* 32-bit abgr packed */ #define XVID_CSP_RGBA (1<< 8) /* 32-bit rgba packed */ +#define XVID_CSP_ARGB (1<<15) /* 32-bit argb packed */ #define XVID_CSP_BGR (1<< 9) /* 24-bit bgr packed */ #define XVID_CSP_RGB555 (1<<10) /* 16-bit rgb555 packed */ #define XVID_CSP_RGB565 (1<<11) /* 16-bit rgb565 packed */ @@ -249,6 +248,12 @@ #define XVID_DEBLOCKY (1<<2) /* perform luma deblocking */ #define XVID_DEBLOCKUV (1<<3) /* perform chroma deblocking */ #define XVID_FILMEFFECT (1<<4) /* adds film grain */ +#define XVID_DERINGUV (1<<5) /* perform chroma deringing, requires deblocking to work */ +#define XVID_DERINGY (1<<6) /* perform luma deringing, requires deblocking to work */ + +#define XVID_DEC_FAST (1<<29) /* disable postprocessing to decrease cpu usage *todo* */ +#define XVID_DEC_DROP (1<<30) /* drop bframes to decrease cpu usage *todo* */ +#define XVID_DEC_PREROLL (1<<31) /* decode as fast as you can, don't even show output *todo* */ typedef struct { int version; @@ -256,6 +261,8 @@ void *bitstream; /* [in] bitstream (read from)*/ int length; /* [in] bitstream length */ xvid_image_t output; /* [in] output image (written to) */ +/* ------- v1.1.x ------- */ + int brightness; /* [in] brightness offset (0=none) */ } xvid_dec_frame_t; @@ -499,7 +506,7 @@ typedef struct { int version; - int bitrate; /* [in] bits per second */ + int bitrate; /* [in] target bitrate (bits per second) */ char * filename; /* [in] first pass stats filename */ int keyframe_boost; /* [in] keyframe boost percentage: [0..100] */ @@ -516,6 +523,13 @@ * 0 for 1