On Thu, Oct 29, 2015 at 8:34 AM, Clément Bœsch <u...@pkh.me> wrote: > On Wed, Oct 28, 2015 at 06:34:06PM +0100, Hendrik Leppkes wrote: >> On Sat, Oct 17, 2015 at 10:34 PM, Matthieu Bouron >> <matthieu.bou...@gmail.com> wrote: >> > From: Matthieu Bouron <matthieu.bou...@stupeflix.com> >> > >> > Avoid decoding twice images such as jpeg and png, once in the >> > avformat_find_stream_info and once when the actual decode is made. >> > >> > The decoder must honor the skip_frame option in order to skip >> > decoding. For now the AVDISCARD_ALL flag is only set for the mjpeg and >> > png decoders. >> > --- >> > libavformat/utils.c | 15 +++++++++++++++ >> > 1 file changed, 15 insertions(+) >> > >> > diff --git a/libavformat/utils.c b/libavformat/utils.c >> > index 689473e..67dfffc 100644 >> > --- a/libavformat/utils.c >> > +++ b/libavformat/utils.c >> > @@ -2676,11 +2676,16 @@ static int has_codec_parameters(AVStream *st, >> > const char **errmsg_ptr) >> > static int try_decode_frame(AVFormatContext *s, AVStream *st, AVPacket >> > *avpkt, >> > AVDictionary **options) >> > { >> > + int i; >> > const AVCodec *codec; >> > int got_picture = 1, ret = 0; >> > AVFrame *frame = av_frame_alloc(); >> > AVSubtitle subtitle; >> > AVPacket pkt = *avpkt; >> > + int skip_frame; >> > + static const enum AVCodecID no_decode_codecs[] = { >> > + AV_CODEC_ID_MJPEG, AV_CODEC_ID_PNG, >> > + }; >> >> Hardcoded lists of codecs in random places are never a good thing to have. >> If this is a feature we agree to have, its codecs should just get an >> internal capability that tells this code if it can parse all params >> without decoding. >> > > This list is supposed to be temporary (yes I know) until all other > decoders that currently support AVDISCARD_ALL set the information field > required for probing. >
We all know what happens to temporary solutions, don't we. :) Rather have a temporary internal capability, its not part of the API/ABI or anything, but avoids such an ugly list inside generic code. - Hendrik _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel