comparison libmpcodecs/ve_lavc.c @ 7152:5d8f64646cb5

dct selection support
author michael
date Fri, 30 Aug 2002 00:38:42 +0000
parents 1e47c2e7aa8e
children a894e99c1e51
comparison
equal deleted inserted replaced
7151:9e17b153b785 7152:5d8f64646cb5
83 static float lavc_param_rc_buffer_aggressivity=1.0; 83 static float lavc_param_rc_buffer_aggressivity=1.0;
84 static int lavc_param_rc_max_rate=0; 84 static int lavc_param_rc_max_rate=0;
85 static int lavc_param_rc_min_rate=0; 85 static int lavc_param_rc_min_rate=0;
86 static float lavc_param_rc_initial_cplx=0; 86 static float lavc_param_rc_initial_cplx=0;
87 static int lavc_param_mpeg_quant=0; 87 static int lavc_param_mpeg_quant=0;
88 static int lavc_param_fdct=0;
88 89
89 #include "cfgparser.h" 90 #include "cfgparser.h"
90 91
91 #ifdef USE_LIBAVCODEC 92 #ifdef USE_LIBAVCODEC
92 struct config lavcopts_conf[]={ 93 struct config lavcopts_conf[]={
136 {"vrc_minrate", &lavc_param_rc_min_rate, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL}, 137 {"vrc_minrate", &lavc_param_rc_min_rate, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL},
137 {"vrc_buf_size", &lavc_param_rc_min_rate, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL}, 138 {"vrc_buf_size", &lavc_param_rc_min_rate, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL},
138 {"vrc_buf_aggressivity", &lavc_param_rc_buffer_aggressivity, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 99.0, NULL}, 139 {"vrc_buf_aggressivity", &lavc_param_rc_buffer_aggressivity, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 99.0, NULL},
139 {"vrc_init_cplx", &lavc_param_rc_initial_cplx, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 9999999.0, NULL}, 140 {"vrc_init_cplx", &lavc_param_rc_initial_cplx, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 9999999.0, NULL},
140 #endif 141 #endif
142 #if LIBAVCODEC_BUILD >= 4621
143 {"vfdct", &lavc_param_fdct, CONF_TYPE_INT, CONF_RANGE, 0, 10, NULL},
144 #endif
141 {NULL, NULL, 0, 0, 0, 0, NULL} 145 {NULL, NULL, 0, 0, 0, 0, NULL}
142 }; 146 };
143 #endif 147 #endif
144 148
145 struct vf_priv_s { 149 struct vf_priv_s {
207 lavc_venc_context.rc_max_rate= lavc_param_rc_max_rate*1000; 211 lavc_venc_context.rc_max_rate= lavc_param_rc_max_rate*1000;
208 lavc_venc_context.rc_min_rate= lavc_param_rc_min_rate*1000; 212 lavc_venc_context.rc_min_rate= lavc_param_rc_min_rate*1000;
209 lavc_venc_context.rc_buffer_size= lavc_param_rc_buffer_size*1000; 213 lavc_venc_context.rc_buffer_size= lavc_param_rc_buffer_size*1000;
210 lavc_venc_context.rc_buffer_aggressivity= lavc_param_rc_buffer_aggressivity; 214 lavc_venc_context.rc_buffer_aggressivity= lavc_param_rc_buffer_aggressivity;
211 lavc_venc_context.rc_initial_cplx= lavc_param_rc_initial_cplx; 215 lavc_venc_context.rc_initial_cplx= lavc_param_rc_initial_cplx;
216
212 p= lavc_param_rc_override_string; 217 p= lavc_param_rc_override_string;
213 for(i=0; p; i++){ 218 for(i=0; p; i++){
214 int start, end, q; 219 int start, end, q;
215 int e=sscanf(p, "%d,%d,%d", &start, &end, &q); 220 int e=sscanf(p, "%d,%d,%d", &start, &end, &q);
216 if(e!=3){ 221 if(e!=3){
236 #endif 241 #endif
237 242
238 #if LIBAVCODEC_BUILD >= 4619 243 #if LIBAVCODEC_BUILD >= 4619
239 lavc_venc_context.mpeg_quant=lavc_param_mpeg_quant; 244 lavc_venc_context.mpeg_quant=lavc_param_mpeg_quant;
240 #endif 245 #endif
241 246
247 #if LIBAVCODEC_BUILD >= 4621
248 lavc_venc_context.dct_algo= lavc_param_fdct;
249 #endif
250
242 /* keyframe interval */ 251 /* keyframe interval */
243 if (lavc_param_keyint >= 0) /* != -1 */ 252 if (lavc_param_keyint >= 0) /* != -1 */
244 lavc_venc_context.gop_size = lavc_param_keyint; 253 lavc_venc_context.gop_size = lavc_param_keyint;
245 else 254 else
246 lavc_venc_context.gop_size = 250; /* default */ 255 lavc_venc_context.gop_size = 250; /* default */