--- trunk/vfw/src/config.h 2002/03/16 11:40:48 30 +++ trunk/vfw/src/config.h 2002/06/20 10:51:08 228 @@ -5,6 +5,7 @@ HINSTANCE hInst; +HWND hTooltip; /* small hack */ @@ -21,21 +22,23 @@ #define XVID_REG_CHILD "XviD" #define XVID_REG_CLASS "config" -#define XVID_HELP "Move cursor over item to view help" +#define XVID_BUILD __TIME__ ", " __DATE__ #define XVID_WEBSITE "http://www.xvid.org" /* constants */ +#define CONFIG_HINTFILE "\\hintfile.mvh" #define CONFIG_2PASS_1_FILE "\\video.stats" #define CONFIG_2PASS_2_FILE "\\videogk.stats" /* property sheets - sheets can be reordered here */ -#define DLG_COUNT 5 +#define DLG_COUNT 6 #define DLG_GLOBAL 0 #define DLG_QUANT 1 #define DLG_2PASS 2 -#define DLG_CREDITS 3 -#define DLG_CPU 4 +#define DLG_2PASSALT 3 +#define DLG_CREDITS 4 +#define DLG_CPU 5 /* codec modes */ #define DLG_MODE_CBR 0 @@ -60,20 +63,36 @@ #define CREDITS_START 1 #define CREDITS_END 2 +#define RAD2DEG 57.295779513082320876798154814105 +#define DEG2RAD 0.017453292519943295769236907684886 typedef struct { - int mode; - int bitrate; +/********** ATTENTION **********/ + int mode; // Vidomi directly accesses these vars + int rc_bitrate; // + int desired_size; // please try to avoid modifications here + char stats1[MAX_PATH]; // +/*******************************/ + int quality; int quant; - int rc_buffersize; + int rc_reaction_delay_factor; + int rc_averaging_period; + int rc_buffer; int motion_search; int quant_type; int fourcc_used; int max_key_interval; + int min_key_interval; int lum_masking; + int interlacing; +#ifdef BFRAMES + int max_bframes; + int bquant_ratio; + int packed; +#endif int min_iquant; int max_iquant; @@ -82,16 +101,27 @@ BYTE qmatrix_intra[64]; BYTE qmatrix_inter[64]; - int desired_size; int keyframe_boost; - int min_key_interval; int discard1pass; int dummy2pass; int curve_compression_high; int curve_compression_low; + int use_alt_curve; + int alt_curve_use_auto; + int alt_curve_auto_str; + int alt_curve_use_auto_bonus_bias; + int alt_curve_bonus_bias; + int alt_curve_type; + int alt_curve_high_dist; + int alt_curve_low_dist; + int alt_curve_min_rel_qual; + int twopass_max_bitrate; + int twopass_max_overflow_improvement; + int twopass_max_overflow_degradation; int bitrate_payback_delay; int bitrate_payback_method; - char stats1[MAX_PATH]; + int hinted_me; + char hintfile[MAX_PATH]; char stats2[MAX_PATH]; int credits_start; @@ -108,30 +138,37 @@ int credits_start_size; int credits_end_size; +// char build[50]; DWORD cpu; - float fquant; - BOOL save; } CONFIG; -typedef struct HELPRECT -{ - int item; - RECT rect; -} HELPRECT; - typedef struct PROPSHEETINFO { int page; CONFIG * config; } PROPSHEETINFO; +typedef struct REG_INT +{ + char* reg_value; + int* config_int; + int def; +} REG_INT; + +typedef struct REG_STR +{ + char* reg_value; + char* config_str; + char* def; +} REG_STR; void config_reg_get(CONFIG *); void config_reg_set(CONFIG *); void config_reg_default(CONFIG *); -int config_get_int(HWND, UINT, int); +int config_get_int(HWND, INT, int); +int config_get_uint(HWND, UINT, int); void main_download(HWND, CONFIG *); void main_slider(HWND, CONFIG *); void main_value(HWND, CONFIG *); @@ -141,7 +178,7 @@ void adv_download(HWND, int, CONFIG *); void quant_upload(HWND, CONFIG *); void quant_download(HWND, CONFIG *); -LRESULT CALLBACK msg_proc(int, WPARAM, LPARAM); +BOOL CALLBACK enum_tooltips(HWND, LPARAM); BOOL CALLBACK main_proc(HWND, UINT, WPARAM, LPARAM); BOOL CALLBACK adv_proc(HWND, UINT, WPARAM, LPARAM); BOOL CALLBACK quantmatrix_proc(HWND, UINT, WPARAM, LPARAM);