|
|
|
@ -4076,47 +4076,6 @@ static int opt_bsf(const char *opt, const char *arg) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int opt_preset(const char *opt, const char *arg) |
|
|
|
|
{ |
|
|
|
|
FILE *f=NULL; |
|
|
|
|
char filename[1000], tmp[1000], tmp2[1000], line[1000]; |
|
|
|
|
char *codec_name = *opt == 'v' ? video_codec_name : |
|
|
|
|
*opt == 'a' ? audio_codec_name : |
|
|
|
|
subtitle_codec_name; |
|
|
|
|
|
|
|
|
|
if (!(f = get_preset_file(filename, sizeof(filename), arg, *opt == 'f', codec_name))) { |
|
|
|
|
fprintf(stderr, "File for preset '%s' not found\n", arg); |
|
|
|
|
exit_program(1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
while(!feof(f)){ |
|
|
|
|
int e= fscanf(f, "%999[^\n]\n", line) - 1; |
|
|
|
|
if(line[0] == '#' && !e) |
|
|
|
|
continue; |
|
|
|
|
e|= sscanf(line, "%999[^=]=%999[^\n]\n", tmp, tmp2) - 2; |
|
|
|
|
if(e){ |
|
|
|
|
fprintf(stderr, "%s: Invalid syntax: '%s'\n", filename, line); |
|
|
|
|
exit_program(1); |
|
|
|
|
} |
|
|
|
|
if(!strcmp(tmp, "acodec")){ |
|
|
|
|
opt_audio_codec(tmp, tmp2); |
|
|
|
|
}else if(!strcmp(tmp, "vcodec")){ |
|
|
|
|
opt_video_codec(tmp, tmp2); |
|
|
|
|
}else if(!strcmp(tmp, "scodec")){ |
|
|
|
|
opt_subtitle_codec(tmp, tmp2); |
|
|
|
|
}else if(!strcmp(tmp, "dcodec")){ |
|
|
|
|
opt_data_codec(tmp, tmp2); |
|
|
|
|
}else if(opt_default(tmp, tmp2) < 0){ |
|
|
|
|
fprintf(stderr, "%s: Invalid option or argument: '%s', parsed as '%s' = '%s'\n", filename, line, tmp, tmp2); |
|
|
|
|
exit_program(1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fclose(f); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static const OptionDef options[] = { |
|
|
|
|
/* main options */ |
|
|
|
|
#include "cmdutils_common_opts.h" |
|
|
|
@ -4230,10 +4189,6 @@ static const OptionDef options[] = { |
|
|
|
|
{ "vbsf", HAS_ARG | OPT_VIDEO | OPT_EXPERT, {(void*)opt_bsf}, "", "bitstream_filter" }, |
|
|
|
|
{ "sbsf", HAS_ARG | OPT_SUBTITLE | OPT_EXPERT, {(void*)opt_bsf}, "", "bitstream_filter" }, |
|
|
|
|
|
|
|
|
|
{ "apre", HAS_ARG | OPT_AUDIO | OPT_EXPERT, {(void*)opt_preset}, "set the audio options to the indicated preset", "preset" }, |
|
|
|
|
{ "vpre", HAS_ARG | OPT_VIDEO | OPT_EXPERT, {(void*)opt_preset}, "set the video options to the indicated preset", "preset" }, |
|
|
|
|
{ "spre", HAS_ARG | OPT_SUBTITLE | OPT_EXPERT, {(void*)opt_preset}, "set the subtitle options to the indicated preset", "preset" }, |
|
|
|
|
{ "fpre", HAS_ARG | OPT_EXPERT, {(void*)opt_preset}, "set options from indicated preset file", "filename" }, |
|
|
|
|
/* data codec support */ |
|
|
|
|
{ "dcodec", HAS_ARG | OPT_DATA, {(void*)opt_data_codec}, "force data codec ('copy' to copy stream)", "codec" }, |
|
|
|
|
|
|
|
|
|