From 91e59fea30f57af7abd1ad6a68a8f6663805ee44 Mon Sep 17 00:00:00 2001
From: Anton Khirnov <anton@khirnov.net>
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 b6917a0a7dd..9658b67ab67 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 2ace53b4d04..30a4e4a7786 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 <string.h>
+
 #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;
+}
-- 
GitLab