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 | |
#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... | |
#define CSL_DSS_VID_PIPE_YUV_ALIGN_LSB ((uint32_t) CSL_DSS_VID_ATTRIBUTES2_YUV_ALIGN_VAL_LSB) |
Data is LSB aligned (MSB unused)
#define CSL_DSS_VID_PIPE_YUV_ALIGN_MSB ((uint32_t) CSL_DSS_VID_ATTRIBUTES2_YUV_ALIGN_VAL_MSB) |
Data is MSB aligned (LSB unused)
#define CSL_DSS_VID_PIPE_SC_DISABLED ((uint32_t) CSL_DSS_VID_ATTRIBUTES_RESIZEENABLE_VAL_RESIZEPROC) |
Scaler is disabled.
#define CSL_DSS_VID_PIPE_SC_ENABLED_H ((uint32_t) CSL_DSS_VID_ATTRIBUTES_RESIZEENABLE_VAL_HRESIZE) |
Horizontal scaling is enabled.
#define CSL_DSS_VID_PIPE_SC_ENABLED_V ((uint32_t) CSL_DSS_VID_ATTRIBUTES_RESIZEENABLE_VAL_VRESIZE) |
Vertical scaling is enabled.
#define CSL_DSS_VID_PIPE_SC_ENABLED_HV ((uint32_t) CSL_DSS_VID_ATTRIBUTES_RESIZEENABLE_VAL_HVRESIZE) |
Both horizontal and vertical scaling is enabled.
#define CSL_DSS_VID_PIPE_PRELOAD_CONTROL_SW ((uint32_t) CSL_DSS_VID_ATTRIBUTES_BUFPRELOAD_VAL_DEFVAL) |
Value is defined by preload register.
#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.
#define CSL_DSS_VID_PIPE_PRIORITY_NORMAL ((uint32_t) CSL_DSS_VID_ATTRIBUTES_ARBITRATION_VAL_NORMALPRIO) |
Priority of video pipeline is normal.
#define CSL_DSS_VID_PIPE_PRIORITY_HIGH ((uint32_t) CSL_DSS_VID_ATTRIBUTES_ARBITRATION_VAL_HIGHPRIO) |
Priority of video pipeline is high.
#define CSL_DSS_VID_PIPE_REFRESH_CONTROL_SW ((uint32_t) CSL_DSS_VID_ATTRIBUTES_SELFREFRESHAUTO_VAL_SELFREFRESHAUTODIS) |
Transition is controlled by SW.
#define CSL_DSS_VID_PIPE_REFRESH_CONTROL_HW ((uint32_t) CSL_DSS_VID_ATTRIBUTES_SELFREFRESHAUTO_VAL_SELFREFRESHAUTOEN) |
Transition is controlled by HW.
typedef CSL_dss_vidRegs 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
int32_t CSL_dssVidPipeSetConfig | ( | CSL_dss_pipeRegs * | pipeRegs, |
const CSL_DssVidPipeCfg * | pipeCfg, | ||
const CSL_DssVidPipeVC1Cfg * | vc1Cfg | ||
) |
Configure the Video Pipe.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
pipeCfg | Pointer to the CSL_DssVidPipeCfg structure. This parameter should not be NULL |
vc1Cfg | Pointer to the CSL_DssVidPipeVC1Cfg structure. This parameter should not be NULL |
void CSL_dssVidPipeSetDmaConfig | ( | CSL_dss_pipeRegs * | pipeRegs, |
const CSL_DssVidPipeDmaCfg * | dmaCfg | ||
) |
Configure the Video Pipe DMA parameters.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
dmaCfg | Pointer to the CSL_DssVidPipeDmaCfg structure. This parameter should not be NULL |
void CSL_dssVidPipeEnableTransparency | ( | CSL_dss_pipeRegs * | pipeRegs, |
const CSL_DssVidPipeLumaCfg * | lumaCfg | ||
) |
Enable the Luma Key transparency matching and set luma params.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
lumaCfg | Pointer to the CSL_DssVidPipeLumaCfg structure. This parameter should not be NULL |
void CSL_dssVidPipeSetAlphaConfig | ( | CSL_dss_pipeRegs * | pipeRegs, |
const CSL_DssVidPipeAlphaCfg * | alphaCfg | ||
) |
Set DSS Video Pipe Alpha parameters.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
alphaCfg | Pointer to the CSL_DssVidPipeAlphaCfg structure. This parameter should not be NULL |
void CSL_dssVidPipeSetCSCCoeff | ( | CSL_dss_pipeRegs * | pipeRegs, |
const CSL_DssCscCoeff * | coeff | ||
) |
Configure the coefficients for Color Space Conversion.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
coeff | Pointer to CSL_DssCscCoeff structure. This parameter should not be NULL |
void CSL_dssVidPipeSetBuffAddr | ( | CSL_dss_pipeRegs * | pipeRegs, |
uint32_t | field, | ||
uint64_t | baseAddrRGBY, | ||
uint64_t | baseAddrUV | ||
) |
Set the video buffer address.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
field | Top or bottom field. Refer Fvid2_Fid for values. Top is even field and Bottom is odd |
baseAddrRGBY | Base address of RGB or Y plane depending on format |
baseAddrUV | UV base address valid only for YUV420-NV12/NV21 |
void CSL_dssVidPipeEnable | ( | CSL_dss_pipeRegs * | pipeRegs, |
uint32_t | enable | ||
) |
Enable the DSS Video Pipe.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
enable | Enable or disable the Video Pipe TRUE: Enable FALSE: Disable |
void CSL_dssVidPipeSetSafetySignSeedVal | ( | CSL_dss_pipeRegs * | pipeRegs, |
uint32_t | signSeedVal | ||
) |
Set the seed value for the signature calculation.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
signSeedVal | Signature Seed Value to be Set |
void CSL_dssVidPipeSetSafetyReferenceSign | ( | CSL_dss_pipeRegs * | pipeRegs, |
uint32_t | referenceSign | ||
) |
Set the reference safety signature for data correctness check.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
referenceSign | Reference Safety Signature |
void CSL_dssVidPipeSetSafetyChkConfig | ( | CSL_dss_pipeRegs * | pipeRegs, |
const CSL_DssSafetyChkCfg * | safetyCfg | ||
) |
Configure the Safety Check Params.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
safetyCfg | Pointer to CSL_DssSafetyChkCfg structure. This parameter should not be NULL |
uint32_t CSL_dssVidPipeGetSafetySign | ( | const CSL_dss_pipeRegs * | pipeRegs | ) |
Get the Safety Signature.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
void CSL_dssVidPipeSetMflagConfig | ( | CSL_dss_pipeRegs * | pipeRegs, |
const CSL_DssVidPipeMFlagCfg * | mflagCfg | ||
) |
Set the MFLAG configuration.
pipeRegs | Pointer to a CSL_dss_pipeRegs structure containing the Video Pipe configuration |
mflagCfg | Pointer to CSL_DssVidPipeMFlagCfg structure. This parameter should not be NULL |
|
inlinestatic |
CSL_DssVidPipeCfg structure init function.
pipeCfg | Pointer to CSL_DssVidPipeCfg structure |
|
inlinestatic |
CSL_DssVidPipeDmaCfg structure init function.
dmaCfg | Pointer to CSL_DssVidPipeDmaCfg structure |
|
inlinestatic |
CSL_DssVidPipeLumaCfg structure init function.
lumaCfg | Pointer to CSL_DssVidPipeLumaCfg structure |
|
inlinestatic |
CSL_DssVidPipeAlphaCfg structure init function.
alphaCfg | Pointer to CSL_DssVidPipeAlphaCfg structure |
|
inlinestatic |
CSL_DssVidPipeVC1Cfg structure init function.
vc1Cfg | Pointer to CSL_DssVidPipeVC1Cfg structure |
|
inlinestatic |
CSL_DssVidPipeMFlagCfg structure init function.
mflagCfg | Pointer to CSL_DssVidPipeMFlagCfg structure |