diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index e2f5176a03..b9c2f64688 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -2843,3 +2843,9 @@ const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name) return desc; return NULL; } + +enum AVMediaType avcodec_get_type(enum AVCodecID codec_id) +{ + const AVCodecDescriptor *desc = avcodec_descriptor_get(codec_id); + return desc ? desc->type : AVMEDIA_TYPE_UNKNOWN; +} diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 19548e25a7..c2ded454e2 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -3403,26 +3403,6 @@ void ff_thread_report_progress2(AVCodecContext *avctx, int field, int thread, in #endif -enum AVMediaType avcodec_get_type(enum AVCodecID codec_id) -{ - AVCodec *c= avcodec_find_decoder(codec_id); - if(!c) - c= avcodec_find_encoder(codec_id); - if(c) - return c->type; - - if (codec_id <= AV_CODEC_ID_NONE) - return AVMEDIA_TYPE_UNKNOWN; - else if (codec_id < AV_CODEC_ID_FIRST_AUDIO) - return AVMEDIA_TYPE_VIDEO; - else if (codec_id < AV_CODEC_ID_FIRST_SUBTITLE) - return AVMEDIA_TYPE_AUDIO; - else if (codec_id < AV_CODEC_ID_FIRST_UNKNOWN) - return AVMEDIA_TYPE_SUBTITLE; - - return AVMEDIA_TYPE_UNKNOWN; -} - int avcodec_is_open(AVCodecContext *s) { return !!s->internal;