PDK API Guide for J721E
DSS Video Pipe CSL FL

Introduction

Files

file  csl_dssVideoPipe.h
 DSS Video Pipe CSL FL interface file.
 

Data Structures

struct  CSL_DssVidPipeCfg
 Configuration for DSS Video Pipe. More...
 
struct  CSL_DssVidPipeDmaCfg
 DSS Video Pipe DMA related Config parameters. More...
 
struct  CSL_DssVidPipeLumaCfg
 DSS Video Pipe Luma Key Config parameters. More...
 
struct  CSL_DssVidPipeAlphaCfg
 DSS Video Pipe Alpha Config parameters. More...
 
struct  CSL_DssVidPipeVC1Cfg
 DSS Video Pipe VC1 configuration. More...
 
struct  CSL_DssVidPipeMFlagCfg
 DSS Video Pipe MFLAG Config parameters. More...
 

Functions

int32_t CSL_dssVidPipeSetConfig (CSL_dss_pipeRegs *pipeRegs, const CSL_DssVidPipeCfg *pipeCfg, const CSL_DssVidPipeVC1Cfg *vc1Cfg)
 Configure the Video Pipe. More...
 
void CSL_dssVidPipeSetDmaConfig (CSL_dss_pipeRegs *pipeRegs, const CSL_DssVidPipeDmaCfg *dmaCfg)
 Configure the Video Pipe DMA parameters. More...
 
void CSL_dssVidPipeEnableTransparency (CSL_dss_pipeRegs *pipeRegs, const CSL_DssVidPipeLumaCfg *lumaCfg)
 Enable the Luma Key transparency matching and set luma params. More...
 
void CSL_dssVidPipeSetAlphaConfig (CSL_dss_pipeRegs *pipeRegs, const CSL_DssVidPipeAlphaCfg *alphaCfg)
 Set DSS Video Pipe Alpha parameters. More...
 
void CSL_dssVidPipeSetCSCCoeff (CSL_dss_pipeRegs *pipeRegs, const CSL_DssCscCoeff *coeff)
 Configure the coefficients for Color Space Conversion. More...
 
void CSL_dssVidPipeSetBuffAddr (CSL_dss_pipeRegs *pipeRegs, uint32_t field, uint64_t baseAddrRGBY, uint64_t baseAddrUV)
 Set the video buffer address. More...
 
void CSL_dssVidPipeEnable (CSL_dss_pipeRegs *pipeRegs, uint32_t enable)
 Enable the DSS Video Pipe. More...
 
void CSL_dssVidPipeSetSafetySignSeedVal (CSL_dss_pipeRegs *pipeRegs, uint32_t signSeedVal)
 Set the seed value for the signature calculation. More...
 
void CSL_dssVidPipeSetSafetyReferenceSign (CSL_dss_pipeRegs *pipeRegs, uint32_t referenceSign)
 Set the reference safety signature for data correctness check. More...
 
void CSL_dssVidPipeSetSafetyChkConfig (CSL_dss_pipeRegs *pipeRegs, const CSL_DssSafetyChkCfg *safetyCfg)
 Configure the Safety Check Params. More...
 
uint32_t CSL_dssVidPipeGetSafetySign (const CSL_dss_pipeRegs *pipeRegs)
 Get the Safety Signature. More...
 
void CSL_dssVidPipeSetMflagConfig (CSL_dss_pipeRegs *pipeRegs, const CSL_DssVidPipeMFlagCfg *mflagCfg)
 Set the MFLAG configuration. More...
 
void CSL_dssVidPipeSetCropConfig (CSL_dss_pipeRegs *pipeRegs, const Fvid2_EdgeCropConfig *cropCfg, uint32_t cropEnable)
 Enable/disable the crop in DSS Video Pipe. More...
 
static void CSL_dssVidPipeCfgInit (CSL_DssVidPipeCfg *pipeCfg)
 CSL_DssVidPipeCfg structure init function. More...
 
static void CSL_dssVidPipeDmaCfgInit (CSL_DssVidPipeDmaCfg *dmaCfg)
 CSL_DssVidPipeDmaCfg structure init function. More...
 
static void CSL_dssVidPipeLumaCfgInit (CSL_DssVidPipeLumaCfg *lumaCfg)
 CSL_DssVidPipeLumaCfg structure init function. More...
 
static void CSL_dssVidPipeAlphaCfgInit (CSL_DssVidPipeAlphaCfg *alphaCfg)
 CSL_DssVidPipeAlphaCfg structure init function. More...
 
static void CSL_dssVidPipeVC1CfgInit (CSL_DssVidPipeVC1Cfg *vc1Cfg)
 CSL_DssVidPipeVC1Cfg structure init function. More...
 
static void CSL_dssVidPipeMFlagCfgInit (CSL_DssVidPipeMFlagCfg *mflagCfg)
 CSL_DssVidPipeMFlagCfg structure init function. More...
 

Typedefs

typedef CSL_dss_vid1Regs CSL_dss_pipeRegs
 DSS Video Pipe Registers. More...
 

DSS Video Pipe YUV Alignment

DSS Video Pipe alignment for unpacked YUV data

#define CSL_DSS_VID_PIPE_YUV_ALIGN_LSB   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES2_YUV_ALIGN_VAL_LSB)
 Data is LSB aligned (MSB unused) More...
 
#define CSL_DSS_VID_PIPE_YUV_ALIGN_MSB   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES2_YUV_ALIGN_VAL_MSB)
 Data is MSB aligned (LSB unused) More...
 

DSS Video Pipe Scaler Value

#define CSL_DSS_VID_PIPE_SC_DISABLED   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_RESIZEENABLE_VAL_RESIZEPROC)
 Scaler is disabled. More...
 
#define CSL_DSS_VID_PIPE_SC_ENABLED_H   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_RESIZEENABLE_VAL_HRESIZE)
 Horizontal scaling is enabled. More...
 
#define CSL_DSS_VID_PIPE_SC_ENABLED_V   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_RESIZEENABLE_VAL_VRESIZE)
 Vertical scaling is enabled. More...
 
#define CSL_DSS_VID_PIPE_SC_ENABLED_HV   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_RESIZEENABLE_VAL_HVRESIZE)
 Both horizontal and vertical scaling is enabled. More...
 

DSS Video Pipe Preload Control Value

DSS Video Pipe Preload Value can be fixed HW value or SW determined

#define CSL_DSS_VID_PIPE_PRELOAD_CONTROL_SW   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_BUFPRELOAD_VAL_DEFVAL)
 Value is defined by preload register. More...
 
#define CSL_DSS_VID_PIPE_PRELOAD_CONTROL_HW   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_BUFPRELOAD_VAL_HIGHTHRES)
 HW pre-fetches pixels up to high threshold value. More...
 

DSS Video Pipe Priority Value

#define CSL_DSS_VID_PIPE_PRIORITY_NORMAL   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_ARBITRATION_VAL_NORMALPRIO)
 Priority of video pipeline is normal. More...
 
#define CSL_DSS_VID_PIPE_PRIORITY_HIGH   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_ARBITRATION_VAL_HIGHPRIO)
 Priority of video pipeline is high. More...
 

DSS Video Pipe Self Refresh Mode Control

#define CSL_DSS_VID_PIPE_REFRESH_CONTROL_SW   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_SELFREFRESHAUTO_VAL_SELFREFRESHAUTODIS)
 Transition is controlled by SW. More...
 
#define CSL_DSS_VID_PIPE_REFRESH_CONTROL_HW   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_SELFREFRESHAUTO_VAL_SELFREFRESHAUTOEN)
 Transition is controlled by HW. More...
 

Macro Definition Documentation

#define CSL_DSS_VID_PIPE_YUV_ALIGN_LSB   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES2_YUV_ALIGN_VAL_LSB)

Data is LSB aligned (MSB unused)

#define CSL_DSS_VID_PIPE_YUV_ALIGN_MSB   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES2_YUV_ALIGN_VAL_MSB)

Data is MSB aligned (LSB unused)

#define CSL_DSS_VID_PIPE_SC_DISABLED   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_RESIZEENABLE_VAL_RESIZEPROC)

Scaler is disabled.

#define CSL_DSS_VID_PIPE_SC_ENABLED_H   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_RESIZEENABLE_VAL_HRESIZE)

Horizontal scaling is enabled.

#define CSL_DSS_VID_PIPE_SC_ENABLED_V   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_RESIZEENABLE_VAL_VRESIZE)

Vertical scaling is enabled.

#define CSL_DSS_VID_PIPE_SC_ENABLED_HV   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_RESIZEENABLE_VAL_HVRESIZE)

Both horizontal and vertical scaling is enabled.

#define CSL_DSS_VID_PIPE_PRELOAD_CONTROL_SW   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_BUFPRELOAD_VAL_DEFVAL)

Value is defined by preload register.

#define CSL_DSS_VID_PIPE_PRELOAD_CONTROL_HW   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_BUFPRELOAD_VAL_HIGHTHRES)

HW pre-fetches pixels up to high threshold value.

#define CSL_DSS_VID_PIPE_PRIORITY_NORMAL   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_ARBITRATION_VAL_NORMALPRIO)

Priority of video pipeline is normal.

#define CSL_DSS_VID_PIPE_PRIORITY_HIGH   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_ARBITRATION_VAL_HIGHPRIO)

Priority of video pipeline is high.

#define CSL_DSS_VID_PIPE_REFRESH_CONTROL_SW   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_SELFREFRESHAUTO_VAL_SELFREFRESHAUTODIS)

Transition is controlled by SW.

#define CSL_DSS_VID_PIPE_REFRESH_CONTROL_HW   ((uint32_t) CSL_DSS_VID1_ATTRIBUTES_SELFREFRESHAUTO_VAL_SELFREFRESHAUTOEN)

Transition is controlled by HW.

Typedef Documentation

typedef CSL_dss_vid1Regs CSL_dss_pipeRegs

DSS Video Pipe Registers.

DSS7 has four Video Pipes: VID1, VID2, VIDL1 and VIDL2. VIDL registers are a subset of VID registers. Hence using VID register structure as a generic structure to have common APIs. Caller should not configure VID pipe specific functionality for VIDL pipe

Function Documentation

int32_t CSL_dssVidPipeSetConfig ( CSL_dss_pipeRegs pipeRegs,
const CSL_DssVidPipeCfg pipeCfg,
const CSL_DssVidPipeVC1Cfg vc1Cfg 
)

Configure the Video Pipe.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
pipeCfgPointer to the CSL_DssVidPipeCfg structure. This parameter should not be NULL
vc1CfgPointer to the CSL_DssVidPipeVC1Cfg structure. This parameter should not be NULL
Returns
CSL_ErrType_t
void CSL_dssVidPipeSetDmaConfig ( CSL_dss_pipeRegs pipeRegs,
const CSL_DssVidPipeDmaCfg dmaCfg 
)

Configure the Video Pipe DMA parameters.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
dmaCfgPointer to the CSL_DssVidPipeDmaCfg structure. This parameter should not be NULL
Returns
None
void CSL_dssVidPipeEnableTransparency ( CSL_dss_pipeRegs pipeRegs,
const CSL_DssVidPipeLumaCfg lumaCfg 
)

Enable the Luma Key transparency matching and set luma params.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
lumaCfgPointer to the CSL_DssVidPipeLumaCfg structure. This parameter should not be NULL
Returns
None
void CSL_dssVidPipeSetAlphaConfig ( CSL_dss_pipeRegs pipeRegs,
const CSL_DssVidPipeAlphaCfg alphaCfg 
)

Set DSS Video Pipe Alpha parameters.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
alphaCfgPointer to the CSL_DssVidPipeAlphaCfg structure. This parameter should not be NULL
Returns
None
void CSL_dssVidPipeSetCSCCoeff ( CSL_dss_pipeRegs pipeRegs,
const CSL_DssCscCoeff coeff 
)

Configure the coefficients for Color Space Conversion.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
coeffPointer to CSL_DssCscCoeff structure. This parameter should not be NULL
Returns
None
void CSL_dssVidPipeSetBuffAddr ( CSL_dss_pipeRegs pipeRegs,
uint32_t  field,
uint64_t  baseAddrRGBY,
uint64_t  baseAddrUV 
)

Set the video buffer address.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
fieldTop or bottom field. Refer Fvid2_Fid for values. Top is even field and Bottom is odd
baseAddrRGBYBase address of RGB or Y plane depending on format
baseAddrUVUV base address valid only for YUV420-NV12/NV21
Returns
None
void CSL_dssVidPipeEnable ( CSL_dss_pipeRegs pipeRegs,
uint32_t  enable 
)

Enable the DSS Video Pipe.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
enableEnable or disable the Video Pipe TRUE: Enable FALSE: Disable
Returns
None
void CSL_dssVidPipeSetSafetySignSeedVal ( CSL_dss_pipeRegs pipeRegs,
uint32_t  signSeedVal 
)

Set the seed value for the signature calculation.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
signSeedValSignature Seed Value to be Set
Returns
None
void CSL_dssVidPipeSetSafetyReferenceSign ( CSL_dss_pipeRegs pipeRegs,
uint32_t  referenceSign 
)

Set the reference safety signature for data correctness check.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
referenceSignReference Safety Signature
Returns
None
void CSL_dssVidPipeSetSafetyChkConfig ( CSL_dss_pipeRegs pipeRegs,
const CSL_DssSafetyChkCfg safetyCfg 
)

Configure the Safety Check Params.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
safetyCfgPointer to CSL_DssSafetyChkCfg structure. This parameter should not be NULL
Returns
None
uint32_t CSL_dssVidPipeGetSafetySign ( const CSL_dss_pipeRegs pipeRegs)

Get the Safety Signature.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
Returns
Signature Value
void CSL_dssVidPipeSetMflagConfig ( CSL_dss_pipeRegs pipeRegs,
const CSL_DssVidPipeMFlagCfg mflagCfg 
)

Set the MFLAG configuration.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
mflagCfgPointer to CSL_DssVidPipeMFlagCfg structure. This parameter should not be NULL
Returns
None
void CSL_dssVidPipeSetCropConfig ( CSL_dss_pipeRegs pipeRegs,
const Fvid2_EdgeCropConfig cropCfg,
uint32_t  cropEnable 
)

Enable/disable the crop in DSS Video Pipe.

Parameters
pipeRegsPointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration
cropCfgPointer to Fvid2_EdgeCropConfig structure. This parameter should not be NULL
cropEnableEnable/disable the crop TRUE: Enable FALSE: Disable
Returns
None
static void CSL_dssVidPipeCfgInit ( CSL_DssVidPipeCfg pipeCfg)
inlinestatic

CSL_DssVidPipeCfg structure init function.

Parameters
pipeCfgPointer to CSL_DssVidPipeCfg structure
Returns
None
static void CSL_dssVidPipeDmaCfgInit ( CSL_DssVidPipeDmaCfg dmaCfg)
inlinestatic

CSL_DssVidPipeDmaCfg structure init function.

Parameters
dmaCfgPointer to CSL_DssVidPipeDmaCfg structure
Returns
None
static void CSL_dssVidPipeLumaCfgInit ( CSL_DssVidPipeLumaCfg lumaCfg)
inlinestatic

CSL_DssVidPipeLumaCfg structure init function.

Parameters
lumaCfgPointer to CSL_DssVidPipeLumaCfg structure
Returns
None
static void CSL_dssVidPipeAlphaCfgInit ( CSL_DssVidPipeAlphaCfg alphaCfg)
inlinestatic

CSL_DssVidPipeAlphaCfg structure init function.

Parameters
alphaCfgPointer to CSL_DssVidPipeAlphaCfg structure
Returns
None
static void CSL_dssVidPipeVC1CfgInit ( CSL_DssVidPipeVC1Cfg vc1Cfg)
inlinestatic

CSL_DssVidPipeVC1Cfg structure init function.

Parameters
vc1CfgPointer to CSL_DssVidPipeVC1Cfg structure
Returns
None
static void CSL_dssVidPipeMFlagCfgInit ( CSL_DssVidPipeMFlagCfg mflagCfg)
inlinestatic

CSL_DssVidPipeMFlagCfg structure init function.

Parameters
mflagCfgPointer to CSL_DssVidPipeMFlagCfg structure
Returns
None