From b4510a377ba8e466174ad36a939b2a81d8f704b5 Mon Sep 17 00:00:00 2001 From: Karthikeyan Periasamy Date: Fri, 24 Jan 2020 17:37:22 -0800 Subject: [PATCH] msm: vidc: add RGBA UBWC colorformat support Video hardware supports RGBA888 compressed colorformat. So, adding RGBA support in driver. CRs-Fixed: 2610032 Change-Id: I5f69961c2df365058406fb8a1e5cb62e283385d0 Signed-off-by: Karthikeyan Periasamy --- msm/vidc/msm_venc.c | 5 +++++ msm/vidc/msm_vidc_bus.h | 1 + msm/vidc/msm_vidc_common.c | 8 ++++++++ 3 files changed, 14 insertions(+) diff --git a/msm/vidc/msm_venc.c b/msm/vidc/msm_venc.c index 4abee1515a5d..48ea0a4f390a 100644 --- a/msm/vidc/msm_venc.c +++ b/msm/vidc/msm_venc.c @@ -1056,6 +1056,11 @@ static struct msm_vidc_format_desc venc_input_formats[] = { .description = "Y/CbCr 4:2:0 512 aligned", .fourcc = V4L2_PIX_FMT_NV12_512, }, + { + .name = "32bit RGBA UBWC 8:8:8:8", + .description = "32-bit RGBA UBWC 8:8:8:8", + .fourcc = V4L2_PIX_FMT_RGBA8888_UBWC, + }, }; static struct msm_vidc_format_desc venc_output_formats[] = { diff --git a/msm/vidc/msm_vidc_bus.h b/msm/vidc/msm_vidc_bus.h index 2e91ddddddcd..fb7ab82e5c5c 100644 --- a/msm/vidc/msm_vidc_bus.h +++ b/msm/vidc/msm_vidc_bus.h @@ -245,6 +245,7 @@ static inline int __bpp(enum hal_uncompressed_format f, u32 sid) case HAL_COLOR_FORMAT_NV12: case HAL_COLOR_FORMAT_NV21: case HAL_COLOR_FORMAT_NV12_UBWC: + case HAL_COLOR_FORMAT_RGBA8888_UBWC: return 8; case HAL_COLOR_FORMAT_NV12_TP10_UBWC: case HAL_COLOR_FORMAT_P010: diff --git a/msm/vidc/msm_vidc_common.c b/msm/vidc/msm_vidc_common.c index b11cdf63a045..ce33735e9b54 100644 --- a/msm/vidc/msm_vidc_common.c +++ b/msm/vidc/msm_vidc_common.c @@ -909,6 +909,9 @@ enum hal_uncompressed_format msm_comm_get_hal_uncompressed(int fourcc) case V4L2_PIX_FMT_SDE_Y_CBCR_H2V2_P010_VENUS: format = HAL_COLOR_FORMAT_P010; break; + case V4L2_PIX_FMT_RGBA8888_UBWC: + format = HAL_COLOR_FORMAT_RGBA8888_UBWC; + break; default: format = HAL_UNUSED_COLOR; break; @@ -940,6 +943,9 @@ u32 msm_comm_get_hfi_uncompressed(int fourcc, u32 sid) case V4L2_PIX_FMT_SDE_Y_CBCR_H2V2_P010_VENUS: format = HFI_COLOR_FORMAT_P010; break; + case V4L2_PIX_FMT_RGBA8888_UBWC: + format = HFI_COLOR_FORMAT_RGBA8888_UBWC; + break; default: format = HFI_COLOR_FORMAT_NV12_UBWC; s_vpr_e(sid, "Invalid format, defaulting to UBWC"); @@ -3517,6 +3523,8 @@ u32 msm_comm_convert_color_fmt(u32 v4l2_fmt, u32 sid) return COLOR_FMT_NV12_UBWC; case V4L2_PIX_FMT_NV12_TP10_UBWC: return COLOR_FMT_NV12_BPP10_UBWC; + case V4L2_PIX_FMT_RGBA8888_UBWC: + return COLOR_FMT_RGBA8888_UBWC; default: s_vpr_e(sid, "Invalid v4l2 color fmt FMT : %x, Set default(NV12)",