38. CSC

38.1. 功能描述

该功能提供了色域转换时的一些相关画质设定,通过设定hue、luma、saturation、contrast、色域转换标准规范类型,进而影响画面的效果,而无需知晓转换矩阵的计算过程,当然也可以让使用者直接通过设定转换矩阵的coeff和offset,进而影响画质效果

38.2. API 参考

38.2.1. CVI_ISP_SetCSCAttr

【描述】

设置CSC属性参数

【语法】

CVI_S32 CVI_ISP_SetCSCAttr(VI_PIPE ViPipe, const ISP_CSC_ATTR_S *pstCSCAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCSCAttr

CSC属性参数

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

无。

【举例】

无。

【相关主题】

38.2.2. CVI_ISP_GetCSCAttr

【描述】

获取CSC属性参数

【语法】

CVI_S32 CVI_ISP_GetCSCAttr(VI_PIPE ViPipe, ISP_CSC_ATTR_S *pstCSCAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCSCAttr

CSC属性参数

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

无。

【举例】

无。

【相关主题】

38.3. 数据类型

38.3.1. ISP_CSC_ATTR_S

【说明】

CSC属性参数

【定义】

typedef struct _ISP_CSC_ATTR_S {
   CVI_BOOL Enable;
   ISP_CSC_COLORGAMUT enColorGamut;
   CVI_U8 UpdateInterval;
   CVI_U8 Hue;
   CVI_U8 Luma;
   CVI_U8 Contrast;
   CVI_U8 Saturation;
   ISP_CSC_MATRX_S stUserMatrx;
} ISP_CSC_ATTR_S;

【成员】

成员名称

描述

Enable

CSC模块使能

取值范围: [0, 1]

数据类型: CVI_BOOL

UpdateInterval

影响参数更新间隔,值越大画面变化越慢,效能越好

取值范围: [0x0, 0xff]

数据类型: CVI_U8

enColorGamut

色域转换类型选择

0: ISP_CSC_COLORGAMUT_BT601

1: ISP_CSC_COLORGAMUT_BT709

2: ISP_CSC_COLORGAMUT_BT2020

3: ISP_CSC_COLORGAMUT_USER

Hue

调节色度

取值范围: [0x0, 0x64]

数据类型: CVI_U8

Luma

调节亮度

取值范围: [0x0, 0x64]

数据类型: CVI_U8

Contrast

调节对比度

取值范围: [0x0, 0x64]

数据类型: CVI_U8

Saturation

调节饱和度

取值范围: [0x0, 0x64]

数据类型: CVI_U8

stUserMatrx

自定义色域转换矩阵

【注意事项】

无。

【相关数据类型及接口】

38.3.2. ISP_CSC_COLORGAMUT

【说明】

色域转换类型选择

【定义】

typedef enum _ISP_CSC_COLORGAMUT {
   ISP_CSC_COLORGAMUT_BT601,
   ISP_CSC_COLORGAMUT_BT709,
   ISP_CSC_COLORGAMUT_BT2020,
   ISP_CSC_COLORGAMUT_USER,
   ISP_CSC_COLORGAMUT_NUM
} ISP_CSC_COLORGAMUT;

【成员】

成员名称

描述

ISP_CSC_COLORGAMUT_BT601

BT601色域转换标准

ISP_CSC_COLORGAMUT_BT709

BT709色域转换标准

ISP_CSC_COLORGAMUT_BT2020

BT2020 色域转换标准

ISP_CSC_COLORGAMUT_USER

自定义色域转换,与 ISP_CSC_MATRX_S 联合使用

【注意事项】

无。

【相关数据类型及接口】

38.3.3. ISP_CSC_MATRX_S

【说明】

自定义转换矩阵

【定义】

typedef struct _ISP_CSC_MATRX_S {
   CVI_S16 userCscCoef[CSC_MATRIX_SIZE];
   CVI_S16 userCscOffset[CSC_OFFSET_SIZE];
} ISP_CSC_MATRX_S;

【成员】

成员名称

描述

userCscCoef[CSC_MATRIX_SIZE]

3*3色域转换矩阵的系数

取值范围: [-0x2000, 0x1fff]

数据类型: CVI_S16

userCscOffset[CSC_OFFSET_SIZE]

输出offset

取值范围: [-0x100, 0xff]

数据类型: CVI_S16

【注意事项】

无。

【相关数据类型及接口】