diff options
author | Anton Khirnov <anton@khirnov.net> | 2012-08-11 15:32:27 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2012-08-18 08:48:30 +0200 |
commit | 91e59fea30f57af7abd1ad6a68a8f6663805ee44 (patch) | |
tree | 70b46a72c2356052cc7c41be3fa497c156386875 | |
parent | 0a0f19b577d54ff2e72cc9a0fe027952db83f332 (diff) | |
download | ffmpeg-91e59fea30f57af7abd1ad6a68a8f6663805ee44.tar.gz |
lavc: add avcodec_descriptor_get_by_name().
-rw-r--r-- | libavcodec/avcodec.h | 6 | ||||
-rw-r--r-- | libavcodec/codec_desc.c | 13 |
2 files changed, 19 insertions, 0 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index b6917a0a7d..9658b67ab6 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -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); + +/** * @} */ 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 <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; +} |