av_freep(&o->stream_maps);
av_freep(&o->audio_channel_maps);
av_freep(&o->streamid_map);
+ av_freep(&o->attachments);
if (is_input)
recording_time = o->recording_time;
o->chapters_input_file = INT_MAX;
}
-static int opt_frame_crop(void *optctx, const char *opt, const char *arg)
-{
- av_log(NULL, AV_LOG_FATAL, "Option '%s' has been removed, use the crop filter instead\n", opt);
- return AVERROR(EINVAL);
-}
-
-static int opt_pad(void *optctx, const char *opt, const char *arg)
-{
- av_log(NULL, AV_LOG_FATAL, "Option '%s' has been removed, use the pad filter instead\n", opt);
- return -1;
-}
-
static int opt_sameq(void *optctx, const char *opt, const char *arg)
{
av_log(NULL, AV_LOG_ERROR, "Option '%s' was removed. "
break;
case AVMEDIA_TYPE_AUDIO:
+ ist->guess_layout_max = INT_MAX;
+ MATCH_PER_STREAM_OPT(guess_layout_max, i, ist->guess_layout_max, ic, st);
guess_input_channel_layout(ist);
ist->resample_sample_fmt = dec->sample_fmt;
if (do_pass) {
if (do_pass & 1) {
video_enc->flags |= CODEC_FLAG_PASS1;
+ av_dict_set(&ost->opts, "flags", "+pass1", AV_DICT_APPEND);
}
if (do_pass & 2) {
video_enc->flags |= CODEC_FLAG_PASS2;
+ av_dict_set(&ost->opts, "flags", "+pass2", AV_DICT_APPEND);
}
}
return AVERROR(EINVAL);
}
snprintf(layout_str, sizeof(layout_str), "%"PRIu64, layout);
- ret = opt_default(NULL, opt, layout_str);
+ ret = opt_default_new(o, opt, layout_str);
if (ret < 0)
return ret;
inout, g->arg);
return ret;
}
- av_log(NULL, AV_LOG_DEBUG, "Successfully openened the file.\n");
+ av_log(NULL, AV_LOG_DEBUG, "Successfully opened the file.\n");
}
return 0;
"set pixel format", "format" },
{ "bits_per_raw_sample", OPT_VIDEO | OPT_INT | HAS_ARG, { &frame_bits_per_raw_sample },
"set the number of bits per raw sample", "number" },
- { "croptop", OPT_VIDEO | HAS_ARG, { .func_arg = opt_frame_crop },
- "Removed, use the crop filter instead", "size" },
- { "cropbottom", OPT_VIDEO | HAS_ARG, { .func_arg = opt_frame_crop },
- "Removed, use the crop filter instead", "size" },
- { "cropleft", OPT_VIDEO | HAS_ARG, { .func_arg = opt_frame_crop },
- "Removed, use the crop filter instead", "size" },
- { "cropright", OPT_VIDEO | HAS_ARG, { .func_arg = opt_frame_crop },
- "Removed, use the crop filter instead", "size" },
- { "padtop", OPT_VIDEO | HAS_ARG, { .func_arg = opt_pad },
- "Removed, use the pad filter instead", "size" },
- { "padbottom", OPT_VIDEO | HAS_ARG, { .func_arg = opt_pad },
- "Removed, use the pad filter instead", "size" },
- { "padleft", OPT_VIDEO | HAS_ARG, { .func_arg = opt_pad },
- "Removed, use the pad filter instead", "size" },
- { "padright", OPT_VIDEO | HAS_ARG, { .func_arg = opt_pad },
- "Removed, use the pad filter instead", "size" },
- { "padcolor", OPT_VIDEO | HAS_ARG, { .func_arg = opt_pad },
- "Removed, use the pad filter instead", "color" },
{ "intra", OPT_VIDEO | OPT_BOOL | OPT_EXPERT, { &intra_only },
"deprecated use -g 1" },
{ "vn", OPT_VIDEO | OPT_BOOL | OPT_OFFSET, { .off = OFFSET(video_disable) },
"set channel layout", "layout" },
{ "af", OPT_AUDIO | HAS_ARG | OPT_PERFILE, { .func_arg = opt_audio_filters },
"set audio filters", "filter_graph" },
+ { "guess_layout_max", OPT_AUDIO | HAS_ARG | OPT_INT | OPT_SPEC | OPT_EXPERT, { .off = OFFSET(guess_layout_max) },
+ "set the maximum number of channels to try to guess the channel layout" },
/* subtitle options */
{ "sn", OPT_SUBTITLE | OPT_BOOL | OPT_OFFSET, { .off = OFFSET(subtitle_disable) },