--- xvid.h 2003/03/13 11:07:20 1.27.2.5 +++ xvid.h 2003/03/15 16:04:38 1.27.2.7 @@ -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.5 2003/03/13 11:07:20 suxen_drol Exp $ + * $Id: xvid.h,v 1.27.2.7 2003/03/15 16:04:38 suxen_drol Exp $ * ****************************************************************************/ @@ -177,8 +177,8 @@ int version; xvid_image_t input; /* [in] input image & colorspace */ xvid_image_t output; /* [in] output image & colorspace */ - int width; /* [in] width */ - int height; /* [in] height */ + int width; /* [in] width */ + int height; /* [in] height */ int interlacing; /* [in] interlacing */ } xvid_gbl_convert_t; @@ -271,7 +271,8 @@ #define XVID_PLG_AFTER 4 /* xvid_plg_info_t.flags */ -#define XVID_PLG_ORIGINAL 1 /* plugin requires a copy of the original (uncompressed) image */ +#define XVID_REQORIGINAL 1 /* plugin requires a copy of the original (uncompressed) image */ +#define XVID_REQPSNR 2 /* plugin requires psnr between the uncompressed and compressed image*/ typedef struct @@ -295,13 +296,19 @@ typedef struct { int version; - - xvid_image_t reference; - xvid_image_t current; - xvid_image_t original; /* after: points the original (uncompressed) copy of the current frame */ - int type; /* [in,out] */ - int quant; /* [in,out] */ + int width; /* [out] */ + int height; /* [out] */ + int fincr; /* [out] */ + int fbase; /* [out] */ + + xvid_image_t reference; /* [out] -> [out] */ + xvid_image_t current; /* [out] -> [in,out] */ + xvid_image_t original; /* [out] after: points the original (uncompressed) copy of the current frame */ + int frame_num; /* [out] frame number */ + + int type; /* [in,out] */ + int quant; /* [in,out] */ unsigned char * qscale; /* [in,out] pointer to quantizer table */ int qscale_stride; /* [in,out] quantizer scale stride */ @@ -312,6 +319,7 @@ int length; /* [out] after: length of encoded frame */ int kblks, mblks, ublks; /* [out] after: */ + int sse_y, sse_u, sse_v; /* [out] */ } xvid_plg_data_t; @@ -343,6 +351,9 @@ void * param; } xvid_enc_plugin_t; +xvid_plugin_func xvid_plugin_psnr; /* stdout psnr calculator */ +xvid_plugin_func xvid_plugin_dump; /* dump before and after yuvpgms */ + /***************************************************************************** @@ -373,6 +384,7 @@ /* vol-based flags */ typedef enum { XVID_MPEGQUANT = 0x00000001, + XVID_EXTRASTATS = 0x00000002, XVID_QUARTERPEL = 0x00000004, /* enable quarterpel: frames will encoded as quarterpel */ XVID_GMC = 0x00000008, /* enable GMC; frames will be checked for gmc suitability */ XVID_REDUCED_ENABLE = 0x00000010, /* enable reduced resolution vops: frames will be checked for rrv suitability */ @@ -383,7 +395,7 @@ /* vop-based flags */ typedef enum { XVID_DEBUG = 0x00000001, - XVID_EXTRASTATS = 0x00000002, + XVID_HALFPEL = 0x00000004, /* use halfpel interpolation */ XVID_INTER4V = 0x00000008, XVID_LUMIMASKING = 0x00000010,