mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
misc: rk628: post_process: Support csc matrix
Signed-off-by: Algea Cao <algea.cao@rock-chips.com> Change-Id: Icaef18f17bf35c4aff99489a0479f520bbc89a9b
This commit is contained in:
@@ -109,6 +109,8 @@
|
||||
#define SW_SPLIT_MODE(x) UPDATE(x, 1, 1)
|
||||
#define SW_SPLIT_EN BIT(0)
|
||||
#define GRF_CSC_CTRL_CON 0x0038
|
||||
#define SW_Y2R_MODE(x) HIWORD_UPDATE(x, 13, 12)
|
||||
#define SW_FROM_CSC_MATRIX_EN(x) HIWORD_UPDATE(x, 11, 11)
|
||||
#define SW_YUV2VYU_SWP(x) HIWORD_UPDATE(x, 8, 8)
|
||||
#define SW_R2Y_EN(x) HIWORD_UPDATE(x, 4, 4)
|
||||
#define SW_Y2R_EN(x) HIWORD_UPDATE(x, 0, 0)
|
||||
@@ -237,6 +239,14 @@
|
||||
#define BT1120_DSP_VTOTAL(x) UPDATE(x, 12, 0)
|
||||
#define GRF_BT1120_TIMING_CTRL3 0x019c
|
||||
#define BT1120_DSP_VACT_ST(x) UPDATE(x, 28, 16)
|
||||
#define GRF_CSC_MATRIX_COE01_COE00 0x01a0
|
||||
#define GRF_CSC_MATRIX_COE10_COE02 0x01a4
|
||||
#define GRF_CSC_MATRIX_COE12_COE11 0x01a8
|
||||
#define GRF_CSC_MATRIX_COE21_COE20 0x01ac
|
||||
#define GRF_CSC_MATRIX_COE22 0x01b0
|
||||
#define GRF_CSC_MATRIX_OFFSET0 0x01b4
|
||||
#define GRF_CSC_MATRIX_OFFSET1 0x01b8
|
||||
#define GRF_CSC_MATRIX_OFFSET2 0x01bc
|
||||
#define GRF_SOC_VERSION 0x0200
|
||||
#define GRF_OBS_REG 0X0300
|
||||
#define GRF_MAX_REGISTER GRF_OBS_REG
|
||||
@@ -363,6 +373,64 @@ enum rk628_mode_sync_pol {
|
||||
MODE_FLAG_PSYNC,
|
||||
};
|
||||
|
||||
/* see also http://vektor.theorem.ca/graphics/ycbcr/ */
|
||||
enum rk628_v4l2_colorspace {
|
||||
/*
|
||||
* Default colorspace, i.e. let the driver figure it out.
|
||||
* Can only be used with video capture.
|
||||
*/
|
||||
V4L2_COLORSPACE_DEFAULT = 0,
|
||||
|
||||
/* SMPTE 170M: used for broadcast NTSC/PAL SDTV */
|
||||
V4L2_COLORSPACE_SMPTE170M = 1,
|
||||
|
||||
/* Obsolete pre-1998 SMPTE 240M HDTV standard, superseded by Rec 709 */
|
||||
V4L2_COLORSPACE_SMPTE240M = 2,
|
||||
|
||||
/* Rec.709: used for HDTV */
|
||||
V4L2_COLORSPACE_REC709 = 3,
|
||||
|
||||
/*
|
||||
* Deprecated, do not use. No driver will ever return this. This was
|
||||
* based on a misunderstanding of the bt878 datasheet.
|
||||
*/
|
||||
V4L2_COLORSPACE_BT878 = 4,
|
||||
|
||||
/*
|
||||
* NTSC 1953 colorspace. This only makes sense when dealing with
|
||||
* really, really old NTSC recordings. Superseded by SMPTE 170M.
|
||||
*/
|
||||
V4L2_COLORSPACE_470_SYSTEM_M = 5,
|
||||
|
||||
/*
|
||||
* EBU Tech 3213 PAL/SECAM colorspace. This only makes sense when
|
||||
* dealing with really old PAL/SECAM recordings. Superseded by
|
||||
* SMPTE 170M.
|
||||
*/
|
||||
V4L2_COLORSPACE_470_SYSTEM_BG = 6,
|
||||
|
||||
/*
|
||||
* Effectively shorthand for V4L2_COLORSPACE_SRGB, V4L2_YCBCR_ENC_601
|
||||
* and V4L2_QUANTIZATION_FULL_RANGE. To be used for (Motion-)JPEG.
|
||||
*/
|
||||
V4L2_COLORSPACE_JPEG = 7,
|
||||
|
||||
/* For RGB colorspaces such as produces by most webcams. */
|
||||
V4L2_COLORSPACE_SRGB = 8,
|
||||
|
||||
/* opRGB colorspace */
|
||||
V4L2_COLORSPACE_OPRGB = 9,
|
||||
|
||||
/* BT.2020 colorspace, used for UHDTV. */
|
||||
V4L2_COLORSPACE_BT2020 = 10,
|
||||
|
||||
/* Raw colorspace: for RAW unprocessed images */
|
||||
V4L2_COLORSPACE_RAW = 11,
|
||||
|
||||
/* DCI-P3 colorspace, used by cinema projectors */
|
||||
V4L2_COLORSPACE_DCI_P3 = 12,
|
||||
};
|
||||
|
||||
#undef BT1120_DUAL_EDGE
|
||||
|
||||
struct rk628_videomode {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user