diff options
Diffstat (limited to 'libavformat/avformat.c')
-rw-r--r-- | libavformat/avformat.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libavformat/avformat.c b/libavformat/avformat.c index a828e6db55..eabccffcb0 100644 --- a/libavformat/avformat.c +++ b/libavformat/avformat.c @@ -30,6 +30,7 @@ #include "libavutil/samplefmt.h" #include "libavcodec/avcodec.h" #include "libavcodec/bsf.h" +#include "libavcodec/codec_desc.h" #include "libavcodec/packet_internal.h" #include "avformat.h" #include "demux.h" @@ -679,3 +680,14 @@ const AVCodec *ff_find_decoder(AVFormatContext *s, const AVStream *st, return avcodec_find_decoder(codec_id); } + +int ff_is_intra_only(enum AVCodecID id) +{ + const AVCodecDescriptor *d = avcodec_descriptor_get(id); + if (!d) + return 0; + if ((d->type == AVMEDIA_TYPE_VIDEO || d->type == AVMEDIA_TYPE_AUDIO) && + !(d->props & AV_CODEC_PROP_INTRA_ONLY)) + return 0; + return 1; +} |