From 91e59fea30f57af7abd1ad6a68a8f6663805ee44 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 11 Aug 2012 15:32:27 +0200 Subject: [PATCH] lavc: add avcodec_descriptor_get_by_name(). --- libavcodec/avcodec.h | 6 ++++++ libavcodec/codec_desc.c | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index b6917a0a7d..9658b67ab6 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -4548,6 +4548,12 @@ const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id); */ const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev); +/** + * @return codec descriptor with the given name or NULL if no such descriptor + * exists. + */ +const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name); + /** * @} */ diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index 2ace53b4d0..30a4e4a778 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -16,6 +16,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include + #include "avcodec.h" #include "libavutil/common.h" @@ -1939,3 +1941,14 @@ const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev) return prev + 1; return NULL; } + +const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name) +{ + const AVCodecDescriptor *desc = NULL; + + while ((desc = avcodec_descriptor_next(desc))) { + if (!strcmp(desc->name, name)) + return desc; + } + return NULL; +}