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.8 2003-03-15 17:03:17 suxen_drol Exp $ |
* $Id: xvid.h,v 1.27.2.9 2003-03-16 12:04:14 suxen_drol Exp $ |
23 |
* |
* |
24 |
****************************************************************************/ |
****************************************************************************/ |
25 |
|
|
239 |
int time_increment; /* [out] time increment */ |
int time_increment; /* [out] time increment */ |
240 |
|
|
241 |
/* XXX: external deblocking stuff */ |
/* XXX: external deblocking stuff */ |
242 |
unsigned char * qscale; /* [out] pointer to quantizer table */ |
int * qscale; /* [out] pointer to quantizer table */ |
243 |
int qscale_stride; /* [out] quantizer scale stride */ |
int qscale_stride; /* [out] quantizer scale stride */ |
244 |
|
|
245 |
} vop; |
} vop; |
273 |
/* xvid_plg_info_t.flags */ |
/* xvid_plg_info_t.flags */ |
274 |
#define XVID_REQORIGINAL 1 /* plugin requires a copy of the original (uncompressed) image */ |
#define XVID_REQORIGINAL 1 /* plugin requires a copy of the original (uncompressed) image */ |
275 |
#define XVID_REQPSNR 2 /* plugin requires psnr between the uncompressed and compressed image*/ |
#define XVID_REQPSNR 2 /* plugin requires psnr between the uncompressed and compressed image*/ |
276 |
|
#define XVID_REQDQUANTS 3 /* plugin requires access to the dquant table */ |
277 |
|
|
278 |
|
|
279 |
typedef struct |
typedef struct |
287 |
{ |
{ |
288 |
int version; |
int version; |
289 |
|
|
290 |
int width, height; |
int width; |
291 |
int fincr, fbase; |
int height; |
292 |
|
int mb_width; |
293 |
|
int mb_height; |
294 |
|
int fincr; |
295 |
|
int fbase; |
296 |
|
|
297 |
void * param; |
void * param; |
298 |
} xvid_plg_create_t; |
} xvid_plg_create_t; |
304 |
|
|
305 |
int width; /* [out] */ |
int width; /* [out] */ |
306 |
int height; /* [out] */ |
int height; /* [out] */ |
307 |
|
int mb_width; /* [out] */ |
308 |
|
int mb_height; /* [out] */ |
309 |
int fincr; /* [out] */ |
int fincr; /* [out] */ |
310 |
int fbase; /* [out] */ |
int fbase; /* [out] */ |
311 |
|
|
317 |
int type; /* [in,out] */ |
int type; /* [in,out] */ |
318 |
int quant; /* [in,out] */ |
int quant; /* [in,out] */ |
319 |
|
|
320 |
unsigned char * qscale; /* [in,out] pointer to quantizer table */ |
int * dquant; /* [in,out] pointer to diff quantizer table */ |
321 |
int qscale_stride; /* [in,out] quantizer scale stride */ |
int dquant_stride; /* [in,out] diff quantizer stride */ |
322 |
|
|
323 |
int vop_flags; /* [in,out] */ |
int vop_flags; /* [in,out] */ |
324 |
int vol_flags; /* [in,out] */ |
int vol_flags; /* [in,out] */ |
358 |
void * param; |
void * param; |
359 |
} xvid_enc_plugin_t; |
} xvid_enc_plugin_t; |
360 |
|
|
361 |
xvid_plugin_func xvid_plugin_psnr; /* stdout psnr calculator */ |
xvid_plugin_func xvid_plugin_psnr; /* write psnr values to stdout */ |
362 |
xvid_plugin_func xvid_plugin_dump; /* dump before and after yuvpgms */ |
xvid_plugin_func xvid_plugin_dump; /* dump before and after yuvpgms */ |
363 |
|
xvid_plugin_func xvid_plugin_lumimasking; /* lumimasking */ |
364 |
|
|
365 |
|
|
366 |
/***************************************************************************** |
/***************************************************************************** |
405 |
|
|
406 |
XVID_HALFPEL = 0x00000004, /* use halfpel interpolation */ |
XVID_HALFPEL = 0x00000004, /* use halfpel interpolation */ |
407 |
XVID_INTER4V = 0x00000008, |
XVID_INTER4V = 0x00000008, |
|
XVID_LUMIMASKING = 0x00000010, |
|
408 |
|
|
409 |
XVID_CHROMAOPT = 0x00000020, /* enable chroma optimization pre-filter */ |
XVID_CHROMAOPT = 0x00000020, /* enable chroma optimization pre-filter */ |
410 |
XVID_GREYSCALE = 0x00000040, /* enable greyscale only mode (even for |
XVID_GREYSCALE = 0x00000040, /* enable greyscale only mode (even for |
548 |
|
|
549 |
int type; /* [in:opt] coding type */ |
int type; /* [in:opt] coding type */ |
550 |
int quant; /* [in] frame quantizer; if <=0, automatatic (ratecontrol) */ |
int quant; /* [in] frame quantizer; if <=0, automatatic (ratecontrol) */ |
|
int bquant; /* [in:opt] bframe quantizer; if <=0, automatic*/ |
|
551 |
|
|
552 |
void *bitstream; /* [in:opt] bitstream ptr (written to)*/ |
void *bitstream; /* [in:opt] bitstream ptr (written to)*/ |
553 |
int length; /* [in:opt] bitstream length (bytes) */ |
int length; /* [in:opt] bitstream length (bytes) */ |