summaryrefslogtreecommitdiff
path: root/v4l2++/src/pixelformats.cpp
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ideasonboard.com>2023-02-24 15:37:10 +0200
committerTomi Valkeinen <tomi.valkeinen@ideasonboard.com>2023-02-24 18:10:42 +0200
commitdb5e57cdba31439ab2ae0e85c0ffc0c200ac3082 (patch)
tree2861117f96faf0cad3ffd562034cc81e37b7e541 /v4l2++/src/pixelformats.cpp
parent2bd85abc108e0688384f42b0ec83dcd5a622d50d (diff)
Drop v4l2
Drop (hacky) v4l2 support from kms++, and move it to a new, separate, library. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Diffstat (limited to 'v4l2++/src/pixelformats.cpp')
-rw-r--r--v4l2++/src/pixelformats.cpp314
1 files changed, 0 insertions, 314 deletions
diff --git a/v4l2++/src/pixelformats.cpp b/v4l2++/src/pixelformats.cpp
deleted file mode 100644
index f892c97..0000000
--- a/v4l2++/src/pixelformats.cpp
+++ /dev/null
@@ -1,314 +0,0 @@
-#include <map>
-
-#include <v4l2++/pixelformats.h>
-
-using namespace std;
-
-namespace v4l2
-{
-static const map<PixelFormat, PixelFormatInfo> format_info_array = {
- /* YUV packed */
- { PixelFormat::UYVY, {
- PixelColorType::YUV,
- 1,
- { { 16, 2, 1 } },
- } },
- { PixelFormat::YUYV, {
- PixelColorType::YUV,
- 1,
- { { 16, 2, 1 } },
- } },
- { PixelFormat::YVYU, {
- PixelColorType::YUV,
- 1,
- { { 16, 2, 1 } },
- } },
- { PixelFormat::VYUY, {
- PixelColorType::YUV,
- 1,
- { { 16, 2, 1 } },
- } },
- /* YUV semi-planar */
- { PixelFormat::NV12, {
- PixelColorType::YUV,
- 2,
- { {
- 8,
- 1,
- 1,
- },
- { 8, 2, 2 } },
- } },
- { PixelFormat::NV21, {
- PixelColorType::YUV,
- 2,
- { {
- 8,
- 1,
- 1,
- },
- { 8, 2, 2 } },
- } },
- { PixelFormat::NV16, {
- PixelColorType::YUV,
- 2,
- { {
- 8,
- 1,
- 1,
- },
- { 8, 2, 1 } },
- } },
- { PixelFormat::NV61, {
- PixelColorType::YUV,
- 2,
- { {
- 8,
- 1,
- 1,
- },
- { 8, 2, 1 } },
- } },
- /* YUV planar */
- { PixelFormat::YUV420, {
- PixelColorType::YUV,
- 3,
- { {
- 8,
- 1,
- 1,
- },
- { 8, 2, 2 },
- { 8, 2, 2 } },
- } },
- { PixelFormat::YVU420, {
- PixelColorType::YUV,
- 3,
- { {
- 8,
- 1,
- 1,
- },
- { 8, 2, 2 },
- { 8, 2, 2 } },
- } },
- { PixelFormat::YUV422, {
- PixelColorType::YUV,
- 3,
- { {
- 8,
- 1,
- 1,
- },
- { 8, 2, 1 },
- { 8, 2, 1 } },
- } },
- { PixelFormat::YVU422, {
- PixelColorType::YUV,
- 3,
- { {
- 8,
- 1,
- 1,
- },
- { 8, 2, 1 },
- { 8, 2, 1 } },
- } },
- { PixelFormat::YUV444, {
- PixelColorType::YUV,
- 3,
- { {
- 8,
- 1,
- 1,
- },
- { 8, 1, 1 },
- { 8, 1, 1 } },
- } },
- { PixelFormat::YVU444, {
- PixelColorType::YUV,
- 3,
- { {
- 8,
- 1,
- 1,
- },
- { 8, 1, 1 },
- { 8, 1, 1 } },
- } },
- /* RGB8 */
- { PixelFormat::RGB332, {
- PixelColorType::RGB,
- 1,
- { { 8, 1, 1 } },
- } },
- /* RGB16 */
- { PixelFormat::RGB565, {
- PixelColorType::RGB,
- 1,
- { { 16, 1, 1 } },
- } },
- { PixelFormat::BGR565, {
- PixelColorType::RGB,
- 1,
- { { 16, 1, 1 } },
- } },
- { PixelFormat::XRGB4444, {
- PixelColorType::RGB,
- 1,
- { { 16, 1, 1 } },
- } },
- { PixelFormat::XRGB1555, {
- PixelColorType::RGB,
- 1,
- { { 16, 1, 1 } },
- } },
- { PixelFormat::ARGB4444, {
- PixelColorType::RGB,
- 1,
- { { 16, 1, 1 } },
- } },
- { PixelFormat::ARGB1555, {
- PixelColorType::RGB,
- 1,
- { { 16, 1, 1 } },
- } },
- /* RGB24 */
- { PixelFormat::RGB888, {
- PixelColorType::RGB,
- 1,
- { { 24, 1, 1 } },
- } },
- { PixelFormat::BGR888, {
- PixelColorType::RGB,
- 1,
- { { 24, 1, 1 } },
- } },
- /* RGB32 */
- { PixelFormat::XRGB8888, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::XBGR8888, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::RGBX8888, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::BGRX8888, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
-
- { PixelFormat::ARGB8888, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::ABGR8888, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::RGBA8888, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::BGRA8888, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
-
- { PixelFormat::XRGB2101010, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::XBGR2101010, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::RGBX1010102, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::BGRX1010102, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
-
- { PixelFormat::ARGB2101010, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::ABGR2101010, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::RGBA1010102, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::BGRA1010102, {
- PixelColorType::RGB,
- 1,
- { { 32, 1, 1 } },
- } },
- { PixelFormat::SBGGR12, {
- PixelColorType::RAW,
- 1,
- { { 16, 1, 1 } },
- } },
- { PixelFormat::SRGGB12, {
- PixelColorType::RAW,
- 1,
- { { 16, 1, 1 } },
- } },
- { PixelFormat::META_8, {
- PixelColorType::RGB,
- 1,
- { { 8, 1, 1 } },
- } },
- { PixelFormat::META_16, {
- PixelColorType::RGB,
- 1,
- { { 16, 1, 1 } },
- } },
-};
-
-PixelFormat DRMFourCCToPixelFormat(const std::string& fourcc)
-{
- // Handle the formats which differ between DRM and V4L2
- if (fourcc == "RG16")
- return PixelFormat::RGB565;
- if (fourcc == "XR24")
- return PixelFormat::XRGB8888;
- if (fourcc == "RG24")
- return PixelFormat::RGB888;
-
- return FourCCToPixelFormat(fourcc);
-}
-
-const struct PixelFormatInfo& get_pixel_format_info(PixelFormat format)
-{
- if (!format_info_array.count(format))
- throw invalid_argument("v4l2: get_pixel_format_info: Unsupported pixelformat");
-
- return format_info_array.at(format);
-}
-
-} // namespace v4l2