diff --git a/cmdutils.c b/cmdutils.c index 90ad48f620635868639477a3ababccc26d4ed35f..1fbd73cf84e4813450a7084662602b7924a712c5 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 49bb7657248d5a8a4a01e0ecd8ec44390a9f22db..2538f05d980ee64a1b2ac0236f2c1007b7e64be9 100644 --- a/cmdutils.h +++ b/cmdutils.h @@ -488,6 +488,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 9c265fc5f7648cadbdcb03436c9a8f7f566e5fd5..69663039e0bc98ebf6bb2d5e9642b434a4bf9f6a 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 6d453ed6939f5be04839968570b0c2fc93487612..617af2fa5eeb44f36d19e26a7a54a24299ccb489 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. +@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