--- encoder.h 2003/03/15 14:32:56 1.27.2.3 +++ encoder.h 2003/06/09 01:16:35 1.27.2.9 @@ -36,7 +36,7 @@ * support for EXTENDED API * - 22.08.2001 fixed bug in iDQtab * - * $Id: encoder.h,v 1.27.2.3 2003/03/15 14:32:56 suxen_drol Exp $ + * $Id: encoder.h,v 1.27.2.9 2003/06/09 01:16:35 edgomez Exp $ * ****************************************************************************/ @@ -46,19 +46,11 @@ #include "xvid.h" #include "portab.h" #include "global.h" -#include "utils/ratecontrol.h" /***************************************************************************** * Constants ****************************************************************************/ -/* Quatization type */ -#define H263_QUANT 0 -#define MPEG4_QUANT 1 - -/* Indicates no quantizer changes in INTRA_Q/INTER_Q modes */ -#define NO_CHANGE 64 - /***************************************************************************** * Types ****************************************************************************/ @@ -86,11 +78,16 @@ uint32_t fincr; uint32_t fbase; + int profile; + xvid_global_t global_flags; int bquant_ratio; int bquant_offset; int frame_drop_ratio; + int min_quant[3]; + int max_quant[3]; + #ifdef _SMP int num_threads; #endif @@ -141,6 +138,7 @@ typedef struct { int frame_num; + int fincr; xvid_vol_t vol_flags; xvid_vop_t vop_flags; xvid_motion_t motion_flags; @@ -159,8 +157,8 @@ MACROBLOCK *mbs; - WARPPOINTS warp; // as in bitstream - GMC_DATA gmc_data; // common data for all MBs + WARPPOINTS warp; /* as in bitstream */ + GMC_DATA gmc_data; /* common data for all MBs */ int length; /* the encoded size of this frame */ @@ -176,15 +174,19 @@ int iFrameNum; int bitrate; - // plugins - int num_plugins; /* note: we store plugin flags in MBPARAM */ + /* zones */ + unsigned int num_zones; + xvid_enc_zone_t * zones; + + /* plugins */ + unsigned int num_plugins; /* note: we store plugin flags in MBPARAM */ xvid_enc_plugin_t * plugins; - // dquant + /* dquant */ int * temp_dquants; - // images + /* images */ FRAMEINFO *current; FRAMEINFO *reference; @@ -221,8 +223,6 @@ int m_framenum; /* debug frame num counter; unlike iFrameNum, does not reset at ivop */ - RateControl rate_control; - float fMvPrevSigma; } Encoder; @@ -266,7 +266,7 @@ void init_encoder(uint32_t cpu_flags); -int enc_create(xvid_enc_create_t * create, xvid_enc_rc_t * rc); +int enc_create(xvid_enc_create_t * create); int enc_destroy(Encoder * pEnc); int enc_encode(Encoder * pEnc, xvid_enc_frame_t * pFrame,