diff options
author | Kaaira Gupta <kgupta@es.iitr.ac.in> | 2020-06-22 16:33:51 +0530 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-06-25 06:47:48 +0300 |
commit | 2129117df920699ad83bd231ebe83ca9f0a619da (patch) | |
tree | 14d3bd26119dde939f473e883e695e7fe1b28a32 /test/pixel-format.cpp | |
parent | c2bfe003e788c2e7cc95fe9b273af0596f5d725f (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.cpp | 51 |
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) |