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.10 2003-03-23 04:01:49 suxen_drol Exp $ |
* $Id: xvid.h,v 1.27.2.12 2003-03-26 11:01:03 suxen_drol Exp $ |
23 |
* |
* |
24 |
****************************************************************************/ |
****************************************************************************/ |
25 |
|
|
370 |
|
|
371 |
xvid_plugin_func xvid_plugin_fixed; /* fixed quantizer control */ |
xvid_plugin_func xvid_plugin_fixed; /* fixed quantizer control */ |
372 |
xvid_plugin_func xvid_plugin_cbr; /* constant bitrate control */ |
xvid_plugin_func xvid_plugin_cbr; /* constant bitrate control */ |
373 |
xvid_plugin_func xvid_plugin_2pass1; /* 2pass rate control: pass 1 */ |
xvid_plugin_func xvid_plugin_2pass1; /* 2pass rate control: first pass */ |
374 |
|
xvid_plugin_func xvid_plugin_2pass2; /* 2pass rate control: second pass */ |
375 |
|
|
376 |
xvid_plugin_func xvid_plugin_lumimasking; /* lumimasking */ |
xvid_plugin_func xvid_plugin_lumimasking; /* lumimasking */ |
377 |
|
|
405 |
} xvid_plugin_2pass1_t; |
} xvid_plugin_2pass1_t; |
406 |
|
|
407 |
|
|
408 |
|
#define XVID_CURVE_COSINE 0 /* low aggressiveness */ |
409 |
|
#define XVID_CURVE_LINEAR 1 /* medium aggressiveness */ |
410 |
|
#define XVID_CURVE_SINE 2 /* high aggressiveness */ |
411 |
|
|
412 |
|
#define XVID_PAYBACK_BIAS 0 /* payback with bias */ |
413 |
|
#define XVID_PAYBACK_PROP 1 /* payback proportionally */ |
414 |
|
|
415 |
|
typedef struct { |
416 |
|
int version; |
417 |
|
char * filename1; |
418 |
|
char * filename2; |
419 |
|
|
420 |
|
int keyframe_boost; /* keyframe boost percentage: [0..100...]; */ |
421 |
|
int payback_method; |
422 |
|
int bitrate_payback_delay; |
423 |
|
int curve_compression_high; |
424 |
|
int curve_compression_low; |
425 |
|
int max_overflow_improvement; |
426 |
|
int max_overflow_degradation; |
427 |
|
int min_quant[3]; |
428 |
|
int max_quant[3]; |
429 |
|
|
430 |
|
int use_alt_curve; |
431 |
|
int alt_curve_high_dist; |
432 |
|
int alt_curve_low_dist; |
433 |
|
int alt_curve_use_auto; |
434 |
|
int alt_curve_auto_str; |
435 |
|
int alt_curve_type; /* XVID_CURVE_ */ |
436 |
|
int alt_curve_min_rel_qual; |
437 |
|
int alt_curve_use_auto_bonus_bias; |
438 |
|
int alt_curve_bonus_bias; |
439 |
|
|
440 |
|
int kftreshold; |
441 |
|
int kfreduction; |
442 |
|
int min_key_interval; |
443 |
|
}xvid_plugin_2pass2_t; |
444 |
|
|
445 |
|
|
446 |
/***************************************************************************** |
/***************************************************************************** |
575 |
xvid_enc_create_t; |
xvid_enc_create_t; |
576 |
|
|
577 |
|
|
|
typedef struct { |
|
|
int version; |
|
|
int type; /* [in] rate control type: XVID_RC_xxx */ |
|
|
|
|
|
/* common stuff */ |
|
|
int min_iquant; /* [in:opt] ivop quantizer upper/lower limit */ |
|
|
int max_iquant; /* [in:opt] */ |
|
|
int min_pquant; /* [in:opt] psvop quantizer upper/lower limit */ |
|
|
int max_pquant; /* [in:opt] */ |
|
|
int min_bquant; /* [in:opt] bvop quantizer upper/lower limit */ |
|
|
int max_bquant; /* [in:opt] */ |
|
|
|
|
|
union { |
|
|
struct { /* XVID_RC_FQUANT */ |
|
|
float quant; /* [in] quantizer */ |
|
|
} fquant; |
|
|
struct { /* XVID_RC_CBR */ |
|
|
int bitrate; /* [in] the bitrate of the target encoded stream, in bits/second */ |
|
|
int reaction_delay_factor; /* [in] how fast the rate control reacts - lower values are faster */ |
|
|
int averaging_period; /* [in] */ |
|
|
int buffer; /* [in] */ |
|
|
} cbr; |
|
|
} data; |
|
|
} xvid_enc_rc_t; |
|
|
|
|
|
|
|
|
|
|
578 |
#define XVID_KEYFRAME 0x00000001 |
#define XVID_KEYFRAME 0x00000001 |
579 |
|
|
580 |
typedef struct { |
typedef struct { |