19 |
* along with this program; if not, write to the Free Software |
* along with this program; if not, write to the Free Software |
20 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
21 |
* |
* |
22 |
* $Id: xvid.h,v 1.27.2.5 2003-03-13 11:07:20 suxen_drol Exp $ |
* $Id: xvid.h,v 1.27.2.6 2003-03-15 14:32:56 suxen_drol Exp $ |
23 |
* |
* |
24 |
****************************************************************************/ |
****************************************************************************/ |
25 |
|
|
271 |
#define XVID_PLG_AFTER 4 |
#define XVID_PLG_AFTER 4 |
272 |
|
|
273 |
/* xvid_plg_info_t.flags */ |
/* xvid_plg_info_t.flags */ |
274 |
#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 */ |
275 |
|
|
276 |
|
|
277 |
typedef struct |
typedef struct |
296 |
{ |
{ |
297 |
int version; |
int version; |
298 |
|
|
299 |
xvid_image_t reference; |
int width; /* [out] */ |
300 |
xvid_image_t current; |
int height; /* [out] */ |
301 |
xvid_image_t original; /* after: points the original (uncompressed) copy of the current frame */ |
int fincr; /* [out] */ |
302 |
|
int fbase; /* [out] */ |
303 |
|
|
304 |
|
xvid_image_t reference; /* [out] -> [out] */ |
305 |
|
xvid_image_t current; /* [out] -> [in,out] */ |
306 |
|
xvid_image_t original; /* [out] after: points the original (uncompressed) copy of the current frame */ |
307 |
|
int frame_num; /* [out] frame number */ |
308 |
|
|
309 |
int type; /* [in,out] */ |
int type; /* [in,out] */ |
310 |
int quant; /* [in,out] */ |
int quant; /* [in,out] */ |
349 |
void * param; |
void * param; |
350 |
} xvid_enc_plugin_t; |
} xvid_enc_plugin_t; |
351 |
|
|
352 |
|
xvid_plugin_func xvid_plugin_psnr; /* stdout psnr calculator */ |
353 |
|
xvid_plugin_func xvid_plugin_dump; /* dump before and after yuvpgms */ |
354 |
|
|
355 |
|
|
356 |
|
|
357 |
/***************************************************************************** |
/***************************************************************************** |
372 |
{ |
{ |
373 |
XVID_PACKED = 0x00000001, /* packed bitstream */ |
XVID_PACKED = 0x00000001, /* packed bitstream */ |
374 |
XVID_CLOSED_GOP = 0x00000002, /* closed_gop: was DX50BVOP dx50 bvop compatibility */ |
XVID_CLOSED_GOP = 0x00000002, /* closed_gop: was DX50BVOP dx50 bvop compatibility */ |
|
XVID_EXTRASTATS_ENABLE = 0x00000004 |
|
375 |
/*define XVID_VOL_AT_IVOP 0x00000008 write vol at every ivop: WIN32/divx compatibility */ |
/*define XVID_VOL_AT_IVOP 0x00000008 write vol at every ivop: WIN32/divx compatibility */ |
376 |
/*define XVID_FORCE_VOL 0x00000008 XXX: when vol-based parameters are changed, insert an ivop NOT recommended */ |
/*define XVID_FORCE_VOL 0x00000008 XXX: when vol-based parameters are changed, insert an ivop NOT recommended */ |
377 |
} xvid_global_t; |
} xvid_global_t; |
391 |
/* vop-based flags */ |
/* vop-based flags */ |
392 |
typedef enum { |
typedef enum { |
393 |
XVID_DEBUG = 0x00000001, |
XVID_DEBUG = 0x00000001, |
394 |
XVID_EXTRASTATS = 0x00000002, |
|
395 |
XVID_HALFPEL = 0x00000004, /* use halfpel interpolation */ |
XVID_HALFPEL = 0x00000004, /* use halfpel interpolation */ |
396 |
XVID_INTER4V = 0x00000008, |
XVID_INTER4V = 0x00000008, |
397 |
XVID_LUMIMASKING = 0x00000010, |
XVID_LUMIMASKING = 0x00000010, |