Add a function for obtaining colorspace name by id.
Signed-off-by: Jacek Anaszewski <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
---
utils/media-ctl/libv4l2subdev.c | 32 ++++++++++++++++++++++++++++++++
utils/media-ctl/v4l2subdev.h | 10 ++++++++++
2 files changed, 42 insertions(+)
diff --git a/utils/media-ctl/libv4l2subdev.c b/utils/media-ctl/libv4l2subdev.c
index 4f8ee7f..31393bb 100644
--- a/utils/media-ctl/libv4l2subdev.c
+++ b/utils/media-ctl/libv4l2subdev.c
@@ -33,6 +33,7 @@
#include <unistd.h>
#include <linux/v4l2-subdev.h>
+#include <linux/videodev2.h>
#include "mediactl.h"
#include "mediactl-priv.h"
@@ -831,6 +832,37 @@ const char *v4l2_subdev_pixelcode_to_string(enum
v4l2_mbus_pixelcode code)
return "unknown";
}
+static struct {
+ const char *name;
+ enum v4l2_colorspace cs;
+} colorspaces[] = {
+ { "DEFAULT", V4L2_COLORSPACE_DEFAULT },
+ { "SMPTE170M", V4L2_COLORSPACE_SMPTE170M },
+ { "SMPTE240M", V4L2_COLORSPACE_SMPTE240M },
+ { "REC709", V4L2_COLORSPACE_REC709 },
+ { "BT878", V4L2_COLORSPACE_BT878 },
+ { "470_SYSTEM_M", V4L2_COLORSPACE_470_SYSTEM_M },
+ { "470_SYSTEM_BG", V4L2_COLORSPACE_470_SYSTEM_BG },
+ { "JPEG", V4L2_COLORSPACE_JPEG },
+ { "SRGB", V4L2_COLORSPACE_SRGB },
+ { "ADOBERGB", V4L2_COLORSPACE_ADOBERGB },
+ { "BT2020", V4L2_COLORSPACE_BT2020 },
+ { "RAW", V4L2_COLORSPACE_RAW },
+ { "DCI_P3", V4L2_COLORSPACE_DCI_P3 },
+};
+
+const char *v4l2_subdev_colorspace_to_string(enum v4l2_colorspace cs)
+{
+ unsigned int i;
+
+ for (i = 0; i < ARRAY_SIZE(colorspaces); ++i) {
+ if (colorspaces[i].cs == cs)
+ return colorspaces[i].name;
+ }
+
+ return "unknown";
+}
+
enum v4l2_mbus_pixelcode v4l2_subdev_string_to_pixelcode(const char *string)
{
unsigned int i;
diff --git a/utils/media-ctl/v4l2subdev.h b/utils/media-ctl/v4l2subdev.h
index 4dee6b1..cf1250d 100644
--- a/utils/media-ctl/v4l2subdev.h
+++ b/utils/media-ctl/v4l2subdev.h
@@ -278,6 +278,16 @@ int v4l2_subdev_parse_setup_formats(struct media_device
*media, const char *p);
const char *v4l2_subdev_pixelcode_to_string(enum v4l2_mbus_pixelcode code);
/**
+ * @brief Convert colorspace to string.
+ * @param code - input string
+ *
+ * Convert colorspace @a to a human-readable string.
+ *
+ * @return A pointer to a string on success, NULL on failure.
+ */
+const char *v4l2_subdev_colorspace_to_string(enum v4l2_colorspace cs);
+
+/**
* @brief Parse string to media bus pixel code.
* @param string - nul terminalted string, textual media bus pixel code
*
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html