mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
video/rockchip/rga: Fix the error of dst R2Y color space abnormality.
This commit must be updated when using im2d api. Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com> Change-Id: I0cd8e53323f45c3410703f149587ea884cdbe624
This commit is contained in:
@@ -724,7 +724,7 @@ static s32 RGA_set_dst(u8 *base, const struct rga_req *msg)
|
||||
case RK_FORMAT_YCbCr_422_SP :
|
||||
*bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off) * stride) + ((x_off) * pw);
|
||||
*bRGA_DST_UV_MST = (u32)msg->dst.uv_addr + (y_off * stride) + x_off;
|
||||
*bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 4) & 3) << 4) | (0 << 3) | (0 << 1) | 1;
|
||||
*bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 2) & 3) << 4) | (0 << 3) | (0 << 1) | 1;
|
||||
break;
|
||||
case RK_FORMAT_YCbCr_422_P :
|
||||
*bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off) * stride) + ((x_off>>1) * pw);
|
||||
@@ -733,7 +733,7 @@ static s32 RGA_set_dst(u8 *base, const struct rga_req *msg)
|
||||
case RK_FORMAT_YCbCr_420_SP :
|
||||
*bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + ((x_off) * pw);
|
||||
*bRGA_DST_UV_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + x_off;
|
||||
*bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 4) & 3) << 4) | (0 << 3) | (1 << 1) | 1;
|
||||
*bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 2) & 3) << 4) | (0 << 3) | (1 << 1) | 1;
|
||||
break;
|
||||
case RK_FORMAT_YCbCr_420_P :
|
||||
*bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + ((x_off>>1) * pw);
|
||||
@@ -742,7 +742,7 @@ static s32 RGA_set_dst(u8 *base, const struct rga_req *msg)
|
||||
case RK_FORMAT_YCrCb_422_SP :
|
||||
*bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off) * stride) + ((x_off) * pw);
|
||||
*bRGA_DST_UV_MST = (u32)msg->dst.uv_addr + (y_off * stride) + x_off;
|
||||
*bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 4) & 3) << 4) | (1 << 3) | (0 << 1) | 1;
|
||||
*bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 2) & 3) << 4) | (1 << 3) | (0 << 1) | 1;
|
||||
break;
|
||||
case RK_FORMAT_YCrCb_422_P :
|
||||
*bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off) * stride) + ((x_off>>1) * pw);
|
||||
@@ -751,7 +751,7 @@ static s32 RGA_set_dst(u8 *base, const struct rga_req *msg)
|
||||
case RK_FORMAT_YCrCb_420_SP :
|
||||
*bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + ((x_off) * pw);
|
||||
*bRGA_DST_UV_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + x_off;
|
||||
*bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 4) & 3) << 4) | (1 << 3) | (1 << 1) | 1;
|
||||
*bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 2) & 3) << 4) | (1 << 3) | (1 << 1) | 1;
|
||||
break;
|
||||
case RK_FORMAT_YCrCb_420_P :
|
||||
*bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + ((x_off>>1) * pw);
|
||||
|
||||
Reference in New Issue
Block a user