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.8 2003-03-15 17:03:17 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 |
|
#define XVID_REQPSNR 2 /* plugin requires psnr between the uncompressed and compressed image*/ |
276 |
|
|
277 |
|
|
278 |
typedef struct |
typedef struct |
297 |
{ |
{ |
298 |
int version; |
int version; |
299 |
|
|
300 |
xvid_image_t reference; |
int width; /* [out] */ |
301 |
xvid_image_t current; |
int height; /* [out] */ |
302 |
xvid_image_t original; /* after: points the original (uncompressed) copy of the current frame */ |
int fincr; /* [out] */ |
303 |
|
int fbase; /* [out] */ |
304 |
|
|
305 |
|
xvid_image_t reference; /* [out] -> [out] */ |
306 |
|
xvid_image_t current; /* [out] -> [in,out] */ |
307 |
|
xvid_image_t original; /* [out] after: points the original (uncompressed) copy of the current frame */ |
308 |
|
int frame_num; /* [out] frame number */ |
309 |
|
|
310 |
int type; /* [in,out] */ |
int type; /* [in,out] */ |
311 |
int quant; /* [in,out] */ |
int quant; /* [in,out] */ |
319 |
|
|
320 |
int length; /* [out] after: length of encoded frame */ |
int length; /* [out] after: length of encoded frame */ |
321 |
int kblks, mblks, ublks; /* [out] after: */ |
int kblks, mblks, ublks; /* [out] after: */ |
322 |
|
int sse_y, sse_u, sse_v; /* [out] */ |
323 |
} xvid_plg_data_t; |
} xvid_plg_data_t; |
324 |
|
|
325 |
|
|
351 |
void * param; |
void * param; |
352 |
} xvid_enc_plugin_t; |
} xvid_enc_plugin_t; |
353 |
|
|
354 |
|
xvid_plugin_func xvid_plugin_psnr; /* stdout psnr calculator */ |
355 |
|
xvid_plugin_func xvid_plugin_dump; /* dump before and after yuvpgms */ |
356 |
|
|
357 |
|
|
358 |
|
|
359 |
/***************************************************************************** |
/***************************************************************************** |
384 |
/* vol-based flags */ |
/* vol-based flags */ |
385 |
typedef enum { |
typedef enum { |
386 |
XVID_MPEGQUANT = 0x00000001, |
XVID_MPEGQUANT = 0x00000001, |
387 |
|
XVID_EXTRASTATS = 0x00000002, |
388 |
XVID_QUARTERPEL = 0x00000004, /* enable quarterpel: frames will encoded as quarterpel */ |
XVID_QUARTERPEL = 0x00000004, /* enable quarterpel: frames will encoded as quarterpel */ |
389 |
XVID_GMC = 0x00000008, /* enable GMC; frames will be checked for gmc suitability */ |
XVID_GMC = 0x00000008, /* enable GMC; frames will be checked for gmc suitability */ |
390 |
XVID_REDUCED_ENABLE = 0x00000010, /* enable reduced resolution vops: frames will be checked for rrv suitability */ |
XVID_REDUCED_ENABLE = 0x00000010, /* enable reduced resolution vops: frames will be checked for rrv suitability */ |
395 |
/* vop-based flags */ |
/* vop-based flags */ |
396 |
typedef enum { |
typedef enum { |
397 |
XVID_DEBUG = 0x00000001, |
XVID_DEBUG = 0x00000001, |
398 |
XVID_EXTRASTATS = 0x00000002, |
|
399 |
XVID_HALFPEL = 0x00000004, /* use halfpel interpolation */ |
XVID_HALFPEL = 0x00000004, /* use halfpel interpolation */ |
400 |
XVID_INTER4V = 0x00000008, |
XVID_INTER4V = 0x00000008, |
401 |
XVID_LUMIMASKING = 0x00000010, |
XVID_LUMIMASKING = 0x00000010, |
534 |
int par_height; /* [in:opt] aspect ratio height */ |
int par_height; /* [in:opt] aspect ratio height */ |
535 |
/* ^^^----------------------------------------------------------------------------------*/ |
/* ^^^----------------------------------------------------------------------------------*/ |
536 |
|
|
537 |
|
int fincr; /* framerate increment, for variable framerate only */ |
538 |
xvid_vop_t vop_flags; /* [in] (general)vop-based flags */ |
xvid_vop_t vop_flags; /* [in] (general)vop-based flags */ |
539 |
xvid_motion_t motion; /* [in] ME options */ |
xvid_motion_t motion; /* [in] ME options */ |
540 |
|
|