[FFmpeg-devel] [PATCH 2/3] avformat/utils: avoid using marked decoders for probing
Michael Niedermayer
michael at niedermayer.cc
Thu Sep 22 17:48:06 EEST 2016
On Thu, Sep 22, 2016 at 02:00:04PM +0200, Timo Rothenpieler wrote:
> ---
> libavformat/utils.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/utils.c b/libavformat/utils.c
> index 05d2315..87a6dd7 100644
> --- a/libavformat/utils.c
> +++ b/libavformat/utils.c
> @@ -188,6 +188,8 @@ FF_ENABLE_DEPRECATION_WARNINGS
>
> static const AVCodec *find_probe_decoder(AVFormatContext *s, const AVStream *st, enum AVCodecID codec_id)
> {
> + const AVCodec *codec;
> +
> #if CONFIG_H264_DECODER
> /* Other parts of the code assume this decoder to be used for h264,
> * so force it if possible. */
> @@ -195,7 +197,14 @@ static const AVCodec *find_probe_decoder(AVFormatContext *s, const AVStream *st,
> return avcodec_find_decoder_by_name("h264");
> #endif
>
> - return find_decoder(s, st, codec_id);
> + codec = find_decoder(s, st, codec_id);
> + if (!codec)
> + return NULL;
> +
> + if (codec->capabilities & AV_CODEC_CAP_AVOID_PROBING)
> + return avcodec_find_decoder(codec_id);
this should be using a loop with av_codec_next() to preferaly
select a codec without AV_CODEC_CAP_AVOID_PROBING or
AV_CODEC_CAP_EXPERIMENTAL
or such function could be added to libavcodec if usefull elsewhere
Theres no gurantee that avcodec_find_decoder() would not pick a
AV_CODEC_CAP_AVOID_PROBING codec unless iam missing something
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I do not agree with what you have to say, but I'll defend to the death your
right to say it. -- Voltaire
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160922/e35c041d/attachment.sig>
More information about the ffmpeg-devel
mailing list