mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-06-27 02:52:25 +08:00
avconv: set discard on input streams automatically.
This commit is contained in:
16
avconv.c
16
avconv.c
@ -3170,6 +3170,7 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
|
|||||||
ist->st = st;
|
ist->st = st;
|
||||||
ist->file_index = nb_input_files;
|
ist->file_index = nb_input_files;
|
||||||
ist->discard = 1;
|
ist->discard = 1;
|
||||||
|
st->discard = AVDISCARD_ALL;
|
||||||
ist->opts = filter_codec_opts(codec_opts, ist->st->codec->codec_id, ic, st);
|
ist->opts = filter_codec_opts(codec_opts, ist->st->codec->codec_id, ic, st);
|
||||||
|
|
||||||
ist->ts_scale = 1.0;
|
ist->ts_scale = 1.0;
|
||||||
@ -3178,10 +3179,6 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
|
|||||||
ist->dec = choose_decoder(o, ic, st);
|
ist->dec = choose_decoder(o, ic, st);
|
||||||
|
|
||||||
switch (dec->codec_type) {
|
switch (dec->codec_type) {
|
||||||
case AVMEDIA_TYPE_AUDIO:
|
|
||||||
if (o->audio_disable)
|
|
||||||
st->discard = AVDISCARD_ALL;
|
|
||||||
break;
|
|
||||||
case AVMEDIA_TYPE_VIDEO:
|
case AVMEDIA_TYPE_VIDEO:
|
||||||
if (dec->lowres) {
|
if (dec->lowres) {
|
||||||
dec->flags |= CODEC_FLAG_EMU_EDGE;
|
dec->flags |= CODEC_FLAG_EMU_EDGE;
|
||||||
@ -3189,17 +3186,10 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
|
|||||||
dec->width >>= dec->lowres;
|
dec->width >>= dec->lowres;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (o->video_disable)
|
|
||||||
st->discard = AVDISCARD_ALL;
|
|
||||||
else if (video_discard)
|
|
||||||
st->discard = video_discard;
|
|
||||||
break;
|
break;
|
||||||
|
case AVMEDIA_TYPE_AUDIO:
|
||||||
case AVMEDIA_TYPE_DATA:
|
case AVMEDIA_TYPE_DATA:
|
||||||
break;
|
|
||||||
case AVMEDIA_TYPE_SUBTITLE:
|
case AVMEDIA_TYPE_SUBTITLE:
|
||||||
if (o->subtitle_disable)
|
|
||||||
st->discard = AVDISCARD_ALL;
|
|
||||||
break;
|
|
||||||
case AVMEDIA_TYPE_ATTACHMENT:
|
case AVMEDIA_TYPE_ATTACHMENT:
|
||||||
case AVMEDIA_TYPE_UNKNOWN:
|
case AVMEDIA_TYPE_UNKNOWN:
|
||||||
break;
|
break;
|
||||||
@ -3873,6 +3863,7 @@ static void opt_output_file(void *optctx, const char *filename)
|
|||||||
ost->source_index = index;\
|
ost->source_index = index;\
|
||||||
ost->sync_ist = &input_streams[index];\
|
ost->sync_ist = &input_streams[index];\
|
||||||
input_streams[index].discard = 0;\
|
input_streams[index].discard = 0;\
|
||||||
|
input_streams[index].st->discard = AVDISCARD_NONE;\
|
||||||
}
|
}
|
||||||
|
|
||||||
/* video: highest resolution */
|
/* video: highest resolution */
|
||||||
@ -3936,6 +3927,7 @@ static void opt_output_file(void *optctx, const char *filename)
|
|||||||
ost->sync_ist = &input_streams[input_files[map->sync_file_index].ist_index +
|
ost->sync_ist = &input_streams[input_files[map->sync_file_index].ist_index +
|
||||||
map->sync_stream_index];
|
map->sync_stream_index];
|
||||||
ist->discard = 0;
|
ist->discard = 0;
|
||||||
|
ist->st->discard = AVDISCARD_NONE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user