summaryrefslogtreecommitdiff
path: root/test/pixel-format.cpp
diff options
context:
space:
mode:
authorKaaira Gupta <kgupta@es.iitr.ac.in>2020-06-22 16:33:51 +0530
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-06-25 06:47:48 +0300
commit2129117df920699ad83bd231ebe83ca9f0a619da (patch)
tree14d3bd26119dde939f473e883e695e7fe1b28a32 /test/pixel-format.cpp
parentc2bfe003e788c2e7cc95fe9b273af0596f5d725f (diff)
libcamera: pixel_format: Replace hex with format names
Print format names defined in formats namespace instead of the hex values in toString() as they are easier to comprehend. For this add a property of 'name' in PixelFormatInfo' so as to map the formats with their names. Print fourcc for formats which are not used in libcamera. Signed-off-by: Kaaira Gupta <kgupta@es.iitr.ac.in> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'test/pixel-format.cpp')
-rw-r--r--test/pixel-format.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/pixel-format.cpp b/test/pixel-format.cpp
new file mode 100644
index 00000000..c4a08f46
--- /dev/null
+++ b/test/pixel-format.cpp
@@ -0,0 +1,51 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2020, Kaaira Gupta
+ * libcamera pixel format handling test
+ */
+
+#include <iostream>
+#include <vector>
+
+#include <libcamera/formats.h>
+#include <libcamera/pixel_format.h>
+
+#include "libcamera/internal/utils.h"
+
+#include "test.h"
+
+using namespace std;
+using namespace libcamera;
+
+class PixelFormatTest : public Test
+{
+protected:
+ int run()
+ {
+ std::vector<std::pair<PixelFormat, const char *>> formatsMap{
+ { formats::R8, "R8" },
+ { formats::SRGGB10_CSI2P, "SRGGB10_CSI2P" },
+ { PixelFormat(0, 0), "<INVALID>" },
+ { PixelFormat(0x20203843), "<C8 >" }
+ };
+
+ for (const auto &format : formatsMap) {
+ if ((format.first).toString() != format.second) {
+ cerr << "Failed to convert PixelFormat "
+ << utils::hex(format.first.fourcc()) << " to string"
+ << endl;
+ return TestFail;
+ }
+ }
+
+ if (PixelFormat().toString() != "<INVALID>") {
+ cerr << "Failed to convert default PixelFormat to string"
+ << endl;
+ return TestFail;
+ }
+
+ return TestPass;
+ }
+};
+
+TEST_REGISTER(PixelFormatTest)