diff options
author | Paul Kocialkowski | 2024-09-03 19:12:34 +0200 |
---|---|---|
committer | Paul Kocialkowski | 2024-09-03 19:12:34 +0200 |
commit | c417690a4b7060f4b609b88ac943242ba474e7bf (patch) | |
tree | 2cb561648a9ff48c4ac7e1af87d38cb00a6e714f | |
parent | 8bbbb740320cabef1f54a2addc13fa7dc85ac594 (diff) |
media: cedrus: Add support for the NV16_32L32 pixel format
Signed-off-by: Paul Kocialkowski <paulk@sys-base.io>
-rw-r--r-- | drivers/staging/media/sunxi/cedrus/cedrus_hw.c | 1 | ||||
-rw-r--r-- | drivers/staging/media/sunxi/cedrus/cedrus_video.c | 19 |
2 files changed, 20 insertions, 0 deletions
diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c index 688220abacf9..efb6a5f70fd2 100644 --- a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c +++ b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c @@ -108,6 +108,7 @@ void cedrus_dst_format_set(struct cedrus_dev *dev, break; case V4L2_PIX_FMT_NV12_32L32: + case V4L2_PIX_FMT_NV16_32L32: default: reg = VE_PRIMARY_OUT_FMT_TILED_32_NV12; cedrus_write(dev, VE_PRIMARY_OUT_FMT, reg); diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_video.c b/drivers/staging/media/sunxi/cedrus/cedrus_video.c index 9655be4936d5..0fbd12bc71c7 100644 --- a/drivers/staging/media/sunxi/cedrus/cedrus_video.c +++ b/drivers/staging/media/sunxi/cedrus/cedrus_video.c @@ -69,6 +69,10 @@ static struct cedrus_format cedrus_formats[] = { .pixelformat = V4L2_PIX_FMT_NV12_32L32, .directions = CEDRUS_DECODE_DST, }, + { + .pixelformat = V4L2_PIX_FMT_NV16_32L32, + .directions = CEDRUS_DECODE_DST, + }, }; #define CEDRUS_FORMATS_COUNT ARRAY_SIZE(cedrus_formats) @@ -145,6 +149,21 @@ void cedrus_prepare_format(struct v4l2_pix_format *pix_fmt) break; + case V4L2_PIX_FMT_NV16_32L32: + /* 32-aligned stride. */ + bytesperline = ALIGN(width, 32); + + /* 32-aligned height. */ + height = ALIGN(height, 32); + + /* Luma plane size. */ + sizeimage = bytesperline * height; + + /* Chroma plane size. */ + sizeimage += bytesperline * height; + + break; + case V4L2_PIX_FMT_NV12: /* 16-aligned stride. */ bytesperline = ALIGN(width, 16); |