video: rockchip: rga3: Fix hardware support format

1. RGA3 support ARGB/ABGR8888 input.
2. RGA3 support YUV420 packed output.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I7680ed7b0218998f67e0d1ed40cc2ad3690b8572
This commit is contained in:
Yu Qiaowei
2022-03-03 11:33:08 +08:00
committed by Tao Huang
parent 5c988d7aa1
commit 431ced4368

View File

@@ -8,7 +8,30 @@
#include "rga_hw_config.h"
const uint32_t rga3_raster_format[] = {
const uint32_t rga3_input_raster_format[] = {
RGA_FORMAT_RGBA_8888,
RGA_FORMAT_BGRA_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_YVYU_422,
RGA_FORMAT_VYUY_422,
RGA_FORMAT_YUYV_422,
RGA_FORMAT_UYVY_422,
RGA_FORMAT_YCbCr_420_SP_10B,
RGA_FORMAT_YCrCb_420_SP_10B,
RGA_FORMAT_YCbCr_422_SP_10B,
RGA_FORMAT_YCrCb_422_SP_10B,
RGA_FORMAT_ARGB_8888,
RGA_FORMAT_ABGR_8888,
};
const uint32_t rga3_output_raster_format[] = {
RGA_FORMAT_RGBA_8888,
RGA_FORMAT_BGRA_8888,
RGA_FORMAT_RGB_888,
@@ -57,7 +80,7 @@ const uint32_t rga3_tile_format[] = {
RGA_FORMAT_YCrCb_422_SP_10B,
};
const uint32_t rga2e_raster_format[] = {
const uint32_t rga2e_input_raster_format[] = {
RGA_FORMAT_RGBA_8888,
RGA_FORMAT_RGBX_8888,
RGA_FORMAT_BGRA_8888,
@@ -82,7 +105,6 @@ const uint32_t rga2e_raster_format[] = {
RGA_FORMAT_YCrCb_420_SP_10B,
RGA_FORMAT_YCbCr_422_SP_10B,
RGA_FORMAT_YCrCb_422_SP_10B,
RGA_FORMAT_Y4,
RGA_FORMAT_YCbCr_400,
RGA_FORMAT_RGBA_5551,
RGA_FORMAT_BGRA_5551,
@@ -102,11 +124,56 @@ const uint32_t rga2e_raster_format[] = {
RGA_FORMAT_ABGR_4444,
};
const uint32_t rga2e_output_raster_format[] = {
RGA_FORMAT_RGBA_8888,
RGA_FORMAT_RGBX_8888,
RGA_FORMAT_BGRA_8888,
RGA_FORMAT_BGRX_8888,
RGA_FORMAT_RGB_888,
RGA_FORMAT_BGR_888,
RGA_FORMAT_RGB_565,
RGA_FORMAT_BGR_565,
RGA_FORMAT_YCbCr_422_P,
RGA_FORMAT_YCbCr_420_P,
RGA_FORMAT_YCrCb_422_P,
RGA_FORMAT_YCrCb_420_P,
RGA_FORMAT_YCbCr_422_SP,
RGA_FORMAT_YCbCr_420_SP,
RGA_FORMAT_YCrCb_422_SP,
RGA_FORMAT_YCrCb_420_SP,
RGA_FORMAT_YVYU_420,
RGA_FORMAT_VYUY_420,
RGA_FORMAT_YUYV_420,
RGA_FORMAT_UYVY_420,
RGA_FORMAT_YVYU_422,
RGA_FORMAT_VYUY_422,
RGA_FORMAT_YUYV_422,
RGA_FORMAT_UYVY_422,
RGA_FORMAT_YCbCr_420_SP_10B,
RGA_FORMAT_YCrCb_420_SP_10B,
RGA_FORMAT_YCbCr_422_SP_10B,
RGA_FORMAT_YCrCb_422_SP_10B,
RGA_FORMAT_Y4,
RGA_FORMAT_YCbCr_400,
RGA_FORMAT_RGBA_5551,
RGA_FORMAT_BGRA_5551,
RGA_FORMAT_RGBA_4444,
RGA_FORMAT_BGRA_4444,
RGA_FORMAT_XRGB_8888,
RGA_FORMAT_XBGR_8888,
RGA_FORMAT_ARGB_8888,
RGA_FORMAT_ARGB_5551,
RGA_FORMAT_ARGB_4444,
RGA_FORMAT_ABGR_8888,
RGA_FORMAT_ABGR_5551,
RGA_FORMAT_ABGR_4444,
};
const struct rga_win_data rga3_win_data[] = {
{
.name = "rga3-win0",
.raster_formats = rga3_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga3_raster_format),
.raster_formats = rga3_input_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga3_input_raster_format),
.fbc_formats = rga3_fbcd_format,
.num_of_fbc_formats = ARRAY_SIZE(rga3_fbcd_format),
.tile_formats = rga3_tile_format,
@@ -120,8 +187,8 @@ const struct rga_win_data rga3_win_data[] = {
{
.name = "rga3-win1",
.raster_formats = rga3_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga3_raster_format),
.raster_formats = rga3_input_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga3_input_raster_format),
.fbc_formats = rga3_fbcd_format,
.num_of_fbc_formats = ARRAY_SIZE(rga3_fbcd_format),
.tile_formats = rga3_tile_format,
@@ -135,8 +202,8 @@ const struct rga_win_data rga3_win_data[] = {
{
.name = "rga3-wr",
.raster_formats = rga3_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga3_raster_format),
.raster_formats = rga3_output_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga3_output_raster_format),
.fbc_formats = rga3_fbcd_format,
.num_of_fbc_formats = ARRAY_SIZE(rga3_fbcd_format),
.tile_formats = rga3_tile_format,
@@ -152,8 +219,8 @@ const struct rga_win_data rga3_win_data[] = {
const struct rga_win_data rga2e_win_data[] = {
{
.name = "rga2e-src0",
.raster_formats = rga2e_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga2e_raster_format),
.raster_formats = rga2e_input_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga2e_input_raster_format),
.supported_rotations = RGA_MODE_ROTATE_MASK,
.scale_up_mode = RGA_SCALE_UP_BIC,
.scale_down_mode = RGA_SCALE_DOWN_AVG,
@@ -163,8 +230,8 @@ const struct rga_win_data rga2e_win_data[] = {
{
.name = "rga2e-src1",
.raster_formats = rga2e_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga2e_raster_format),
.raster_formats = rga2e_input_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga2e_input_raster_format),
.supported_rotations = RGA_MODE_ROTATE_MASK,
.scale_up_mode = RGA_SCALE_UP_BIC,
.scale_down_mode = RGA_SCALE_DOWN_AVG,
@@ -174,8 +241,8 @@ const struct rga_win_data rga2e_win_data[] = {
{
.name = "rga2-dst",
.raster_formats = rga2e_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga2e_raster_format),
.raster_formats = rga2e_output_raster_format,
.num_of_raster_formats = ARRAY_SIZE(rga2e_output_raster_format),
.supported_rotations = 0,
.scale_up_mode = RGA_SCALE_UP_NONE,
.scale_down_mode = RGA_SCALE_DOWN_NONE,