Parent Directory | Revision Log
Revision 2096 - (view) (download)
1 : | Isibaar | 2096 | /***************************************************************************** |
2 : | * | ||
3 : | * XVID MPEG-4 VIDEO CODEC | ||
4 : | * - VFW configuration header - | ||
5 : | * | ||
6 : | * Copyright(C) Peter Ross <pross@xvid.org> | ||
7 : | * | ||
8 : | * This program is free software ; you can redistribute it and/or modify | ||
9 : | * it under the terms of the GNU General Public License as published by | ||
10 : | * the Free Software Foundation ; either version 2 of the License, or | ||
11 : | * (at your option) any later version. | ||
12 : | * | ||
13 : | * This program is distributed in the hope that it will be useful, | ||
14 : | * but WITHOUT ANY WARRANTY ; without even the implied warranty of | ||
15 : | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 : | * GNU General Public License for more details. | ||
17 : | * | ||
18 : | * You should have received a copy of the GNU General Public License | ||
19 : | * along with this program ; if not, write to the Free Software | ||
20 : | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 : | * | ||
22 : | * $Id: config.h 2014 2011-05-31 08:55:11Z Irhall $ | ||
23 : | * | ||
24 : | ****************************************************************************/ | ||
25 : | |||
26 : | #ifndef _CONFIG_H_ | ||
27 : | #define _CONFIG_H_ | ||
28 : | |||
29 : | /* codec modes */ | ||
30 : | #define RC_MODE_1PASS 0 | ||
31 : | #define RC_MODE_2PASS1 1 | ||
32 : | #define RC_MODE_2PASS2 2 | ||
33 : | #define RC_MODE_NULL 3 | ||
34 : | |||
35 : | #define RC_ZONE_WEIGHT 0 | ||
36 : | #define RC_ZONE_QUANT 1 | ||
37 : | |||
38 : | /* vhq modes */ | ||
39 : | #define VHQ_OFF 0 | ||
40 : | #define VHQ_MODE_DECISION 1 | ||
41 : | #define VHQ_LIMITED_SEARCH 2 | ||
42 : | #define VHQ_MEDIUM_SEARCH 3 | ||
43 : | #define VHQ_WIDE_SEARCH 4 | ||
44 : | |||
45 : | /* quantizer modes */ | ||
46 : | #define QUANT_MODE_H263 0 | ||
47 : | #define QUANT_MODE_MPEG 1 | ||
48 : | #define QUANT_MODE_CUSTOM 2 | ||
49 : | |||
50 : | |||
51 : | #define MAX_ZONES 64 | ||
52 : | typedef struct | ||
53 : | { | ||
54 : | int frame; | ||
55 : | |||
56 : | int type; | ||
57 : | int mode; | ||
58 : | int weight; | ||
59 : | int quant; | ||
60 : | |||
61 : | unsigned int greyscale; | ||
62 : | unsigned int chroma_opt; | ||
63 : | unsigned int bvop_threshold; | ||
64 : | unsigned int cartoon_mode; | ||
65 : | } zone_t; | ||
66 : | |||
67 : | |||
68 : | /* this structure represents a quality preset. it encapsulates | ||
69 : | options from the motion and quantizer config pages. */ | ||
70 : | #define QUALITY_GENERAL_STRING "General purpose" | ||
71 : | #define QUALITY_USER_STRING "(User defined)" | ||
72 : | typedef struct { | ||
73 : | char * name; | ||
74 : | /* motion */ | ||
75 : | int motion_search; | ||
76 : | int vhq_mode; | ||
77 : | int vhq_metric; | ||
78 : | int vhq_bframe; | ||
79 : | int chromame; | ||
80 : | int turbo; | ||
81 : | int max_key_interval; | ||
82 : | int frame_drop_ratio; | ||
83 : | |||
84 : | /* quant */ | ||
85 : | int min_iquant; | ||
86 : | int max_iquant; | ||
87 : | int min_pquant; | ||
88 : | int max_pquant; | ||
89 : | int min_bquant; | ||
90 : | int max_bquant; | ||
91 : | int trellis_quant; | ||
92 : | } quality_t; | ||
93 : | |||
94 : | |||
95 : | typedef struct | ||
96 : | { | ||
97 : | /********** ATTENTION **********/ | ||
98 : | int mode; /* Vidomi directly accesses these vars */ | ||
99 : | int bitrate; | ||
100 : | int desired_size; /* please try to avoid modifications here */ | ||
101 : | char stats[MAX_PATH]; | ||
102 : | /*******************************/ | ||
103 : | int use_2pass_bitrate; /* use bitrate for 2pass2 (instead of desired size) */ | ||
104 : | int desired_quant; /* for one-pass constant quant */ | ||
105 : | |||
106 : | /* profile */ | ||
107 : | char profile_name[MAX_PATH]; | ||
108 : | int profile; /* used internally; *not* written to registry */ | ||
109 : | |||
110 : | /* quality preset */ | ||
111 : | char quality_name[MAX_PATH]; | ||
112 : | int quality; /* used internally; *not* written to registry */ | ||
113 : | |||
114 : | int quant_type; | ||
115 : | BYTE qmatrix_intra[64]; | ||
116 : | BYTE qmatrix_inter[64]; | ||
117 : | int lum_masking; | ||
118 : | int interlacing; | ||
119 : | int tff; | ||
120 : | int qpel; | ||
121 : | int gmc; | ||
122 : | int use_bvop; | ||
123 : | int max_bframes; | ||
124 : | int bquant_ratio; | ||
125 : | int bquant_offset; | ||
126 : | int packed; | ||
127 : | int display_aspect_ratio; /* aspect ratio */ | ||
128 : | int ar_x, ar_y; /* picture aspect ratio */ | ||
129 : | int par_x, par_y; /* custom pixel aspect ratio */ | ||
130 : | int ar_mode; /* picture/pixel AR */ | ||
131 : | |||
132 : | /* zones */ | ||
133 : | int num_zones; | ||
134 : | zone_t zones[MAX_ZONES]; | ||
135 : | int cur_zone; /* used internally; *not* written to registry */ | ||
136 : | |||
137 : | /* single pass */ | ||
138 : | int rc_reaction_delay_factor; | ||
139 : | int rc_averaging_period; | ||
140 : | int rc_buffer; | ||
141 : | |||
142 : | /* 2pass1 */ | ||
143 : | int discard1pass; | ||
144 : | |||
145 : | /* 2pass2 */ | ||
146 : | int keyframe_boost; | ||
147 : | int kfthreshold; | ||
148 : | int kfreduction; | ||
149 : | int curve_compression_high; | ||
150 : | int curve_compression_low; | ||
151 : | int overflow_control_strength; | ||
152 : | int twopass_max_overflow_improvement; | ||
153 : | int twopass_max_overflow_degradation; | ||
154 : | |||
155 : | /* bitrate calculator */ | ||
156 : | int target_size; | ||
157 : | int subtitle_size; | ||
158 : | int container_type; | ||
159 : | int hours; | ||
160 : | int minutes; | ||
161 : | int seconds; | ||
162 : | int fps; | ||
163 : | int audio_mode; | ||
164 : | int audio_type; | ||
165 : | int audio_rate; | ||
166 : | int audio_size; | ||
167 : | |||
168 : | /* user defined quality settings */ | ||
169 : | quality_t quality_user; | ||
170 : | |||
171 : | /* debug */ | ||
172 : | int num_threads; | ||
173 : | int fourcc_used; | ||
174 : | int vop_debug; | ||
175 : | int debug; | ||
176 : | int display_status; | ||
177 : | int full1pass; | ||
178 : | |||
179 : | DWORD cpu; | ||
180 : | |||
181 : | int num_slices; | ||
182 : | |||
183 : | /* internal */ | ||
184 : | int ci_valid; | ||
185 : | DWORD ci[7]; | ||
186 : | |||
187 : | BOOL save; | ||
188 : | } CONFIG; | ||
189 : | |||
190 : | #endif /* _CONFIG_H_ */ |
No admin address has been configured | ViewVC Help |
Powered by ViewVC 1.0.4 |