Mercurial > libavcodec.hg
comparison opt.c @ 3702:7e7d8a3fe080 libavcodec
make AVOptions default value field work.
Patch by Panagiotis Issaris % takis P issaris A uhasselt P be %
Original thread:
Date: Sep 8, 2006 3:22 PM
Subject: [Ffmpeg-devel] [PATCH 1/2] Enable usage of AVOption default value
author | gpoirier |
---|---|
date | Sun, 10 Sep 2006 20:21:40 +0000 |
parents | 25493c849d70 |
children | 301d975b69e3 |
comparison
equal
deleted
inserted
replaced
3701:4ba77dc980f1 | 3702:7e7d8a3fe080 |
---|---|
297 av_log(av_log_obj, AV_LOG_INFO, " %s", opt->help); | 297 av_log(av_log_obj, AV_LOG_INFO, " %s", opt->help); |
298 av_log(av_log_obj, AV_LOG_INFO, "\n"); | 298 av_log(av_log_obj, AV_LOG_INFO, "\n"); |
299 } | 299 } |
300 return 0; | 300 return 0; |
301 } | 301 } |
302 | |
303 void av_opt_set_defaults(void *s) | |
304 { | |
305 AVOption *opt = NULL; | |
306 while ((opt = av_next_option(s, opt)) != NULL) { | |
307 switch(opt->type) { | |
308 case FF_OPT_TYPE_CONST: | |
309 /* Nothing to be done here */ | |
310 break; | |
311 case FF_OPT_TYPE_FLAGS: | |
312 case FF_OPT_TYPE_INT: { | |
313 int val; | |
314 val = opt->default_val; | |
315 av_set_int(s, opt->name, val); | |
316 } | |
317 break; | |
318 case FF_OPT_TYPE_FLOAT: { | |
319 double val; | |
320 val = opt->default_val; | |
321 av_set_double(s, opt->name, val); | |
322 } | |
323 break; | |
324 case FF_OPT_TYPE_RATIONAL: { | |
325 AVRational val; | |
326 val = av_d2q(opt->default_val, INT_MAX); | |
327 av_set_q(s, opt->name, val); | |
328 } | |
329 break; | |
330 case FF_OPT_TYPE_STRING: | |
331 /* Cannot set default for string as default_val is of type * double */ | |
332 break; | |
333 default: | |
334 av_log(s, AV_LOG_DEBUG, "AVOption type %d of option %s not implemented yet\n", opt->type, opt->name); | |
335 } | |
336 } | |
337 } | |
338 |