Browse Source

avstring: Expose the simple name match function

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
tags/n2.4
Luca Barbato 11 years ago
parent
commit
69e7336b8e
5 changed files with 34 additions and 20 deletions
  1. +3
    -0
      doc/APIchanges
  2. +1
    -19
      libavformat/format.c
  3. +20
    -0
      libavutil/avstring.c
  4. +9
    -0
      libavutil/avstring.h
  5. +1
    -1
      libavutil/version.h

+ 3
- 0
doc/APIchanges View File

@@ -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.




+ 1
- 19
libavformat/format.c View File

@@ -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)
{ {
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;
} }


+ 20
- 0
libavutil/avstring.c View File

@@ -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)


+ 9
- 0
libavutil/avstring.h View File

@@ -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);

/** /**
* @} * @}
*/ */


+ 1
- 1
libavutil/version.h View File

@@ -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, \


Loading…
Cancel
Save