[FFmpeg-cvslog] cmdutils: add -colors option

Stefano Sabatini git at videolan.org
Sun Oct 27 09:22:08 CET 2013


ffmpeg | branch: master | Stefano Sabatini <stefasab at gmail.com> | Thu Oct 17 19:04:16 2013 +0200| [4e268285aaff2fdd352eeac4765169a01e6eefe4] | committer: Stefano Sabatini

cmdutils: add -colors option

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4e268285aaff2fdd352eeac4765169a01e6eefe4
---

 cmdutils.c                   |   12 ++++++++++++
 cmdutils.h                   |    6 ++++++
 cmdutils_common_opts.h       |    1 +
 doc/fftools-common-opts.texi |    3 +++
 4 files changed, 22 insertions(+)

diff --git a/cmdutils.c b/cmdutils.c
index 90ad48f..1fbd73c 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -1518,6 +1518,18 @@ int show_filters(void *optctx, const char *opt, const char *arg)
     return 0;
 }
 
+void show_colors(void *optctx, const char *opt, const char *arg)
+{
+    const char *name;
+    const uint8_t *rgb;
+    int i;
+
+    printf("%-32s #RRGGBB\n", "name");
+
+    for (i = 0; name = av_get_known_color_name(i, &rgb); i++)
+        printf("%-32s #%02x%02x%02x\n", name, rgb[0], rgb[1], rgb[2]);
+}
+
 int show_pix_fmts(void *optctx, const char *opt, const char *arg)
 {
     const AVPixFmtDescriptor *pix_desc = NULL;
diff --git a/cmdutils.h b/cmdutils.h
index 49bb765..2538f05 100644
--- a/cmdutils.h
+++ b/cmdutils.h
@@ -489,6 +489,12 @@ int show_layouts(void *optctx, const char *opt, const char *arg);
 int show_sample_fmts(void *optctx, const char *opt, const char *arg);
 
 /**
+ * Print a listing containing all the color names and values recognized
+ * by the program.
+ */
+void show_colors(void *optctx, const char *opt, const char *arg);
+
+/**
  * Return a positive value if a line read from standard input
  * starts with [yY], otherwise return 0.
  */
diff --git a/cmdutils_common_opts.h b/cmdutils_common_opts.h
index 9c265fc..6966303 100644
--- a/cmdutils_common_opts.h
+++ b/cmdutils_common_opts.h
@@ -14,6 +14,7 @@
     { "pix_fmts"   , OPT_EXIT, {.func_arg = show_pix_fmts },    "show available pixel formats" },
     { "layouts"    , OPT_EXIT, {.func_arg = show_layouts  },    "show standard channel layouts" },
     { "sample_fmts", OPT_EXIT, {.func_arg = show_sample_fmts }, "show available audio sample formats" },
+    { "colors"     , OPT_EXIT, {.func_arg = show_colors },      "show available color names" },
     { "loglevel"   , HAS_ARG,  {.func_arg = opt_loglevel},      "set logging level", "loglevel" },
     { "v",           HAS_ARG,  {.func_arg = opt_loglevel},      "set logging level", "loglevel" },
     { "report"     , 0,        {(void*)opt_report}, "generate a report" },
diff --git a/doc/fftools-common-opts.texi b/doc/fftools-common-opts.texi
index 6d453ed..617af2f 100644
--- a/doc/fftools-common-opts.texi
+++ b/doc/fftools-common-opts.texi
@@ -128,6 +128,9 @@ Show available sample formats.
 @item -layouts
 Show channel names and standard channel layouts.
 
+ at item -colors
+Show recognized color names.
+
 @item -loglevel [repeat+]@var{loglevel} | -v [repeat+]@var{loglevel}
 Set the logging level used by the library.
 Adding "repeat+" indicates that repeated log output should not be compressed



More information about the ffmpeg-cvslog mailing list