mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
video: rockchip: rga3: RGA3 support XRGB/XBGR8888/ARGB8888(AFBC)/ABGR8888(AFBC)
Change-Id: I02f9f3ad159c63a30ec6d19deef7a37f88a841d8 Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
This commit is contained in:
@@ -155,11 +155,13 @@ static void RGA3_set_reg_win0_info(u8 *base, struct rga3_req *msg)
|
||||
win_interleaved = 2;
|
||||
break;
|
||||
case RGA_FORMAT_ARGB_8888:
|
||||
case RGA_FORMAT_XRGB_8888:
|
||||
win_format = 0x9;
|
||||
pixel_width = 4;
|
||||
win_interleaved = 2;
|
||||
break;
|
||||
case RGA_FORMAT_ABGR_8888:
|
||||
case RGA_FORMAT_XBGR_8888:
|
||||
win_format = 0x7;
|
||||
pixel_width = 4;
|
||||
win_interleaved = 2;
|
||||
@@ -540,11 +542,13 @@ static void RGA3_set_reg_win1_info(u8 *base, struct rga3_req *msg)
|
||||
win_interleaved = 2;
|
||||
break;
|
||||
case RGA_FORMAT_ARGB_8888:
|
||||
case RGA_FORMAT_XRGB_8888:
|
||||
win_format = 0x9;
|
||||
pixel_width = 4;
|
||||
win_interleaved = 2;
|
||||
break;
|
||||
case RGA_FORMAT_ABGR_8888:
|
||||
case RGA_FORMAT_XBGR_8888:
|
||||
win_format = 0x7;
|
||||
pixel_width = 4;
|
||||
win_interleaved = 2;
|
||||
|
||||
@@ -34,6 +34,8 @@ const uint32_t rga3_input_raster_format[] = {
|
||||
RGA_FORMAT_YCrCb_422_SP_10B,
|
||||
RGA_FORMAT_ARGB_8888,
|
||||
RGA_FORMAT_ABGR_8888,
|
||||
RGA_FORMAT_XRGB_8888,
|
||||
RGA_FORMAT_XBGR_8888,
|
||||
};
|
||||
|
||||
const uint32_t rga3_output_raster_format[] = {
|
||||
@@ -60,6 +62,29 @@ const uint32_t rga3_output_raster_format[] = {
|
||||
};
|
||||
|
||||
const uint32_t rga3_fbcd_format[] = {
|
||||
RGA_FORMAT_RGBA_8888,
|
||||
RGA_FORMAT_BGRA_8888,
|
||||
RGA_FORMAT_RGBX_8888,
|
||||
RGA_FORMAT_BGRX_8888,
|
||||
RGA_FORMAT_ARGB_8888,
|
||||
RGA_FORMAT_ABGR_8888,
|
||||
RGA_FORMAT_XRGB_8888,
|
||||
RGA_FORMAT_XBGR_8888,
|
||||
RGA_FORMAT_RGB_888,
|
||||
RGA_FORMAT_BGR_888,
|
||||
RGA_FORMAT_RGB_565,
|
||||
RGA_FORMAT_BGR_565,
|
||||
RGA_FORMAT_YCbCr_422_SP,
|
||||
RGA_FORMAT_YCbCr_420_SP,
|
||||
RGA_FORMAT_YCrCb_422_SP,
|
||||
RGA_FORMAT_YCrCb_420_SP,
|
||||
RGA_FORMAT_YCbCr_420_SP_10B,
|
||||
RGA_FORMAT_YCrCb_420_SP_10B,
|
||||
RGA_FORMAT_YCbCr_422_SP_10B,
|
||||
RGA_FORMAT_YCrCb_422_SP_10B,
|
||||
};
|
||||
|
||||
const uint32_t rga3_fbce_format[] = {
|
||||
RGA_FORMAT_RGBA_8888,
|
||||
RGA_FORMAT_BGRA_8888,
|
||||
RGA_FORMAT_RGBX_8888,
|
||||
@@ -358,8 +383,8 @@ const struct rga_win_data rga3_win_data[] = {
|
||||
.name = "rga3-wr",
|
||||
.formats[RGA_RASTER_INDEX] = rga3_output_raster_format,
|
||||
.formats_count[RGA_RASTER_INDEX] = ARRAY_SIZE(rga3_output_raster_format),
|
||||
.formats[RGA_AFBC16x16_INDEX] = rga3_fbcd_format,
|
||||
.formats_count[RGA_AFBC16x16_INDEX] = ARRAY_SIZE(rga3_fbcd_format),
|
||||
.formats[RGA_AFBC16x16_INDEX] = rga3_fbce_format,
|
||||
.formats_count[RGA_AFBC16x16_INDEX] = ARRAY_SIZE(rga3_fbce_format),
|
||||
.formats[RGA_TILE8x8_INDEX] = rga3_tile_format,
|
||||
.formats_count[RGA_TILE8x8_INDEX] = ARRAY_SIZE(rga3_tile_format),
|
||||
.supported_rotations = 0,
|
||||
|
||||
Reference in New Issue
Block a user