lavc: add avcodec_descriptor_get_by_name().
authorAnton Khirnov <anton@khirnov.net>
Sat, 11 Aug 2012 13:32:27 +0000 (15:32 +0200)
committerAnton Khirnov <anton@khirnov.net>
Sat, 18 Aug 2012 06:48:30 +0000 (08:48 +0200)
libavcodec/avcodec.h
libavcodec/codec_desc.c

index b6917a0..9658b67 100644 (file)
@@ -4549,6 +4549,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);
+
+/**
  * @}
  */
 
index 2ace53b..30a4e4a 100644 (file)
@@ -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;
+}