AM62x MCU+ SDK  10.01.00

Introduction

This is hardware include layer for DSS video pipe region.

Files

file  csl_dssVideoPipe.h
 DSS Video Pipe layer 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...
 
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_vidRegs 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_VID_ATTRIBUTES2_YUV_ALIGN_VAL_LSB)
 Data is LSB aligned (MSB unused) More...
 
#define CSL_DSS_VID_PIPE_YUV_ALIGN_MSB    ((uint32_t) CSL_DSS_VID_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_VID_ATTRIBUTES_RESIZEENABLE_VAL_RESIZEPROC)
 Scaler is disabled. More...
 
#define CSL_DSS_VID_PIPE_SC_ENABLED_H    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_RESIZEENABLE_VAL_HRESIZE)
 Horizontal scaling is enabled. More...
 
#define CSL_DSS_VID_PIPE_SC_ENABLED_V    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_RESIZEENABLE_VAL_VRESIZE)
 Vertical scaling is enabled. More...
 
#define CSL_DSS_VID_PIPE_SC_ENABLED_HV    ((uint32_t) CSL_DSS_VID_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_VID_ATTRIBUTES_BUFPRELOAD_VAL_DEFVAL)
 Value is defined by preload register. More...
 
#define CSL_DSS_VID_PIPE_PRELOAD_CONTROL_HW    ((uint32_t) CSL_DSS_VID_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_VID_ATTRIBUTES_ARBITRATION_VAL_NORMALPRIO)
 Priority of video pipeline is normal. More...
 
#define CSL_DSS_VID_PIPE_PRIORITY_HIGH    ((uint32_t) CSL_DSS_VID_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_VID_ATTRIBUTES_SELFREFRESHAUTO_VAL_SELFREFRESHAUTODIS)
 Transition is controlled by SW. More...
 
#define CSL_DSS_VID_PIPE_REFRESH_CONTROL_HW    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_SELFREFRESHAUTO_VAL_SELFREFRESHAUTOEN)
 Transition is controlled by HW. More...
 

Macro Definition Documentation

◆ CSL_DSS_VID_PIPE_YUV_ALIGN_LSB

#define CSL_DSS_VID_PIPE_YUV_ALIGN_LSB    ((uint32_t) CSL_DSS_VID_ATTRIBUTES2_YUV_ALIGN_VAL_LSB)

Data is LSB aligned (MSB unused)

◆ CSL_DSS_VID_PIPE_YUV_ALIGN_MSB

#define CSL_DSS_VID_PIPE_YUV_ALIGN_MSB    ((uint32_t) CSL_DSS_VID_ATTRIBUTES2_YUV_ALIGN_VAL_MSB)

Data is MSB aligned (LSB unused)

◆ CSL_DSS_VID_PIPE_SC_DISABLED

#define CSL_DSS_VID_PIPE_SC_DISABLED    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_RESIZEENABLE_VAL_RESIZEPROC)

Scaler is disabled.

◆ CSL_DSS_VID_PIPE_SC_ENABLED_H

#define CSL_DSS_VID_PIPE_SC_ENABLED_H    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_RESIZEENABLE_VAL_HRESIZE)

Horizontal scaling is enabled.

◆ CSL_DSS_VID_PIPE_SC_ENABLED_V

#define CSL_DSS_VID_PIPE_SC_ENABLED_V    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_RESIZEENABLE_VAL_VRESIZE)

Vertical scaling is enabled.

◆ CSL_DSS_VID_PIPE_SC_ENABLED_HV

#define CSL_DSS_VID_PIPE_SC_ENABLED_HV    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_RESIZEENABLE_VAL_HVRESIZE)

Both horizontal and vertical scaling is enabled.

◆ CSL_DSS_VID_PIPE_PRELOAD_CONTROL_SW

#define CSL_DSS_VID_PIPE_PRELOAD_CONTROL_SW    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_BUFPRELOAD_VAL_DEFVAL)

Value is defined by preload register.

◆ CSL_DSS_VID_PIPE_PRELOAD_CONTROL_HW

#define CSL_DSS_VID_PIPE_PRELOAD_CONTROL_HW    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_BUFPRELOAD_VAL_HIGHTHRES)

HW pre-fetches pixels up to high threshold value.

◆ CSL_DSS_VID_PIPE_PRIORITY_NORMAL

#define CSL_DSS_VID_PIPE_PRIORITY_NORMAL    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_ARBITRATION_VAL_NORMALPRIO)

Priority of video pipeline is normal.

◆ CSL_DSS_VID_PIPE_PRIORITY_HIGH

#define CSL_DSS_VID_PIPE_PRIORITY_HIGH    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_ARBITRATION_VAL_HIGHPRIO)

Priority of video pipeline is high.

◆ CSL_DSS_VID_PIPE_REFRESH_CONTROL_SW

#define CSL_DSS_VID_PIPE_REFRESH_CONTROL_SW    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_SELFREFRESHAUTO_VAL_SELFREFRESHAUTODIS)

Transition is controlled by SW.

◆ CSL_DSS_VID_PIPE_REFRESH_CONTROL_HW

#define CSL_DSS_VID_PIPE_REFRESH_CONTROL_HW    ((uint32_t) CSL_DSS_VID_ATTRIBUTES_SELFREFRESHAUTO_VAL_SELFREFRESHAUTOEN)

Transition is controlled by HW.

Typedef Documentation

◆ CSL_dss_pipeRegs

DSS Video Pipe Registers.

DSS7 UL has two Video Pipes: VID and VIDL1. VIDL1 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 VIDL1 pipe

Function Documentation

◆ CSL_dssVidPipeSetConfig()

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

◆ CSL_dssVidPipeSetDmaConfig()

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

◆ CSL_dssVidPipeEnableTransparency()

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

◆ CSL_dssVidPipeSetAlphaConfig()

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

◆ CSL_dssVidPipeSetCSCCoeff()

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

◆ CSL_dssVidPipeSetBuffAddr()

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

◆ CSL_dssVidPipeEnable()

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

◆ CSL_dssVidPipeSetSafetySignSeedVal()

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

◆ CSL_dssVidPipeSetSafetyReferenceSign()

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

◆ CSL_dssVidPipeSetSafetyChkConfig()

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

◆ CSL_dssVidPipeGetSafetySign()

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

◆ CSL_dssVidPipeSetMflagConfig()

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

◆ CSL_dssVidPipeCfgInit()

static void CSL_dssVidPipeCfgInit ( CSL_DssVidPipeCfg pipeCfg)
inlinestatic

CSL_DssVidPipeCfg structure init function.

Parameters
pipeCfgPointer to CSL_DssVidPipeCfg structure

◆ CSL_dssVidPipeDmaCfgInit()

static void CSL_dssVidPipeDmaCfgInit ( CSL_DssVidPipeDmaCfg dmaCfg)
inlinestatic

CSL_DssVidPipeDmaCfg structure init function.

Parameters
dmaCfgPointer to CSL_DssVidPipeDmaCfg structure

◆ CSL_dssVidPipeLumaCfgInit()

static void CSL_dssVidPipeLumaCfgInit ( CSL_DssVidPipeLumaCfg lumaCfg)
inlinestatic

CSL_DssVidPipeLumaCfg structure init function.

Parameters
lumaCfgPointer to CSL_DssVidPipeLumaCfg structure

◆ CSL_dssVidPipeAlphaCfgInit()

static void CSL_dssVidPipeAlphaCfgInit ( CSL_DssVidPipeAlphaCfg alphaCfg)
inlinestatic

CSL_DssVidPipeAlphaCfg structure init function.

Parameters
alphaCfgPointer to CSL_DssVidPipeAlphaCfg structure

◆ CSL_dssVidPipeVC1CfgInit()

static void CSL_dssVidPipeVC1CfgInit ( CSL_DssVidPipeVC1Cfg vc1Cfg)
inlinestatic

CSL_DssVidPipeVC1Cfg structure init function.

Parameters
vc1CfgPointer to CSL_DssVidPipeVC1Cfg structure

◆ CSL_dssVidPipeMFlagCfgInit()

static void CSL_dssVidPipeMFlagCfgInit ( CSL_DssVidPipeMFlagCfg mflagCfg)
inlinestatic

CSL_DssVidPipeMFlagCfg structure init function.

Parameters
mflagCfgPointer to CSL_DssVidPipeMFlagCfg structure