aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Hartmann <hartan@7x.de>2025-07-31 09:01:44 +0200
committerLeo Izen <leo.izen@gmail.com>2025-08-18 13:54:30 +0000
commit11a89bfe7bedc88980a178c565cc4d237e1ba0d8 (patch)
treedc20da1b16cb06641b2b34bd95565eb85129065b
parentd5c8f2268f6b444a744b235642577c9b513183e0 (diff)
downloadffmpeg-11a89bfe7bedc88980a178c565cc4d237e1ba0d8.tar.gz
ffmpeg_opt: Parse regular options in `ffpreset` files
instead of only AV-specific options. The previous code assumed that any option not defining the codec in an `ffpreset` file is an AVOption. This for example prevented the use of options defined in `OptionDef[]`, like `-pix_fmt`, as part of preset files, requiring users to type these out every time. Closes: #1530 Signed-off-by: Andreas Hartmann <hartan@7x.de>
-rw-r--r--fftools/ffmpeg_opt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
index d714a1523a..926a8bda00 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -1050,7 +1050,8 @@ static int opt_preset(void *optctx, const char *opt, const char *arg)
else if (!strcmp(key, "vcodec")) opt_video_codec (o, key, value);
else if (!strcmp(key, "scodec")) opt_subtitle_codec(o, key, value);
else if (!strcmp(key, "dcodec")) opt_data_codec (o, key, value);
- else if (opt_default_new(o, key, value) < 0) {
+ else if ((parse_option(o, key, value, options) < 0) &&
+ (opt_default_new(o, key, value) < 0)) {
av_log(NULL, AV_LOG_FATAL, "%s: Invalid option or argument: '%s', parsed as '%s' = '%s'\n",
filename, line, key, value);
ret = AVERROR(EINVAL);