[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250418032559.31043-1-jianhua.lin@mediatek.com>
Date: Fri, 18 Apr 2025 11:25:59 +0800
From: Jianhua Lin <jianhua.lin@...iatek.com>
To: <mchehab@...nel.org>, <matthias.bgg@...il.com>,
<angelogioacchino.delregno@...labora.com>
CC: <linux-kernel@...r.kernel.org>, <linux-arm-kernel@...ts.infradead.org>,
<linux-mediatek@...ts.infradead.org>,
<Project_Global_Chrome_Upstream_Group@...iatek.com>, jianhua.lin
<jianhua.lin@...iatek.com>
Subject: [PATCH 1/1] media: mediatek: jpeg: fix buffer alignment
From: "jianhua.lin" <jianhua.lin@...iatek.com>
The JPEG encoder image stride register must be MCU aligned.
For YUV422, it's 32-byte aligned, and for YUV420, it's
16-byte aligned.
The minimal DCT block size is 8x8, so the vertical buffer
alignment for YUV422 is 8-byte aligned, and for YUV420,
it's 16-byte aligned.
Signed-off-by: jianhua.lin <jianhua.lin@...iatek.com>
---
.../platform/mediatek/jpeg/mtk_jpeg_core.c | 24 +++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index 834d2a354692..7dd652e5b6d4 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -40,8 +40,8 @@ static struct mtk_jpeg_fmt mtk_jpeg_enc_formats[] = {
.h_sample = {4, 4},
.v_sample = {4, 2},
.colplanes = 2,
- .h_align = 4,
- .v_align = 4,
+ .h_align = 16,
+ .v_align = 16,
.flags = MTK_JPEG_FMT_FLAG_OUTPUT,
},
{
@@ -50,8 +50,8 @@ static struct mtk_jpeg_fmt mtk_jpeg_enc_formats[] = {
.h_sample = {4, 4},
.v_sample = {4, 2},
.colplanes = 2,
- .h_align = 4,
- .v_align = 4,
+ .h_align = 16,
+ .v_align = 16,
.flags = MTK_JPEG_FMT_FLAG_OUTPUT,
},
{
@@ -60,8 +60,8 @@ static struct mtk_jpeg_fmt mtk_jpeg_enc_formats[] = {
.h_sample = {8},
.v_sample = {4},
.colplanes = 1,
- .h_align = 5,
- .v_align = 3,
+ .h_align = 32,
+ .v_align = 8,
.flags = MTK_JPEG_FMT_FLAG_OUTPUT,
},
{
@@ -70,8 +70,8 @@ static struct mtk_jpeg_fmt mtk_jpeg_enc_formats[] = {
.h_sample = {8},
.v_sample = {4},
.colplanes = 1,
- .h_align = 5,
- .v_align = 3,
+ .h_align = 32,
+ .v_align = 8,
.flags = MTK_JPEG_FMT_FLAG_OUTPUT,
},
};
@@ -87,8 +87,8 @@ static struct mtk_jpeg_fmt mtk_jpeg_dec_formats[] = {
.h_sample = {4, 2, 2},
.v_sample = {4, 2, 2},
.colplanes = 3,
- .h_align = 5,
- .v_align = 4,
+ .h_align = 16,
+ .v_align = 16,
.flags = MTK_JPEG_FMT_FLAG_CAPTURE,
},
{
@@ -96,8 +96,8 @@ static struct mtk_jpeg_fmt mtk_jpeg_dec_formats[] = {
.h_sample = {4, 2, 2},
.v_sample = {4, 4, 4},
.colplanes = 3,
- .h_align = 5,
- .v_align = 3,
+ .h_align = 32,
+ .v_align = 8,
.flags = MTK_JPEG_FMT_FLAG_CAPTURE,
},
};
--
2.46.0
Powered by blists - more mailing lists