summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2013-10-17 19:03:40 +0200
committerStefano Sabatini <stefasab@gmail.com>2013-10-27 09:16:05 +0100
commitd61617a52349f9e65903bffb801dba1388de01ac (patch)
tree8d5750fdc87510c44e59d0b16b16f251368a9b3c
parent1e5271a9fd6ddcceb083f2185a4bbd8d44c9a813 (diff)
lavu/parseutils: add av_get_known_color_name()
-rw-r--r--doc/APIchanges4
-rw-r--r--libavutil/parseutils.c14
-rw-r--r--libavutil/parseutils.h13
-rw-r--r--libavutil/version.h4
4 files changed, 32 insertions, 3 deletions
diff --git a/doc/APIchanges b/doc/APIchanges
index c1f103ae2b..35940dbe48 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,7 +15,9 @@ libavutil: 2012-10-22
API changes, most recent first:
-libavutil 52.47.100
+2013-10-27 - xxxxxxx - lavu 52.48.100 - parseutils.h
+ Add av_get_known_color_name().
+
2013-10-17 - xxxxxxx - lavu 52.47.100 - opt.h
Add AV_OPT_TYPE_CHANNEL_LAYOUT and channel layout option handlers
av_opt_get_channel_layout() and av_opt_set_channel_layout().
diff --git a/libavutil/parseutils.c b/libavutil/parseutils.c
index 1e1b93e8e5..e793e2d4c6 100644
--- a/libavutil/parseutils.c
+++ b/libavutil/parseutils.c
@@ -420,6 +420,20 @@ int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen,
return 0;
}
+const char *av_get_known_color_name(int color_idx, const uint8_t **rgbp)
+{
+ const ColorEntry *color;
+
+ if ((unsigned)color_idx >= FF_ARRAY_ELEMS(color_table))
+ return NULL;
+
+ color = &color_table[color_idx];
+ if (rgbp)
+ *rgbp = color->rgb_color;
+
+ return color->name;
+}
+
/* get a positive number between n_min and n_max, for a maximum length
of len_max. Return -1 if error. */
static int date_get_num(const char **pp,
diff --git a/libavutil/parseutils.h b/libavutil/parseutils.h
index dcfb7056d6..c80f0de3de 100644
--- a/libavutil/parseutils.h
+++ b/libavutil/parseutils.h
@@ -99,6 +99,19 @@ int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen,
void *log_ctx);
/**
+ * Get the name of a color from the internal table of hard-coded named
+ * colors.
+ *
+ * This function is meant to enumerate the color names recognized by
+ * av_parse_color().
+ *
+ * @param color_idx index of the requested color, starting from 0
+ * @param rgbp if not NULL, will point to a 3-elements array with the color value in RGB
+ * @return the color name string or NULL if color_idx is not in the array
+ */
+const char *av_get_known_color_name(int color_idx, const uint8_t **rgb);
+
+/**
* Parse timestr and return in *time a corresponding number of
* microseconds.
*
diff --git a/libavutil/version.h b/libavutil/version.h
index 9d089d8a5f..67a2acd107 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -75,8 +75,8 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 52
-#define LIBAVUTIL_VERSION_MINOR 47
-#define LIBAVUTIL_VERSION_MICRO 101
+#define LIBAVUTIL_VERSION_MINOR 48
+#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
LIBAVUTIL_VERSION_MINOR, \