Merge commit '5c7db097eb
'
* commit '5c7db097eb
':
avconv: pass libavresample options to AVFilterGraph
Conflicts:
cmdutils.c
cmdutils.h
ffmpeg_filter.c
ffmpeg_opt.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
6db37c9468
6 changed files with 35 additions and 4 deletions
17
cmdutils.c
17
cmdutils.c
|
@ -63,7 +63,7 @@ static int init_report(const char *env);
|
|||
|
||||
struct SwsContext *sws_opts;
|
||||
SwrContext *swr_opts;
|
||||
AVDictionary *format_opts, *codec_opts;
|
||||
AVDictionary *format_opts, *codec_opts, *resample_opts;
|
||||
|
||||
const int this_year = 2013;
|
||||
|
||||
|
@ -92,6 +92,7 @@ void uninit_opts(void)
|
|||
|
||||
av_dict_free(&format_opts);
|
||||
av_dict_free(&codec_opts);
|
||||
av_dict_free(&resample_opts);
|
||||
}
|
||||
|
||||
void log_callback_help(void *ptr, int level, const char *fmt, va_list vl)
|
||||
|
@ -478,6 +479,7 @@ int opt_default(void *optctx, const char *opt, const char *arg)
|
|||
char opt_stripped[128];
|
||||
const char *p;
|
||||
const AVClass *cc = avcodec_get_class(), *fc = avformat_get_class();
|
||||
const av_unused AVClass *rc_class;
|
||||
const AVClass *sc, *swr_class;
|
||||
|
||||
if (!strcmp(opt, "debug") || !strcmp(opt, "fdebug"))
|
||||
|
@ -526,6 +528,14 @@ int opt_default(void *optctx, const char *opt, const char *arg)
|
|||
consumed = 1;
|
||||
}
|
||||
#endif
|
||||
#if CONFIG_AVRESAMPLE
|
||||
rc_class = avresample_get_class();
|
||||
if (av_opt_find(&rc_class, opt, NULL, 0,
|
||||
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ)) {
|
||||
av_dict_set(&resample_opts, opt, arg, FLAGS);
|
||||
consumed = 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (consumed)
|
||||
return 0;
|
||||
|
@ -575,9 +585,11 @@ static void finish_group(OptionParseContext *octx, int group_idx,
|
|||
g->swr_opts = swr_opts;
|
||||
g->codec_opts = codec_opts;
|
||||
g->format_opts = format_opts;
|
||||
g->resample_opts = resample_opts;
|
||||
|
||||
codec_opts = NULL;
|
||||
format_opts = NULL;
|
||||
resample_opts = NULL;
|
||||
#if CONFIG_SWSCALE
|
||||
sws_opts = NULL;
|
||||
#endif
|
||||
|
@ -635,6 +647,7 @@ void uninit_parse_context(OptionParseContext *octx)
|
|||
av_freep(&l->groups[j].opts);
|
||||
av_dict_free(&l->groups[j].codec_opts);
|
||||
av_dict_free(&l->groups[j].format_opts);
|
||||
av_dict_free(&l->groups[j].resample_opts);
|
||||
#if CONFIG_SWSCALE
|
||||
sws_freeContext(l->groups[j].sws_opts);
|
||||
#endif
|
||||
|
@ -748,7 +761,7 @@ do { \
|
|||
return AVERROR_OPTION_NOT_FOUND;
|
||||
}
|
||||
|
||||
if (octx->cur_group.nb_opts || codec_opts || format_opts)
|
||||
if (octx->cur_group.nb_opts || codec_opts || format_opts || resample_opts)
|
||||
av_log(NULL, AV_LOG_WARNING, "Trailing options were found on the "
|
||||
"commandline.\n");
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue