ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/trunk/vfw/src/config.h
Revision: 235
Committed: Sun Jun 23 03:59:49 2002 UTC (22 years, 3 months ago) by suxen_drol
Content type: text/plain
File size: 4082 byte(s)
Log Message:
XVID_GLOBAL_*, XVID_CPU_CHKONLY

File Contents

# Content
1 #ifndef _CONFIG_H_
2 #define _CONFIG_H_
3
4 #include <windows.h>
5
6
7 HINSTANCE hInst;
8 HWND hTooltip;
9
10
11 /* small hack */
12 #ifndef IDC_HAND
13 #define IDC_HAND MAKEINTRESOURCE(32649)
14 #endif
15
16 /* one kilobit */
17 #define CONFIG_KBPS 1000
18
19 /* registry stuff */
20 #define XVID_REG_KEY HKEY_CURRENT_USER
21 #define XVID_REG_PARENT "Software\\GNU"
22 #define XVID_REG_CHILD "XviD"
23 #define XVID_REG_CLASS "config"
24
25 #define XVID_BUILD __TIME__ ", " __DATE__
26 #define XVID_WEBSITE "http://www.xvid.org"
27
28 /* constants */
29 #define CONFIG_HINTFILE "\\hintfile.mvh"
30 #define CONFIG_2PASS_1_FILE "\\video.stats"
31 #define CONFIG_2PASS_2_FILE "\\videogk.stats"
32
33 /* property sheets - sheets can be reordered here */
34 #define DLG_COUNT 6
35
36 #define DLG_GLOBAL 0
37 #define DLG_QUANT 1
38 #define DLG_2PASS 2
39 #define DLG_2PASSALT 3
40 #define DLG_CREDITS 4
41 #define DLG_CPU 5
42
43 /* codec modes */
44 #define DLG_MODE_CBR 0
45 #define DLG_MODE_VBR_QUAL 1
46 #define DLG_MODE_VBR_QUANT 2
47 #define DLG_MODE_2PASS_1 3
48 #define DLG_MODE_2PASS_2_EXT 4
49 #define DLG_MODE_2PASS_2_INT 5
50 #define DLG_MODE_NULL 6
51
52 /* quantizer modes */
53 #define QUANT_MODE_H263 0
54 #define QUANT_MODE_MPEG 1
55 #define QUANT_MODE_CUSTOM 2
56 #define QUANT_MODE_MOD 3
57
58 /* credits modes */
59 #define CREDITS_MODE_RATE 0
60 #define CREDITS_MODE_QUANT 1
61 #define CREDITS_MODE_SIZE 2
62
63 #define CREDITS_START 1
64 #define CREDITS_END 2
65
66 #define RAD2DEG 57.295779513082320876798154814105
67 #define DEG2RAD 0.017453292519943295769236907684886
68
69 typedef struct
70 {
71 /********** ATTENTION **********/
72 int mode; // Vidomi directly accesses these vars
73 int rc_bitrate; //
74 int desired_size; // please try to avoid modifications here
75 char stats1[MAX_PATH]; //
76 /*******************************/
77
78 int quality;
79 int quant;
80 int rc_reaction_delay_factor;
81 int rc_averaging_period;
82 int rc_buffer;
83
84 int motion_search;
85 int quant_type;
86 int fourcc_used;
87 int max_key_interval;
88 int min_key_interval;
89 int lum_masking;
90 int interlacing;
91 #ifdef BFRAMES
92 int max_bframes;
93 int bquant_ratio;
94 int packed;
95 int dx50bvop;
96 int debug;
97 #endif
98
99 int min_iquant;
100 int max_iquant;
101 int min_pquant;
102 int max_pquant;
103 BYTE qmatrix_intra[64];
104 BYTE qmatrix_inter[64];
105
106 int keyframe_boost;
107 int discard1pass;
108 int dummy2pass;
109 int curve_compression_high;
110 int curve_compression_low;
111 int use_alt_curve;
112 int alt_curve_use_auto;
113 int alt_curve_auto_str;
114 int alt_curve_use_auto_bonus_bias;
115 int alt_curve_bonus_bias;
116 int alt_curve_type;
117 int alt_curve_high_dist;
118 int alt_curve_low_dist;
119 int alt_curve_min_rel_qual;
120 int twopass_max_bitrate;
121 int twopass_max_overflow_improvement;
122 int twopass_max_overflow_degradation;
123 int bitrate_payback_delay;
124 int bitrate_payback_method;
125 int hinted_me;
126 char hintfile[MAX_PATH];
127 char stats2[MAX_PATH];
128
129 int credits_start;
130 int credits_start_begin;
131 int credits_start_end;
132 int credits_end;
133 int credits_end_begin;
134 int credits_end_end;
135
136 int credits_mode;
137 int credits_rate;
138 int credits_quant_i;
139 int credits_quant_p;
140 int credits_start_size;
141 int credits_end_size;
142
143 // char build[50];
144 DWORD cpu;
145 float fquant;
146 BOOL save;
147 } CONFIG;
148
149 typedef struct PROPSHEETINFO
150 {
151 int page;
152 CONFIG * config;
153 } PROPSHEETINFO;
154
155 typedef struct REG_INT
156 {
157 char* reg_value;
158 int* config_int;
159 int def;
160 } REG_INT;
161
162 typedef struct REG_STR
163 {
164 char* reg_value;
165 char* config_str;
166 char* def;
167 } REG_STR;
168
169 void config_reg_get(CONFIG *);
170 void config_reg_set(CONFIG *);
171 void config_reg_default(CONFIG *);
172 int config_get_int(HWND, INT, int);
173 int config_get_uint(HWND, UINT, int);
174 void main_download(HWND, CONFIG *);
175 void main_slider(HWND, CONFIG *);
176 void main_value(HWND, CONFIG *);
177 void adv_dialog(HWND, CONFIG *);
178 void adv_mode(HWND, int);
179 void adv_upload(HWND, int, CONFIG *);
180 void adv_download(HWND, int, CONFIG *);
181 void quant_upload(HWND, CONFIG *);
182 void quant_download(HWND, CONFIG *);
183 BOOL CALLBACK enum_tooltips(HWND, LPARAM);
184 BOOL CALLBACK main_proc(HWND, UINT, WPARAM, LPARAM);
185 BOOL CALLBACK adv_proc(HWND, UINT, WPARAM, LPARAM);
186 BOOL CALLBACK quantmatrix_proc(HWND, UINT, WPARAM, LPARAM);
187 BOOL CALLBACK about_proc(HWND, UINT, WPARAM, LPARAM);
188
189 #endif /* _CONFIG_H_ */