34. CSC

34.1. 功能描述

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

34.2. API 参考

34.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

【注意】

【举例】

VI_PIPE ViPipe = 0;
ISP_CSC_ATTR_S stAttr;
CVI_ISP_GetCSCAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetCSCAttr(ViPipe, &stAttr);

【相关主题】

34.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

【注意】

【举例】

【相关主题】

34.3. 数据类型

34.3.1. ISP_CSC_ATTR_S

【说明】

定义CSC属性参数

【定义】

typedef struct _ISP_CSC_ATTR_S {
        CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
        ISP_CSC_COLORGAMUT enColorGamut;
        CVI_U8 UpdateInterval; /*Rw; Range:[0, 255]*/
        CVI_U8 Hue; /*Rw; Range:[0, 100]*/
        CVI_U8 Luma; /*Rw; Range:[0, 100]*/
        CVI_U8 Contrast; /*Rw; Range:[0, 100]*/
        CVI_U8 Saturation; /*Rw; Range:[0, 100]*/
        ISP_CSC_MATRX_S stUserMatrx;
} ISP_CSC_ATTR_S;

【成员】

成员名称

描述

Enable

模块使能开关

取值范围: [0, 1]

数据类型: CVI_BOOL

enColorGamut

色域转换类型选择

0: ISP_CSC_COLORGAMUT_BT601

1: ISP_CSC_COLORGAMUT_BT709

2: ISP_CSC_COLORGAMUT_BT2020

3: ISP_CSC_COLORGAMUT_USER

数据类型: ISP_CSC_COLORGAMUT

UpdateInterval

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

取值范围: [0, 255]

数据类型: CVI_U8

Hue

调节色度

取值范围: [0, 100]

数据类型: CVI_U8

Luma

调节亮度

取值范围: [0, 100]

数据类型: CVI_U8

Contrast

调节对比度

取值范围: [0, 100]

数据类型: CVI_U8

Saturation

调节饱和度

取值范围: [0, 100]

数据类型: CVI_U8

stUserMatrx

自定义色域转换矩阵

数据类型: ISP_CSC_MATRX_S

【注意事项】

【相关数据类型及接口】

34.3.2. ISP_CSC_MATRX_S

【说明】

定义自定义转换矩阵

【定义】

typedef struct _ISP_CSC_MATRX_S {
        CVI_S16 userCscCoef[CSC_MATRIX_SIZE]; /*Rw; Range:[-8192, 8191]*/
        CVI_S16 userCscOffset[CSC_OFFSET_SIZE]; /*Rw; Range:[-256, 255]*/
} ISP_CSC_MATRX_S;

【成员】

成员名称

描述

userCscCoef

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

取值范围: [-8192, 8191]

数据类型: CVI_S16

userCscOffset

输出offset

取值范围: [-256, 255]

数据类型: CVI_S16

【注意事项】

【相关数据类型及接口】