16. TNR

16.1. Functional Description

in YUV Domain perform whendomainnoise reductionalgorithm, alsonameis 3DNR.

16.2. API Reference

16.2.1. CVI_ISP_SetTNRAttr

[Description]

SetTNR attribute parameters

[Syntax]

CVI_S32 CVI_ISP_SetTNRAttr(VI_PIPE ViPipe, const ISP_TNR_ATTR_S *pstTNRAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstTNRAttr

TNR attribute parameters

Input

[Return Value]

Return Value

Description

0

Success

Non-zero

Failure, whose value is Error Code.

[Requirements]

  • Header File: cvi_isp.h, cvi_comm_isp.h

  • Library File: libisp.so

[Note]

None

[Example]

VI_PIPE ViPipe = 0;
ISP_TNR_ATTR_S stAttr;
CVI_ISP_GetTNRAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetTNRAttr(ViPipe, &stAttr);

[Related Topics]

16.2.2. CVI_ISP_GetTNRAttr

[Description]

GetTNR attribute parameters

[Syntax]

CVI_S32 CVI_ISP_GetTNRAttr(VI_PIPE ViPipe, ISP_TNR_ATTR_S *pstTNRAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstTNRAttr

TNR attribute parameters

output

[Return Value]

Return Value

Description

0

Success

Non-zero

Failure, whose value is Error Code.

[Requirements]

  • Header File: cvi_isp.h, cvi_comm_isp.h

  • Library File: libisp.so

[Note]

None

[Example]

None

[Related Topics]

16.2.3. CVI_ISP_SetTNRMvAttr

[Description]

SetTNR MV attribute parameters

[Syntax]

CVI_S32 CVI_ISP_SetTNRMvAttr(VI_PIPE ViPipe, const ISP_TNR_MV_ATTR_S *pstTNRMvAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstTNRMvAttr

TNR MV attribute parameters

Input

[Return Value]

Return Value

Description

0

Success

Non-zero

Failure, whose value is Error Code.

[Requirements]

  • Header File: cvi_isp.h, cvi_comm_isp.h

  • Library File: libisp.so

[Note]

None

[Example]

VI_PIPE ViPipe = 0;
ISP_TNR_MV_ATTR_S stAttr;
CVI_ISP_GetTNRMvAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetTNRMvAttr(ViPipe, &stAttr);

[Related Topics]

16.2.4. CVI_ISP_GetTNRMvAttr

[Description]

GetTNR MV attribute parameters

[Syntax]

CVI_S32 CVI_ISP_GetTNRMvAttr(VI_PIPE ViPipe, ISP_TNR_MV_ATTR_S *pstTNRMvAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstTNRMvAttr

TNR MV attribute parameters

output

[Return Value]

Return Value

Description

0

Success

Non-zero

Failure, whose value is Error Code.

[Requirements]

  • Header File: cvi_isp.h, cvi_comm_isp.h

  • Library File: libisp.so

[Note]

None

[Example]

None

[Related Topics]

16.2.5. CVI_ISP_SetTNRPsAttr

[Description]

SetTNR PS attribute parameters

[Syntax]

CVI_S32 CVI_ISP_SetTNRPsAttr(VI_PIPE ViPipe, const ISP_TNR_PS_ATTR_S *pstTNRPsAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstTNRPsAttr

TNR PS attribute parameters

Input

[Return Value]

Return Value

Description

0

Success

Non-zero

Failure, whose value is Error Code.

[Requirements]

  • Header File: cvi_isp.h, cvi_comm_isp.h

  • Library File: libisp.so

[Note]

None

[Example]

VI_PIPE ViPipe = 0;
ISP_TNR_PS_ATTR_S stAttr;
CVI_ISP_GetTNRPsAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetTNRPsAttr(ViPipe, &stAttr);

[Related Topics]

16.2.6. CVI_ISP_GetTNRPsAttr

[Description]

GetTNR PS attribute parameters

[Syntax]

CVI_S32 CVI_ISP_GetTNRPsAttr(VI_PIPE ViPipe, ISP_TNR_PS_ATTR_S *pstTNRPsAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstTNRPsAttr

TNR PS attribute parameters

output

[Return Value]

Return Value

Description

0

Success

Non-zero

Failure, whose value is Error Code.

[Requirements]

  • Header File: cvi_isp.h, cvi_comm_isp.h

  • Library File: libisp.so

[Note]

None

[Example]

None

[Related Topics]

16.2.7. CVI_ISP_SetTNRNrAttr

[Description]

SetTNR NR attribute parameters

[Syntax]

CVI_S32 CVI_ISP_SetTNRNrAttr(VI_PIPE ViPipe, const ISP_TNR_NR_ATTR_S *pstTNRNrAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstTNRNrAttr

TNR NR attribute parameters

Input

[Return Value]

Return Value

Description

0

Success

Non-zero

Failure, whose value is Error Code.

[Requirements]

  • Header File: cvi_isp.h, cvi_comm_isp.h

  • Library File: libisp.so

[Note]

None

[Example]

VI_PIPE ViPipe = 0;
ISP_TNR_NR_ATTR_S stAttr;
CVI_ISP_GetTNRNrAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetTNRNrAttr(ViPipe, &stAttr);

[Related Topics]

16.2.8. CVI_ISP_GetTNRNrAttr

[Description]

GetTNR NR attribute parameters

[Syntax]

CVI_S32 CVI_ISP_GetTNRNrAttr(VI_PIPE ViPipe, ISP_TNR_NR_ATTR_S *pstTNRNrAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstTNRNrAttr

TNR NR attribute parameters

output

[Return Value]

Return Value

Description

0

Success

Non-zero

Failure, whose value is Error Code.

[Requirements]

  • Header File: cvi_isp.h, cvi_comm_isp.h

  • Library File: libisp.so

[Note]

None

[Example]

None

[Related Topics]

16.3. Data Types

16.3.1. ISP_TNR_MANUAL_ATTR_S

[Description]

Manual DefinitionTNR attribute parameters

[Definition]

typedef struct _ISP_TNR_MANUAL_ATTR_S {
        CVI_U8 DyBlurStr; /*Rw; Range:[0, 3]*/
        CVI_U8 DyBlurYWt[TNR_STATUS_NUM]; /*Rw; Range:[0, 15]*/
} ISP_TNR_MANUAL_ATTR_S;

[Members]

Member Name

Description

DyBlurStr

None

Value Range: [0, 3]

Data Types: CVI_U8

DyBlurYWt

Adjust Y channelwhendomainfilteringstrength

Value Range: [0, 15]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

16.3.2. ISP_TNR_AUTO_ATTR_S

[Description]

Automatic DefinitionTNR attribute parameters

[Definition]

typedef struct _ISP_TNR_AUTO_ATTR_S {
        CVI_U8 DyBlurStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 3]*/
        CVI_U8 DyBlurYWt[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 15]*/
} ISP_TNR_AUTO_ATTR_S;

[Members]

Member Name

Description

DyBlurStr

None

Value Range: [0, 3]

Data Types: CVI_U8

DyBlurYWt

Adjust Y channelwhendomainfilteringstrength

Value Range: [0, 15]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

16.3.3. ISP_TNR_ATTR_S

[Description]

Defines TNR attribute parameters

[Definition]

typedef struct _ISP_TNR_ATTR_S {
        CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
        ISP_OP_TYPE_E enOpType;
        CVI_U8 updateInterval; /*Rw; Range:[0, 255]*/
        CVI_U8 DbgMode; /*Rw; Range:[0, 8]*/
        CVI_U8 DyBlurUVWt; /*Rw; Range:[0, 15]*/
        CVI_U8 DyBlurJndTh; /*Rw; Range:[0, 31]*/
        ISP_TNR_MANUAL_ATTR_S stManual;
        ISP_TNR_AUTO_ATTR_S stAuto;
} ISP_TNR_ATTR_S;

[Members]

Member Name

Description

Enable

module enable switch

Value Range: [0, 1]

Data Types: CVI_BOOL

enOpType

operation type

OP_TYPE_AUTO: automatic mode

OP_TYPE_MANUAL: manual mode

Data Types: ISP_OP_TYPE_E

updateInterval

affects the parameter update interval,the larger the value, the slower the image changes,the better the performance.

Value Range: [0, 255]

Data Types: CVI_U8

DbgMode

Set debugmode, useinoutputcanvisualtransformauxiliaryinformation.

Value Range: [0, 8]

Data Types: CVI_U8

DyBlurUVWt

Adjust UV channelwhendomainfilteringstrength

Value Range: [0, 15]

Data Types: CVI_U8

DyBlurJndTh

None

Value Range: [0, 31]

Data Types: CVI_U8

stManual

manual parameters

stAuto

automatic parameters

[Precautions]

None

[Related Data Types and Interfaces]

16.3.4. ISP_TNR_MV_MANUAL_ATTR_S

[Description]

Manual DefinitionTNR MV attribute parameters

[Definition]

typedef struct _ISP_TNR_MV_MANUAL_ATTR_S {
        CVI_U8 StableIntensity; /*Rw; Range:[0, 8]*/
        CVI_U8 L0YPSSBlur; /*Rw; Range:[0, 255]*/
        CVI_U16 AcbdSadAdj[TNR_ACBD_RANK]; /*Rw; Range:[0, 16383]*/
        CVI_U8 AcbdEdgeAdj[TNR_ACBD_RANK]; /*Rw; Range:[0, 16]*/
        CVI_U8 LumaJndTh[TNR_LUMA_RANK]; /*Rw; Range:[0, 255]*/
        CVI_U8 LumaJndRatio; /*Rw; Range:[0, 255]*/
        CVI_U8 JndSadWt; /*Rw; Range:[0, 15]*/
        CVI_U16 WarpB0[TNR_LUMA_RANK]; /*Rw; Range:[0, 16383]*/
        CVI_U8 WarpEdge[TNR_LUMA_RANK]; /*Rw; Range:[0, 63]*/
        CVI_U16 WarpBase[TNR_LUMA_RANK]; /*Rw; Range:[0, 16383]*/
        CVI_U16 WarpStd[TNR_LUMA_RANK]; /*Rw; Range:[0, 16383]*/
} ISP_TNR_MV_MANUAL_ATTR_S;

[Members]

Member Name

Description

StableIntensity

stablepropertysystemnumber, Controlmotionafterimagechangestable speed, the larger the value, imagethe morestable

Value Range: [0, 8]

Data Types: CVI_U8

L0YPSSBlur

None

Value Range: [0, 255]

Data Types: CVI_U8

AcbdSadAdj

detailAdjustdifferentlightflowvalue setsignaldegreepenaltyparameternumber, corresponding the larger the value, the morenotsignalanythelightflowvalue. correspondingclosesystemsameAcbdEdgeAdj

Value Range: [0, 16383]

Data Types: CVI_U16

AcbdEdgeAdj

coarseAdjustdifferentlightflowvalue penaltysystemnumber, corresponding the larger the value, the morenotsignalanythelightflowvalue. AcbdEdgeAdj[0]~AcbdEdgeAdj[3]respectivelyControlcurrentframelightflowvalue, beforeoneframecurrentblocklightflowvalue, beforeoneframenon-currentblocklightflowvalue, randomlightflowvalue penaltyvalue

Value Range: [0, 16]

Data Types: CVI_U8

LumaJndTh

automaticAdjustlightflowpenaltyvalue brightnessthreshold

Value Range: [0, 255]

Data Types: CVI_U8

LumaJndRatio

automaticAdjustlightflowpenaltyvalue ratioexample, 255is1xnotAdjust, smallin255thenetc.ratioexamplereducesmall

Value Range: [0, 255]

Data Types: CVI_U8

JndSadWt

None

Value Range: [0, 15]

Data Types: CVI_U8

WarpB0

currentafterframedifferencesmallinWarpB0when, consideristheregionisstationary region. the larger the value, the moreeasydeterminesetisstationary

Value Range: [0, 16383]

Data Types: CVI_U16

WarpEdge

detailsregion noiseincreaseweightparameternumber. the larger the valuefornoisetolerancedegreethe morelarge, thiswhenbe affected bynoisedisturbmove stationary regiondomainrelativelyeasyisdeterminesetisstationarystatus. valuethroughlargewillmakeslightsmallmovementregioniserrordetermineisstationary. canpartbrightnessSetdifferent value

Value Range: [0, 63]

Data Types: CVI_U8

WarpBase

flat regiondomain noisebiasmoveamountparameternumber

Value Range: [0, 16383]

Data Types: CVI_U16

WarpStd

Controlmotionstatusdetermine basenumber, the larger the value, fornoise tolerancedegreethe morelarge, the morenoteasyisdetermineismotion region. canpartbrightnessSetdifferent value

Value Range: [0, 16383]

Data Types: CVI_U16

[Precautions]

None

[Related Data Types and Interfaces]

16.3.5. ISP_TNR_MV_AUTO_ATTR_S

[Description]

Automatic DefinitionTNR MV attribute parameters

[Definition]

typedef struct _ISP_TNR_MV_AUTO_ATTR_S {
        CVI_U8 StableIntensity[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 8]*/
        CVI_U8 L0YPSSBlur[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U16 AcbdSadAdj[TNR_ACBD_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16383]*/
        CVI_U8 AcbdEdgeAdj[TNR_ACBD_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16]*/
        CVI_U8 LumaJndTh[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 LumaJndRatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 JndSadWt[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 15]*/
        CVI_U16 WarpB0[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16383]*/
        CVI_U8 WarpEdge[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 63]*/
        CVI_U16 WarpBase[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16383]*/
        CVI_U16 WarpStd[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16383]*/
} ISP_TNR_MV_AUTO_ATTR_S;

[Members]

Member Name

Description

StableIntensity

stablepropertysystemnumber, Controlmotionafterimagechangestable speed, the larger the value, imagethe morestable

Value Range: [0, 8]

Data Types: CVI_U8

L0YPSSBlur

None

Value Range: [0, 255]

Data Types: CVI_U8

AcbdSadAdj

detailAdjustdifferentlightflowvalue setsignaldegreepenaltyparameternumber, corresponding the larger the value, the morenotsignalanythelightflowvalue. correspondingclosesystemsameAcbdEdgeAdj

Value Range: [0, 16383]

Data Types: CVI_U16

AcbdEdgeAdj

coarseAdjustdifferentlightflowvalue penaltysystemnumber, corresponding the larger the value, the morenotsignalanythelightflowvalue. AcbdEdgeAdj[0]~AcbdEdgeAdj[3]respectivelyControlcurrentframelightflowvalue, beforeoneframecurrentblocklightflowvalue, beforeoneframenon-currentblocklightflowvalue, randomlightflowvalue penaltyvalue

Value Range: [0, 16]

Data Types: CVI_U8

LumaJndTh

automaticAdjustlightflowpenaltyvalue brightnessthreshold

Value Range: [0, 255]

Data Types: CVI_U8

LumaJndRatio

automaticAdjustlightflowpenaltyvalue ratioexample, 255is1xnotAdjust, smallin255thenetc.ratioexamplereducesmall

Value Range: [0, 255]

Data Types: CVI_U8

JndSadWt

None

Value Range: [0, 15]

Data Types: CVI_U8

WarpB0

currentafterframedifferencesmallinWarpB0when, consideristheregionisstationary region. the larger the value, the moreeasydeterminesetisstationary

Value Range: [0, 16383]

Data Types: CVI_U16

WarpEdge

detailsregion noiseincreaseweightparameternumber. the larger the valuefornoisetolerancedegreethe morelarge, thiswhenbe affected bynoisedisturbmove stationary regiondomainrelativelyeasyisdeterminesetisstationarystatus. valuethroughlargewillmakeslightsmallmovementregioniserrordetermineisstationary. canpartbrightnessSetdifferent value

Value Range: [0, 63]

Data Types: CVI_U8

WarpBase

flat regiondomain noisebiasmoveamountparameternumber

Value Range: [0, 16383]

Data Types: CVI_U16

WarpStd

Controlmotionstatusdetermine basenumber, the larger the value, fornoise tolerancedegreethe morelarge, the morenoteasyisdetermineismotion region. canpartbrightnessSetdifferent value

Value Range: [0, 16383]

Data Types: CVI_U16

[Precautions]

None

[Related Data Types and Interfaces]

16.3.6. ISP_TNR_MV_ATTR_S

[Description]

Defines TNR MV attribute parameters

[Definition]

typedef struct _ISP_TNR_MV_ATTR_S {
        CVI_BOOL NullFlowEn; /*Rw; Range:[0, 1]*/
        ISP_TNR_MV_MANUAL_ATTR_S stManual;
        ISP_TNR_MV_AUTO_ATTR_S stAuto;
} ISP_TNR_MV_ATTR_S;

[Members]

Member Name

Description

NullFlowEn

None

Value Range: [0, 1]

Data Types: CVI_BOOL

stManual

manual parameters

stAuto

automatic parameters

[Precautions]

None

[Related Data Types and Interfaces]

16.3.7. ISP_TNR_PS_MANUAL_ATTR_S

[Description]

Manual DefinitionTNR PS attribute parameters

[Definition]

typedef struct _ISP_TNR_PS_MANUAL_ATTR_S {
        CVI_U8 JndStdRange[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 32]*/
        CVI_U8 WarpStdRange[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 32]*/
        CVI_U8 NbrBldRatio[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 255]*/
        CVI_U16 StillRegionTh[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 65535]*/
        CVI_U8 FlowJndTh; /*Rw; Range:[0, 63]*/
} ISP_TNR_PS_MANUAL_ATTR_S;

[Members]

Member Name

Description

JndStdRange

None

Value Range: [0, 32]

Data Types: CVI_U8

WarpStdRange

according tomotioncompensationestablishnoisemodelwhen, Controlmotionstatusdetermine systemnumber. WarpStdRange[0]: Controlstationary regionandconversionregion systemnumber, the larger the value, the moremultiple regionisdetermineisstationary region; WarpStdRange[1]: Controlconversionregionandmotion region systemnumber, the larger the value, the moremultiple regionisdetermineisconversionregion. WarpStdRange[0]needsmallinWarpStdRange[1]

Value Range: [0, 32]

Data Types: CVI_U8

NbrBldRatio

None

Value Range: [0, 255]

Data Types: CVI_U8

StillRegionTh

flat region, largeedgeregion dividepartthreshold. featurevaluesmallinStillRegionTh[0] regionconsiderisisflat region; featurevaluelargeinStillRegionTh[1] regionconsiderisislargeedgeregion; itsremainingpartconsiderisistextureregion. thispart settingswillaffectsstationary regioninfiltering processing

Value Range: [0, 65535]

Data Types: CVI_U16

FlowJndTh

willaroundlightflowvaluelength>FlowJndTh stationary region, againDefine isnon-stationary region

Value Range: [0, 63]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

16.3.8. ISP_TNR_PS_AUTO_ATTR_S

[Description]

Automatic DefinitionTNR PS attribute parameters

[Definition]

typedef struct _ISP_TNR_PS_AUTO_ATTR_S {
        CVI_U8 JndStdRange[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 32]*/
        CVI_U8 WarpStdRange[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 32]*/
        CVI_U8 NbrBldRatio[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U16 StillRegionTh[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 65535]*/
        CVI_U8 FlowJndTh[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 63]*/
} ISP_TNR_PS_AUTO_ATTR_S;

[Members]

Member Name

Description

JndStdRange

None

Value Range: [0, 32]

Data Types: CVI_U8

WarpStdRange

according tomotioncompensationestablishnoisemodelwhen, Controlmotionstatusdetermine systemnumber. WarpStdRange[0]: Controlstationary regionandconversionregion systemnumber, the larger the value, the moremultiple regionisdetermineisstationary region; WarpStdRange[1]: Controlconversionregionandmotion region systemnumber, the larger the value, the moremultiple regionisdetermineisconversionregion. WarpStdRange[0]needsmallinWarpStdRange[1]

Value Range: [0, 32]

Data Types: CVI_U8

NbrBldRatio

None

Value Range: [0, 255]

Data Types: CVI_U8

StillRegionTh

flat region, largeedgeregion dividepartthreshold. featurevaluesmallinStillRegionTh[0] regionconsiderisisflat region; featurevaluelargeinStillRegionTh[1] regionconsiderisislargeedgeregion; itsremainingpartconsiderisistextureregion. thispart settingswillaffectsstationary regioninfiltering processing

Value Range: [0, 65535]

Data Types: CVI_U16

FlowJndTh

willaroundlightflowvaluelength>FlowJndTh stationary region, againDefine isnon-stationary region

Value Range: [0, 63]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

16.3.9. ISP_TNR_PS_ATTR_S

[Description]

Defines TNR PS attribute parameters

[Definition]

typedef struct _ISP_TNR_PS_ATTR_S {
        CVI_BOOL SadDebiasEN; /*Rw; Range:[0, 1]*/
        CVI_U8 SadLpfMode; /*Rw; Range:[0, 3]*/
        ISP_TNR_PS_MANUAL_ATTR_S stManual;
        ISP_TNR_PS_AUTO_ATTR_S stAuto;
} ISP_TNR_PS_ATTR_S;

[Members]

Member Name

Description

SadDebiasEN

None

Value Range: [0, 1]

Data Types: CVI_BOOL

SadLpfMode

None

Value Range: [0, 3]

Data Types: CVI_U8

stManual

manual parameters

stAuto

automatic parameters

[Precautions]

None

[Related Data Types and Interfaces]

16.3.10. ISP_TNR_NR_MANUAL_ATTR_S

[Description]

Manual DefinitionTNR NR attribute parameters

[Definition]

typedef struct _ISP_TNR_NR_MANUAL_ATTR_S {
        CVI_U8 L0YBlurStr[TNR_STATUS_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L0YSigmaStr[TNR_STATUS_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L0UVSigmaStr[TNR_STATUS_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U16 L0YGardBlurTh; /*Rw; Range:[0, 65535]*/
        CVI_U8 L0YGardBlurStr; /*Rw; Range:[0, 255]*/
        CVI_U8 L1PFTStr[TNR_FREQ_RANK]; /*Rw; Range:[0, 255]*/
        CVI_U16 L1SpaGlobalStr; /*Rw; Range:[0, 65535]*/
        CVI_U16 L1TmpGlobalStr; /*Rw; Range:[0, 65535]*/
        CVI_U8 L1LumaAdj[TNR_LUMA_RANK]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1FSJndAdj[TNR_STATUS_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1FTJndAdj[TNR_STATUS_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1FSFreAdj[TNR_FREQ_RANK]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1FTFreAdj[TNR_FREQ_RANK]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1FTLumaStr; /*Rw; Range:[0, 255]*/
        CVI_U8 L1PFTDamp[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 255]*/
        CVI_U8 L2YDampStr[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 255]*/
        CVI_U8 L2YLut[TNR_DETAIL_RANK]; /*Rw; Range:[0, 127]*/
        CVI_U8 L2UVDampStr[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 255]*/
        CVI_U8 L2UVLut[TNR_DETAIL_RANK]; /*Rw; Range:[0, 127]*/
} ISP_TNR_NR_MANUAL_ATTR_S;

[Members]

Member Name

Description

L0YBlurStr

L0filtering, Ychannelfirstlevelspatial domainfilteringstrength. the larger the value, the stronger the filtering intensity. L0YBlurStr[0]~L0YBlurStr[2]respectivelycorrespondingstationary region, conversionregion, filtering strength in the motion region

Value Range: [0, 255]

Data Types: CVI_U8

L0YSigmaStr

L0filtering, Ychannelfirstlevelwhendomainfilteringstrength. the larger the value, the stronger the filtering intensity. L0YSigmaStr[0]~L0YSigmaStr[2]respectivelycorrespondingstationary region, conversionregion, filtering strength in the motion region

Value Range: [0, 255]

Data Types: CVI_U8

L0UVSigmaStr

L0filtering, UVchannelfirstlevelwhendomainfilteringstrength. parameternumbertrendsameL0YSigmaStr

Value Range: [0, 255]

Data Types: CVI_U8

L0YGardBlurTh

None

Value Range: [0, 65535]

Data Types: CVI_U16

L0YGardBlurStr

None

Value Range: [0, 255]

Data Types: CVI_U8

L1PFTStr

L1Pfiltering, stationary region filteringstrength. canpartdifferent frequencySetdifferent strength, the larger the value, the stronger the filtering intensity. L1PFTStr[0]~L1PFTStr[3]indicatesfromlowfrequencytoheightfrequency filteringstrength

Value Range: [0, 255]

Data Types: CVI_U8

L1SpaGlobalStr

L1filtering, spatial domainfilteringstrengthbasevalue. the larger the value, the stronger the filtering intensity

Value Range: [0, 65535]

Data Types: CVI_U16

L1TmpGlobalStr

L1filtering, whendomainfilteringstrengthbasevalue. the larger the value, the stronger the filtering intensity

Value Range: [0, 65535]

Data Types: CVI_U16

L1LumaAdj

L1filtering, partbrightnessSetdifferent filteringstrength, whendomainfilteringandspatial domainfilteringtotalusesameonegroupsettings. the larger the value, the stronger the filtering intensity. L1LumaAdj[0]~L1LumaAdj[7]indicatesfromdark regiontobright region filteringstrength

Value Range: [0, 255]

Data Types: CVI_U8

L1FSJndAdj

L1filtering, spatial domainfilteringpartmotionstatusSetdifferent filteringstrength. the larger the value, the stronger the filtering intensity. L1FSJndAdj[0]~L1FSJndAdj[2]respectivelyindicatesstationary region, conversionregion, filtering strength in the motion region

Value Range: [0, 255]

Data Types: CVI_U8

L1FTJndAdj

L1filtering, whendomainfilteringpartmotionstatusSetdifferent filteringstrength. parameternumbertrendsameL1FSJndAdj

Value Range: [0, 255]

Data Types: CVI_U8

L1FSFreAdj

L1filtering, spatial domainfilteringpartfrequencySetdifferent filteringstrength. the larger the value, the stronger the filtering intensity. L1FSFreAdj[0]~L1FSFreAdj[3]indicatesfromlowfrequencytoheightfrequency filteringstrength

Value Range: [0, 255]

Data Types: CVI_U8

L1FTFreAdj

L1filtering, whendomainfilteringpartfrequencySetdifferent filteringstrength. parameternumbertrendsameL1FSFreAdj

Value Range: [0, 255]

Data Types: CVI_U8

L1FTLumaStr

None

Value Range: [0, 255]

Data Types: CVI_U8

L1PFTDamp

L1Pfiltering, conversionregionandfiltering strength in the motion regionsystemnumber. the larger the value, the stronger the filtering intensity, that isthe moreclose tostationary region filteringstrength, alsothe moreeasyproducebecomeghosting

Value Range: [0, 255]

Data Types: CVI_U8

L2YDampStr

L2filtering, Ychannelnoise reductionpartmotionstatusSetdifferent filteringstrength. L2YDampStr[0]~L2YDampStr[1]respectivelyindicatesconversionregion, filtering strength in the motion region

Value Range: [0, 255]

Data Types: CVI_U8

L2YLut

L2filtering, Ychannelnoise reductionstrengthControl. the smaller the value, residual whendomainnoisethe moresmall. valuethroughsmall, easyproducebecomeghostingandnoiseconvergenceslow

Value Range: [0, 127]

Data Types: CVI_U8

L2UVDampStr

L2afterfiltering, UVchannelnoise reductionpartmotionstatusSetdifferent filteringstrength. parameternumbertrendsameL2YDampStr

Value Range: [0, 255]

Data Types: CVI_U8

L2UVLut

L2afterfiltering, UVchannelnoise reductionstrengthControl. the smaller the value, residual whendomainnoisethe moresmall

Value Range: [0, 127]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

16.3.11. ISP_TNR_NR_AUTO_ATTR_S

[Description]

Automatic DefinitionTNR NR attribute parameters

[Definition]

typedef struct _ISP_TNR_NR_AUTO_ATTR_S {
        CVI_U8 L0YBlurStr[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L0YSigmaStr[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L0UVSigmaStr[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U16 L0YGardBlurTh[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 65535]*/
        CVI_U8 L0YGardBlurStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1PFTStr[TNR_FREQ_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U16 L1SpaGlobalStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 65535]*/
        CVI_U16 L1TmpGlobalStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 65535]*/
        CVI_U8 L1LumaAdj[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1FSJndAdj[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1FTJndAdj[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1FSFreAdj[TNR_FREQ_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1FTFreAdj[TNR_FREQ_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1FTLumaStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L1PFTDamp[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L2YDampStr[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L2YLut[TNR_DETAIL_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 127]*/
        CVI_U8 L2UVDampStr[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 L2UVLut[TNR_DETAIL_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 127]*/
} ISP_TNR_NR_AUTO_ATTR_S;

[Members]

Member Name

Description

L0YBlurStr

L0filtering, Ychannelfirstlevelspatial domainfilteringstrength. the larger the value, the stronger the filtering intensity. L0YBlurStr[0]~L0YBlurStr[2]respectivelycorrespondingstationary region, conversionregion, filtering strength in the motion region

Value Range: [0, 255]

Data Types: CVI_U8

L0YSigmaStr

L0filtering, Ychannelfirstlevelwhendomainfilteringstrength. the larger the value, the stronger the filtering intensity. L0YSigmaStr[0]~L0YSigmaStr[2]respectivelycorrespondingstationary region, conversionregion, filtering strength in the motion region

Value Range: [0, 255]

Data Types: CVI_U8

L0UVSigmaStr

L0filtering, UVchannelfirstlevelwhendomainfilteringstrength. parameternumbertrendsameL0YSigmaStr

Value Range: [0, 255]

Data Types: CVI_U8

L0YGardBlurTh

None

Value Range: [0, 65535]

Data Types: CVI_U16

L0YGardBlurStr

None

Value Range: [0, 255]

Data Types: CVI_U8

L1PFTStr

L1Pfiltering, stationary region filteringstrength. canpartdifferent frequencySetdifferent strength, the larger the value, the stronger the filtering intensity. L1PFTStr[0]~L1PFTStr[3]indicatesfromlowfrequencytoheightfrequency filteringstrength

Value Range: [0, 255]

Data Types: CVI_U8

L1SpaGlobalStr

L1filtering, spatial domainfilteringstrengthbasevalue. the larger the value, the stronger the filtering intensity

Value Range: [0, 65535]

Data Types: CVI_U16

L1TmpGlobalStr

L1filtering, whendomainfilteringstrengthbasevalue. the larger the value, the stronger the filtering intensity

Value Range: [0, 65535]

Data Types: CVI_U16

L1LumaAdj

L1filtering, partbrightnessSetdifferent filteringstrength, whendomainfilteringandspatial domainfilteringtotalusesameonegroupsettings. the larger the value, the stronger the filtering intensity. L1LumaAdj[0]~L1LumaAdj[7]indicatesfromdark regiontobright region filteringstrength

Value Range: [0, 255]

Data Types: CVI_U8

L1FSJndAdj

L1filtering, spatial domainfilteringpartmotionstatusSetdifferent filteringstrength. the larger the value, the stronger the filtering intensity. L1FSJndAdj[0]~L1FSJndAdj[2]respectivelyindicatesstationary region, conversionregion, filtering strength in the motion region

Value Range: [0, 255]

Data Types: CVI_U8

L1FTJndAdj

L1filtering, whendomainfilteringpartmotionstatusSetdifferent filteringstrength. parameternumbertrendsameL1FSJndAdj

Value Range: [0, 255]

Data Types: CVI_U8

L1FSFreAdj

L1filtering, spatial domainfilteringpartfrequencySetdifferent filteringstrength. the larger the value, the stronger the filtering intensity. L1FSFreAdj[0]~L1FSFreAdj[3]indicatesfromlowfrequencytoheightfrequency filteringstrength

Value Range: [0, 255]

Data Types: CVI_U8

L1FTFreAdj

L1filtering, whendomainfilteringpartfrequencySetdifferent filteringstrength. parameternumbertrendsameL1FSFreAdj

Value Range: [0, 255]

Data Types: CVI_U8

L1FTLumaStr

None

Value Range: [0, 255]

Data Types: CVI_U8

L1PFTDamp

L1Pfiltering, conversionregionandfiltering strength in the motion regionsystemnumber. the larger the value, the stronger the filtering intensity, that isthe moreclose tostationary region filteringstrength, alsothe moreeasyproducebecomeghosting

Value Range: [0, 255]

Data Types: CVI_U8

L2YDampStr

L2filtering, Ychannelnoise reductionpartmotionstatusSetdifferent filteringstrength. L2YDampStr[0]~L2YDampStr[1]respectivelyindicatesconversionregion, filtering strength in the motion region

Value Range: [0, 255]

Data Types: CVI_U8

L2YLut

L2filtering, Ychannelnoise reductionstrengthControl. the smaller the value, residual whendomainnoisethe moresmall. valuethroughsmall, easyproducebecomeghostingandnoiseconvergenceslow

Value Range: [0, 127]

Data Types: CVI_U8

L2UVDampStr

L2afterfiltering, UVchannelnoise reductionpartmotionstatusSetdifferent filteringstrength. parameternumbertrendsameL2YDampStr

Value Range: [0, 255]

Data Types: CVI_U8

L2UVLut

L2afterfiltering, UVchannelnoise reductionstrengthControl. the smaller the value, residual whendomainnoisethe moresmall

Value Range: [0, 127]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

16.3.12. ISP_TNR_NR_ATTR_S

[Description]

Defines TNR NR attribute parameters

[Definition]

typedef struct _ISP_TNR_NR_ATTR_S {
        CVI_BOOL L12NrYEN; /*Rw; Range:[0, 1]*/
        CVI_BOOL L2UVNrEN; /*Rw; Range:[0, 1]*/
        CVI_BOOL L2UVMonoEN; /*Rw; Range:[0, 1]*/
        CVI_BOOL DcEn; /*Rw; Range:[0, 1]*/
        ISP_TNR_NR_MANUAL_ATTR_S stManual;
        ISP_TNR_NR_AUTO_ATTR_S stAuto;
} ISP_TNR_NR_ATTR_S;

[Members]

Member Name

Description

L12NrYEN

beforeinafterfiltering YchannelprocessingEnable

0: Disable

1: Enable

Value Range: [0, 1]

Data Types: CVI_BOOL

L2UVNrEN

afterfiltering UVchannelprocessingEnable

0: Disable

1: Enable

Value Range: [0, 1]

Data Types: CVI_BOOL

L2UVMonoEN

None

Value Range: [0, 1]

Data Types: CVI_BOOL

DcEn

None

Value Range: [0, 1]

Data Types: CVI_BOOL

stManual

manual parameters

stAuto

automatic parameters

[Precautions]

None

[Related Data Types and Interfaces]