• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <map>
2 
3 #include <kms++/pixelformats.h>
4 
5 using namespace std;
6 
7 namespace kms
8 {
9 static const map<PixelFormat, PixelFormatInfo> format_info_array = {
10 	/* YUV packed */
11 	{ PixelFormat::UYVY, { 1, { { 16, 2, 1 } }, } },
12 	{ PixelFormat::YUYV, { 1, { { 16, 2, 1 } }, } },
13 	{ PixelFormat::YVYU, { 1, { { 16, 2, 1 } }, } },
14 	{ PixelFormat::VYUY, { 1, { { 16, 2, 1 } }, } },
15 	/* YUV semi-planar */
16 	{ PixelFormat::NV12, { 2, { { 8, 1, 1, }, { 8, 2, 2 } }, } },
17 	{ PixelFormat::NV21, { 2, { { 8, 1, 1, }, { 8, 2, 2 } }, } },
18 	/* RGB16 */
19 	{ PixelFormat::RGB565, { 1, { { 16, 1, 1 } }, } },
20 	{ PixelFormat::BGR565, { 1, { { 16, 1, 1 } }, } },
21 	/* RGB24 */
22 	{ PixelFormat::RGB888, { 1, { { 24, 1, 1 } }, } },
23 	{ PixelFormat::BGR888, { 1, { { 24, 1, 1 } }, } },
24 	/* RGB32 */
25 	{ PixelFormat::XRGB8888, { 1, { { 32, 1, 1 } }, } },
26 	{ PixelFormat::XBGR8888, { 1, { { 32, 1, 1 } }, } },
27 	{ PixelFormat::ARGB8888, { 1, { { 32, 1, 1 } }, } },
28 	{ PixelFormat::ABGR8888, { 1, { { 32, 1, 1 } }, } },
29 };
30 
get_pixel_format_info(PixelFormat format)31 const struct PixelFormatInfo& get_pixel_format_info(PixelFormat format)
32 {
33 	return format_info_array.at(format);
34 }
35 
36 }
37