Mercurial > mplayer.hg
comparison libmpcodecs/ve_lavc.c @ 26693:64bb979316d3
AVOption support for video encoders.
author | michael |
---|---|
date | Sat, 10 May 2008 19:07:26 +0000 |
parents | 71bd93e71a97 |
children | 63630c09e237 |
comparison
equal
deleted
inserted
replaced
26692:0e325c1957f1 | 26693:64bb979316d3 |
---|---|
12 | 12 |
13 #include "config.h" | 13 #include "config.h" |
14 | 14 |
15 #include "mp_msg.h" | 15 #include "mp_msg.h" |
16 #include "help_mp.h" | 16 #include "help_mp.h" |
17 #include "av_opts.h" | |
17 | 18 |
18 #include "codec-cfg.h" | 19 #include "codec-cfg.h" |
19 #include "stream/stream.h" | 20 #include "stream/stream.h" |
20 #include "libmpdemux/demuxer.h" | 21 #include "libmpdemux/demuxer.h" |
21 #include "libmpdemux/stheader.h" | 22 #include "libmpdemux/stheader.h" |
155 | 156 |
156 char *lavc_param_acodec = "mp2"; | 157 char *lavc_param_acodec = "mp2"; |
157 int lavc_param_atag = 0; | 158 int lavc_param_atag = 0; |
158 int lavc_param_abitrate = 224; | 159 int lavc_param_abitrate = 224; |
159 int lavc_param_audio_global_header= 0; | 160 int lavc_param_audio_global_header= 0; |
161 static char *lavc_param_avopt = NULL; | |
160 | 162 |
161 #include "m_option.h" | 163 #include "m_option.h" |
162 | 164 |
163 #ifdef USE_LIBAVCODEC | 165 #ifdef USE_LIBAVCODEC |
164 m_option_t lavcopts_conf[]={ | 166 m_option_t lavcopts_conf[]={ |
300 {"aglobal", &lavc_param_audio_global_header, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL}, | 302 {"aglobal", &lavc_param_audio_global_header, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL}, |
301 {"mv0_threshold", &lavc_param_mv0_threshold, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL}, | 303 {"mv0_threshold", &lavc_param_mv0_threshold, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL}, |
302 {"refs", &lavc_param_refs, CONF_TYPE_INT, CONF_RANGE, 1, 16, NULL}, | 304 {"refs", &lavc_param_refs, CONF_TYPE_INT, CONF_RANGE, 1, 16, NULL}, |
303 {"b_sensitivity", &lavc_param_b_sensitivity, CONF_TYPE_INT, CONF_RANGE, 1, INT_MAX, NULL}, | 305 {"b_sensitivity", &lavc_param_b_sensitivity, CONF_TYPE_INT, CONF_RANGE, 1, INT_MAX, NULL}, |
304 {"level", &lavc_param_level, CONF_TYPE_INT, CONF_RANGE, INT_MIN, INT_MAX, NULL}, | 306 {"level", &lavc_param_level, CONF_TYPE_INT, CONF_RANGE, INT_MIN, INT_MAX, NULL}, |
307 {"o", &lavc_param_avopt, CONF_TYPE_STRING, 0, 0, 0, NULL}, | |
305 {NULL, NULL, 0, 0, 0, 0, NULL} | 308 {NULL, NULL, 0, 0, 0, 0, NULL} |
306 }; | 309 }; |
307 #endif | 310 #endif |
308 | 311 |
309 struct vf_priv_s { | 312 struct vf_priv_s { |
575 } | 578 } |
576 lavc_venc_context->mv0_threshold = lavc_param_mv0_threshold; | 579 lavc_venc_context->mv0_threshold = lavc_param_mv0_threshold; |
577 lavc_venc_context->refs = lavc_param_refs; | 580 lavc_venc_context->refs = lavc_param_refs; |
578 lavc_venc_context->b_sensitivity = lavc_param_b_sensitivity; | 581 lavc_venc_context->b_sensitivity = lavc_param_b_sensitivity; |
579 lavc_venc_context->level = lavc_param_level; | 582 lavc_venc_context->level = lavc_param_level; |
583 | |
584 if(lavc_param_avopt){ | |
585 if(parse_avopts(lavc_venc_context, lavc_param_avopt) < 0){ | |
586 mp_msg(MSGT_MENCODER,MSGL_ERR, "Your options /%s/ look like gibberish to me pal\n", lavc_param_avopt); | |
587 return 0; | |
588 } | |
589 } | |
580 | 590 |
581 mux_v->imgfmt = lavc_param_format; | 591 mux_v->imgfmt = lavc_param_format; |
582 switch(lavc_param_format) | 592 switch(lavc_param_format) |
583 { | 593 { |
584 case IMGFMT_YV12: | 594 case IMGFMT_YV12: |