fftools/ffmpeg_opt: reduce indentation in map_auto_subtitle()

Fix indentation after the previous commit. Also use an early return to
save one extra indentation level.
This commit is contained in:
Anton Khirnov
2022-06-20 14:18:37 +02:00
parent 6ab412ef9c
commit 6bd98d9ed8

View File

@ -2583,36 +2583,38 @@ static void map_auto_audio(OutputFile *of, AVFormatContext *oc,
static void map_auto_subtitle(OutputFile *of, AVFormatContext *oc, static void map_auto_subtitle(OutputFile *of, AVFormatContext *oc,
OptionsContext *o) OptionsContext *o)
{ {
char *subtitle_codec_name = NULL; char *subtitle_codec_name = NULL;
/* subtitles: pick first */ /* subtitles: pick first */
MATCH_PER_TYPE_OPT(codec_names, str, subtitle_codec_name, oc, "s"); MATCH_PER_TYPE_OPT(codec_names, str, subtitle_codec_name, oc, "s");
if ((avcodec_find_encoder(oc->oformat->subtitle_codec) || subtitle_codec_name)) { if (!avcodec_find_encoder(oc->oformat->subtitle_codec) && !subtitle_codec_name)
for (int i = 0; i < nb_input_streams; i++) return;
if (input_streams[i]->st->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE) {
AVCodecDescriptor const *input_descriptor = for (int i = 0; i < nb_input_streams; i++)
avcodec_descriptor_get(input_streams[i]->st->codecpar->codec_id); if (input_streams[i]->st->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE) {
AVCodecDescriptor const *output_descriptor = NULL; AVCodecDescriptor const *input_descriptor =
AVCodec const *output_codec = avcodec_descriptor_get(input_streams[i]->st->codecpar->codec_id);
avcodec_find_encoder(oc->oformat->subtitle_codec); AVCodecDescriptor const *output_descriptor = NULL;
int input_props = 0, output_props = 0; AVCodec const *output_codec =
if (input_streams[i]->user_set_discard == AVDISCARD_ALL) avcodec_find_encoder(oc->oformat->subtitle_codec);
continue; int input_props = 0, output_props = 0;
if (output_codec) if (input_streams[i]->user_set_discard == AVDISCARD_ALL)
output_descriptor = avcodec_descriptor_get(output_codec->id); continue;
if (input_descriptor) if (output_codec)
input_props = input_descriptor->props & (AV_CODEC_PROP_TEXT_SUB | AV_CODEC_PROP_BITMAP_SUB); output_descriptor = avcodec_descriptor_get(output_codec->id);
if (output_descriptor) if (input_descriptor)
output_props = output_descriptor->props & (AV_CODEC_PROP_TEXT_SUB | AV_CODEC_PROP_BITMAP_SUB); input_props = input_descriptor->props & (AV_CODEC_PROP_TEXT_SUB | AV_CODEC_PROP_BITMAP_SUB);
if (subtitle_codec_name || if (output_descriptor)
input_props & output_props || output_props = output_descriptor->props & (AV_CODEC_PROP_TEXT_SUB | AV_CODEC_PROP_BITMAP_SUB);
// Map dvb teletext which has neither property to any output subtitle encoder if (subtitle_codec_name ||
input_descriptor && output_descriptor && input_props & output_props ||
(!input_descriptor->props || // Map dvb teletext which has neither property to any output subtitle encoder
!output_descriptor->props)) { input_descriptor && output_descriptor &&
new_subtitle_stream(o, oc, i); (!input_descriptor->props ||
break; !output_descriptor->props)) {
} new_subtitle_stream(o, oc, i);
} break;
}
} }
} }