[libav-devel] [PATCH 1/6] avconv: set discard on input streams automatically.
Justin Ruggles
justin.ruggles at gmail.com
Sun Feb 26 02:39:54 CET 2012
On 02/24/2012 10:11 AM, Anton Khirnov wrote:
> ---
> avconv.c | 16 ++++------------
> 1 files changed, 4 insertions(+), 12 deletions(-)
>
> diff --git a/avconv.c b/avconv.c
> index d7ca8bd..e272182 100644
> --- a/avconv.c
> +++ b/avconv.c
> @@ -3147,6 +3147,7 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
> ist->st = st;
> ist->file_index = nb_input_files;
> ist->discard = 1;
> + st->discard = AVDISCARD_ALL;
> ist->opts = filter_codec_opts(codec_opts, ist->st->codec->codec_id, ic, st);
>
> ist->ts_scale = 1.0;
> @@ -3155,10 +3156,6 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
> ist->dec = choose_decoder(o, ic, st);
>
> switch (dec->codec_type) {
> - case AVMEDIA_TYPE_AUDIO:
> - if (o->audio_disable)
> - st->discard = AVDISCARD_ALL;
> - break;
> case AVMEDIA_TYPE_VIDEO:
> if (dec->lowres) {
> dec->flags |= CODEC_FLAG_EMU_EDGE;
> @@ -3166,17 +3163,10 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
> dec->width >>= dec->lowres;
> }
>
> - if (o->video_disable)
> - st->discard = AVDISCARD_ALL;
> - else if (video_discard)
> - st->discard = video_discard;
> break;
> + case AVMEDIA_TYPE_AUDIO:
> case AVMEDIA_TYPE_DATA:
> - break;
> case AVMEDIA_TYPE_SUBTITLE:
> - if (o->subtitle_disable)
> - st->discard = AVDISCARD_ALL;
> - break;
> case AVMEDIA_TYPE_ATTACHMENT:
> case AVMEDIA_TYPE_UNKNOWN:
> break;
> @@ -3850,6 +3840,7 @@ static void opt_output_file(void *optctx, const char *filename)
> ost->source_index = index;\
> ost->sync_ist = &input_streams[index];\
> input_streams[index].discard = 0;\
> + input_streams[index].st->discard = AVDISCARD_NONE;\
> }
>
> /* video: highest resolution */
> @@ -3913,6 +3904,7 @@ static void opt_output_file(void *optctx, const char *filename)
> ost->sync_ist = &input_streams[input_files[map->sync_file_index].ist_index +
> map->sync_stream_index];
> ist->discard = 0;
> + ist->st->discard = AVDISCARD_NONE;
> }
> }
>
Does this change current avconv behavior or just simplify things?
-Justin
More information about the libav-devel
mailing list