Add support in av_parse_color() to a "random" color name, which will
authorStefano Sabatini <stefano.sabatini-lala@poste.it>
Thu, 14 May 2009 18:58:06 +0000 (18:58 +0000)
committerStefano Sabatini <stefano.sabatini-lala@poste.it>
Thu, 14 May 2009 18:58:06 +0000 (18:58 +0000)
result in a randomly choosen random color, as it is with the
"bikeshed" color.

Originally committed as revision 18828 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavfilter/parseutils.c
libavfilter/parseutils.h

index 13fa581..85effb0 100644 (file)
@@ -217,7 +217,7 @@ static int color_table_compare(const void *lhs, const void *rhs)
 
 int av_parse_color(uint8_t *rgba_color, const char *color_string, void *log_ctx)
 {
-    if (!strcasecmp(color_string, "bikeshed")) {
+    if (!strcasecmp(color_string, "random") || !strcasecmp(color_string, "bikeshed")) {
         int rgba = ff_random_get_seed();
         rgba_color[0] = rgba >> 24;
         rgba_color[1] = rgba >> 16;
@@ -304,6 +304,7 @@ int main(void)
         uint8_t rgba[4];
         const char *color_names[] = {
             "bikeshed",
+            "RaNdOm",
             "foo",
             "red",
             "Red ",
index 52df821..46c66ed 100644 (file)
@@ -45,6 +45,7 @@ char *av_get_token(const char **buf, const char *term);
  *
  * @param color_string a string specifying a color. It can be the name of
  * a color (case insensitive match) or a 0xRRGGBB[AA] sequence.
+ * The string "random" will result in a random color.
  * @return >= 0 in case of success, a negative value in case of
  * failure (for example if color_string cannot be parsed).
  */