Commit b521c375 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] vivid: add the new planar and monochrome formats

Everything is in place to support these formats, so add them to
the list.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 1f9f23f6
...@@ -51,7 +51,7 @@ struct vivid_fmt vivid_formats[] = { ...@@ -51,7 +51,7 @@ struct vivid_fmt vivid_formats[] = {
.is_yuv = true, .is_yuv = true,
.planes = 1, .planes = 1,
.buffers = 1, .buffers = 1,
.data_offset = { PLANE0_DATA_OFFSET, 0 }, .data_offset = { PLANE0_DATA_OFFSET },
}, },
{ {
.name = "4:2:2, packed, UYVY", .name = "4:2:2, packed, UYVY",
...@@ -80,6 +80,78 @@ struct vivid_fmt vivid_formats[] = { ...@@ -80,6 +80,78 @@ struct vivid_fmt vivid_formats[] = {
.planes = 1, .planes = 1,
.buffers = 1, .buffers = 1,
}, },
{
.name = "YUV 4:2:2 triplanar",
.fourcc = V4L2_PIX_FMT_YUV422P,
.vdownsampling = { 1, 1, 1 },
.bit_depth = { 8, 4, 4 },
.is_yuv = true,
.planes = 3,
.buffers = 1,
},
{
.name = "YUV 4:2:0 triplanar",
.fourcc = V4L2_PIX_FMT_YUV420,
.vdownsampling = { 1, 2, 2 },
.bit_depth = { 8, 4, 4 },
.is_yuv = true,
.planes = 3,
.buffers = 1,
},
{
.name = "YVU 4:2:0 triplanar",
.fourcc = V4L2_PIX_FMT_YVU420,
.vdownsampling = { 1, 2, 2 },
.bit_depth = { 8, 4, 4 },
.is_yuv = true,
.planes = 3,
.buffers = 1,
},
{
.name = "YUV 4:2:0 biplanar",
.fourcc = V4L2_PIX_FMT_NV12,
.vdownsampling = { 1, 2 },
.bit_depth = { 8, 8 },
.is_yuv = true,
.planes = 2,
.buffers = 1,
},
{
.name = "YVU 4:2:0 biplanar",
.fourcc = V4L2_PIX_FMT_NV21,
.vdownsampling = { 1, 2 },
.bit_depth = { 8, 8 },
.is_yuv = true,
.planes = 2,
.buffers = 1,
},
{
.name = "YUV 4:2:2 biplanar",
.fourcc = V4L2_PIX_FMT_NV16,
.vdownsampling = { 1, 1 },
.bit_depth = { 8, 8 },
.is_yuv = true,
.planes = 2,
.buffers = 1,
},
{
.name = "YVU 4:2:2 biplanar",
.fourcc = V4L2_PIX_FMT_NV61,
.vdownsampling = { 1, 1 },
.bit_depth = { 8, 8 },
.is_yuv = true,
.planes = 2,
.buffers = 1,
},
{
.name = "Monochrome",
.fourcc = V4L2_PIX_FMT_GREY,
.vdownsampling = { 1 },
.bit_depth = { 8 },
.is_yuv = true,
.planes = 1,
.buffers = 1,
},
{ {
.name = "RGB565 (LE)", .name = "RGB565 (LE)",
.fourcc = V4L2_PIX_FMT_RGB565, /* gggbbbbb rrrrrggg */ .fourcc = V4L2_PIX_FMT_RGB565, /* gggbbbbb rrrrrggg */
...@@ -221,10 +293,46 @@ struct vivid_fmt vivid_formats[] = { ...@@ -221,10 +293,46 @@ struct vivid_fmt vivid_formats[] = {
.buffers = 2, .buffers = 2,
.data_offset = { 0, PLANE0_DATA_OFFSET }, .data_offset = { 0, PLANE0_DATA_OFFSET },
}, },
{
.name = "4:2:0, triplanar, YUV",
.fourcc = V4L2_PIX_FMT_YUV420M,
.vdownsampling = { 1, 2, 2 },
.bit_depth = { 8, 4, 4 },
.is_yuv = true,
.planes = 3,
.buffers = 3,
},
{
.name = "4:2:0, triplanar, YVU",
.fourcc = V4L2_PIX_FMT_YVU420M,
.vdownsampling = { 1, 2, 2 },
.bit_depth = { 8, 4, 4 },
.is_yuv = true,
.planes = 3,
.buffers = 3,
},
{
.name = "4:2:0, biplanar, YUV",
.fourcc = V4L2_PIX_FMT_NV12M,
.vdownsampling = { 1, 2 },
.bit_depth = { 8, 8 },
.is_yuv = true,
.planes = 2,
.buffers = 2,
},
{
.name = "4:2:0, biplanar, YVU",
.fourcc = V4L2_PIX_FMT_NV21M,
.vdownsampling = { 1, 2 },
.bit_depth = { 8, 8 },
.is_yuv = true,
.planes = 2,
.buffers = 2,
},
}; };
/* There are 2 multiplanar formats in the list */ /* There are 6 multiplanar formats in the list */
#define VIVID_MPLANAR_FORMATS 2 #define VIVID_MPLANAR_FORMATS 6
const struct vivid_fmt *vivid_get_format(struct vivid_dev *dev, u32 pixelformat) const struct vivid_fmt *vivid_get_format(struct vivid_dev *dev, u32 pixelformat)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment