video: rockchip: rga3: add support A8 format

Change-Id: I42e20aa3c9c88663fe7e4ce5ec50ce4e3581c188
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
This commit is contained in:
Yu Qiaowei
2023-09-26 15:44:22 +08:00
committed by Tao Huang
parent e251a2c567
commit f9fbfd4938
3 changed files with 12 additions and 0 deletions

View File

@@ -206,6 +206,7 @@ enum rga_surf_format {
RGA_FORMAT_ABGR_4444 = 0x2f,
RGA_FORMAT_RGBA_2BPP = 0x30,
RGA_FORMAT_A8 = 0x31,
RGA_FORMAT_UNKNOWN = 0x100,
};

View File

@@ -804,6 +804,10 @@ static void RGA2_set_reg_dst_info(u8 *base, struct rga2_req *msg)
bbp_shift = 2;
src1_alpha_swp = msg->osd_info.bpp2_info.ac_swap;
break;
case RGA_FORMAT_A8:
src1_format = 0x3;
spw = 1;
break;
default:
spw = 4;
break;

View File

@@ -88,6 +88,8 @@ bool rga_is_alpha_format(uint32_t format)
case RGA_FORMAT_ABGR_8888:
case RGA_FORMAT_ABGR_5551:
case RGA_FORMAT_ABGR_4444:
case RGA_FORMAT_A8:
return true;
default:
return false;
@@ -335,6 +337,8 @@ const char *rga_get_format_name(uint32_t format)
case RGA_FORMAT_RGBA_2BPP:
return "RGBA2BPP";
case RGA_FORMAT_A8:
return "alpha-8";
default:
return "UNF";
}
@@ -398,6 +402,7 @@ int rga_get_format_bits(uint32_t format)
break;
case RGA_FORMAT_YCbCr_400:
case RGA_FORMAT_BPP8:
case RGA_FORMAT_A8:
bits = 8;
break;
case RGA_FORMAT_Y4:
@@ -468,6 +473,7 @@ int rga_get_pixel_stride_from_format(uint32_t format)
case RGA_FORMAT_BPP4:
case RGA_FORMAT_BPP8:
case RGA_FORMAT_YCbCr_400:
case RGA_FORMAT_A8:
case RGA_FORMAT_YCbCr_420_SP:
case RGA_FORMAT_YCbCr_420_P:
case RGA_FORMAT_YCrCb_420_SP:
@@ -737,6 +743,7 @@ int rga_image_size_cal(int w, int h, int format,
v = uv;
break;
case RGA_FORMAT_YCbCr_400:
case RGA_FORMAT_A8:
yrgb = w * h;
break;
case RGA_FORMAT_Y4: