Commit 69e7336b authored by Luca Barbato's avatar Luca Barbato

avstring: Expose the simple name match function

Signed-off-by: 's avatarVittorio Giovara <vittorio.giovara@gmail.com>
parent e253a9e2
...@@ -13,6 +13,9 @@ libavutil: 2013-12-xx ...@@ -13,6 +13,9 @@ libavutil: 2013-12-xx
API changes, most recent first: API changes, most recent first:
2014-07-xx - xxxxxxx - lavu 53.19.0 - avstring.h
Make name matching function from lavf public as av_match_name().
2014-xx-xx - xxxxxxx - lavc 55.57.0 - avcodec.h 2014-xx-xx - xxxxxxx - lavc 55.57.0 - avcodec.h
Add AV_CODEC_PROP_REORDER to mark codecs supporting frame reordering. Add AV_CODEC_PROP_REORDER to mark codecs supporting frame reordering.
......
...@@ -100,24 +100,6 @@ int av_match_ext(const char *filename, const char *extensions) ...@@ -100,24 +100,6 @@ int av_match_ext(const char *filename, const char *extensions)
return 0; return 0;
} }
static int match_format(const char *name, const char *names)
{
const char *p;
int len, namelen;
if (!name || !names)
return 0;
namelen = strlen(name);
while ((p = strchr(names, ','))) {
len = FFMAX(p - names, namelen);
if (!av_strncasecmp(name, names, len))
return 1;
names = p + 1;
}
return !av_strcasecmp(name, names);
}
AVOutputFormat *av_guess_format(const char *short_name, const char *filename, AVOutputFormat *av_guess_format(const char *short_name, const char *filename,
const char *mime_type) const char *mime_type)
{ {
...@@ -180,7 +162,7 @@ AVInputFormat *av_find_input_format(const char *short_name) ...@@ -180,7 +162,7 @@ AVInputFormat *av_find_input_format(const char *short_name)
{ {
AVInputFormat *fmt = NULL; AVInputFormat *fmt = NULL;
while ((fmt = av_iformat_next(fmt))) while ((fmt = av_iformat_next(fmt)))
if (match_format(short_name, fmt->name)) if (av_match_name(short_name, fmt->name))
return fmt; return fmt;
return NULL; return NULL;
} }
......
...@@ -234,6 +234,26 @@ int av_isxdigit(int c) ...@@ -234,6 +234,26 @@ int av_isxdigit(int c)
return av_isdigit(c) || (c >= 'a' && c <= 'f'); return av_isdigit(c) || (c >= 'a' && c <= 'f');
} }
int av_match_name(const char *name, const char *names)
{
const char *p;
int len, namelen;
if (!name || !names)
return 0;
namelen = strlen(name);
while ((p = strchr(names, ','))) {
len = FFMAX(p - names, namelen);
if (!av_strncasecmp(name, names, len))
return 1;
names = p + 1;
}
return !av_strcasecmp(name, names);
}
#ifdef TEST #ifdef TEST
int main(void) int main(void)
......
...@@ -219,6 +219,15 @@ const char *av_basename(const char *path); ...@@ -219,6 +219,15 @@ const char *av_basename(const char *path);
*/ */
const char *av_dirname(char *path); const char *av_dirname(char *path);
/**
* Match instances of a name in a comma-separated list of names.
* @param name Name to look for.
* @param names List of names.
* @return 1 on match, 0 otherwise.
*/
int av_match_name(const char *name, const char *names);
/** /**
* @} * @}
*/ */
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
*/ */
#define LIBAVUTIL_VERSION_MAJOR 53 #define LIBAVUTIL_VERSION_MAJOR 53
#define LIBAVUTIL_VERSION_MINOR 18 #define LIBAVUTIL_VERSION_MINOR 19
#define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment