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 |
