vprocss
Vitis Drivers API Documentation
|
Macros | |
#define | XVPROCSS_LOG_H |
< prevent circular inclusions by using protection macros More... | |
#define | XVPROCSS_EVT_BUFFSIZE 256 |
Data structure for the event logging mechanism for debug. More... | |
#define | XVPROCSS_EDAT_SUCCESS 0x00 |
Event Log status codes. More... | |
Enumerations | |
enum | XVPROCSS_VDMA_CH_UPDATE |
This typedef enumerates the VDMA channel that needs update. More... | |
enum | XVprocSs_LogEvent { XVPROCSS_EVT_NONE = 1, XVPROCSS_EVT_INIT, XVPROCSS_EVT_INIT_RESAXIS, XVPROCSS_EVT_INIT_RESAXIM, XVPROCSS_EVT_INIT_ROUTER, XVPROCSS_EVT_INIT_LBOX, XVPROCSS_EVT_INIT_VDMA, XVPROCSS_EVT_CFGERR_VDMA, XVPROCSS_EVT_OPERR_VDMA, XVPROCSS_EVT_CFG_HSCALER, XVPROCSS_EVT_CFG_VSCALER, XVPROCSS_EVT_CFG_CSC, XVPROCSS_EVT_CFG_DEINT, XVPROCSS_EVT_CFG_VCRI, XVPROCSS_EVT_CFG_VCRO, XVPROCSS_EVT_CFG_HCR, XVPROCSS_EVT_CFG_MAX, XVPROCSS_EVT_CFG_VPSS, XVPROCSS_EVT_CHK_TOPO, XVPROCSS_EVT_CHK_BASEADDR, XVPROCSS_EVT_SET_PIPMODE, XVPROCSS_EVT_SET_ZOOMMODE, XVPROCSS_EVT_SET_PIPWIN, XVPROCSS_EVT_SET_ZOOMWIN, XVPROCSS_EVT_GET_ZPWIN, XVPROCSS_EVT_UPDATE_ZPWIN, XVPROCSS_EVT_RESET_VPSS, XVPROCSS_EVT_START_VPSS, XVPROCSS_EVT_STOP_VPSS, XVPROCSS_EVT_LAST_ENUM } |
This typedef contains the Event Log identifiers. More... | |
Functions | |
void | XVprocSs_VdmaStart (XVprocSs *XVprocSsPtr) |
This function starts Read and Write channels. More... | |
void | XVprocSs_VdmaStop (XVprocSs *XVprocSsPtr) |
This function stops Read and Write channels. More... | |
void | XVprocSs_VdmaReset (XVprocSs *XVprocSsPtr) |
This function resets Read and Write channels. More... | |
int | XVprocSs_VdmaWriteSetup (XVprocSs *XVprocSsPtr, UINTPTR WrBaseAddress, XVidC_VideoWindow *window, u32 FrameWidth, u32 FrameHeight, u32 PixelWidthInBits) |
This function sets up the write channel. More... | |
int | XVprocSs_VdmaReadSetup (XVprocSs *XVprocSsPtr, UINTPTR RdBaseAddress, XVidC_VideoWindow *window, u32 FrameWidth, u32 FrameHeight, u32 PixelWidthInBits) |
This function sets up the read channel. More... | |
int | XVprocSs_VdmaStartTransfer (XVprocSs *XVprocSsPtr) |
This function starts the transfer on Read/Write channels. More... | |
void | XVprocSs_VdmaSetWinToDnScaleMode (XVprocSs *XVprocSsPtr, u32 updateCh) |
This function configures the VDMA RD/WR channel for down scale mode. More... | |
void | XVprocSs_VdmaSetWinToUpScaleMode (XVprocSs *XVprocSsPtr, u32 updateCh) |
This function configures the VDMA RD/WR channel for UP scale (or 1:1) mode. More... | |
void | XVprocSs_VdmaDbgReportStatus (XVprocSs *XVprocSsPtr, u32 PixelWidthInBits) |
This function prints VDMA status on the console. More... | |
int | XVprocSs_SubcoreInitResetAxis (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitResetAximm (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitRouter (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitCsc (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitHScaler (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitVScaler (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitHCrsmplr (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitVCrsmpleIn (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitVCrsmpleOut (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitLetterbox (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitVdma (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_SubcoreInitDeinterlacer (XVprocSs *XVprocSsPtr) |
This function initializes the included sub-core to it's static configuration. More... | |
int | XVprocSs_BuildRoutingTable (XVprocSs *XVprocSsPtr) |
This function examines the subsystem Input/Output Stream configuration and builds a routing table for the supported use-case. More... | |
void | XVprocSs_ProgRouterMux (XVprocSs *XVprocSsPtr) |
This function traverses the computed routing table and sets up the AXIS switch registers, to route the stream through processing cores, in the order defined in the routing map. More... | |
void | XVprocSs_SetupRouterDataFlow (XVprocSs *XVprocSsPtr) |
This function traverses the routing map built earlier and configures each sub-core in the processing path per its location in the chain. More... | |
XVprocSs_Config * | XVprocSs_LookupConfig (u32 DeviceId) |
This function looks for the device configuration based on the unique device ID. More... | |
Variables | |
u16 | XVprocSs_Log::DataBuffer [XVPROCSS_EVT_BUFFSIZE] |
Log buffer with event data. More... | |
u8 | XVprocSs_Log::HeadIndex |
Index of the head entry of the Event/DataBuffer. More... | |
u8 | XVprocSs_Log::TailIndex |
Index of the tail entry of the Event/DataBuffer. More... | |
#define XVPROCSS_EDAT_SUCCESS 0x00 |
Event Log status codes.
These are the event data values.
0x00 - 0x0F : Successful events - applicable to VPSS and subcores 0xF0 - 0xFF : Error events - applicable to VPSS and subcores
0x10 ... : Successful events - applicable to particular subcores ... 0xEF : Error events - applicable to particular subcores
Referenced by XVprocSs_GetZoomPipWindow(), XVprocSs_LogDisplay(), XVprocSs_Reset(), XVprocSs_SetZoomPipWindow(), XVprocSs_Start(), XVprocSs_Stop(), and XVprocSs_UpdateZoomPipWindow().
#define XVPROCSS_EVT_BUFFSIZE 256 |
Data structure for the event logging mechanism for debug.
Referenced by XVprocSs_LogRead(), and XVprocSs_LogWrite().
#define XVPROCSS_LOG_H |
< prevent circular inclusions by using protection macros
enum XVprocSs_LogEvent |
This typedef contains the Event Log identifiers.
This typedef enumerates the VDMA channel that needs update.
int XVprocSs_BuildRoutingTable | ( | XVprocSs * | XVprocSsPtr | ) |
This function examines the subsystem Input/Output Stream configuration and builds a routing table for the supported use-case.
The computed routing table is stored in the scratch pad memory
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XVprocSs_ContextData::CscIn, XVprocSs_ContextData::CscOut, XVprocSs::CtxtData, XVprocSs_ContextData::HcrIn, XVprocSs_ContextData::HcrOut, XVprocSs_ContextData::RtngTable, XVprocSs_ContextData::RtrNumCores, XVprocSs_ContextData::ScaleMode, XVprocSs_ContextData::StrmCformat, XVprocSs::VdmaPtr, XVprocSs::VidIn, XVprocSs_ContextData::VidInHeight, XVprocSs_ContextData::VidInWidth, XVprocSs::VidOut, XVPROCSS_EVT_CFG_MAX, and XVprocSs_LogWrite().
XVprocSs_Config* XVprocSs_LookupConfig | ( | u32 | DeviceId | ) |
This function looks for the device configuration based on the unique device ID.
The table XVprocSs_ConfigTable[] contains the configuration information for each instance of the device in the system.
DeviceId | is the unique device ID of the device being looked up |
Referenced by XSys_Init().
void XVprocSs_ProgRouterMux | ( | XVprocSs * | XVprocSsPtr | ) |
This function traverses the computed routing table and sets up the AXIS switch registers, to route the stream through processing cores, in the order defined in the routing map.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XVprocSs::CtxtData, XVprocSs::RouterPtr, XVprocSs_ContextData::RtngTable, XVprocSs_ContextData::RtrNumCores, XVPROCSS_EVT_CFG_MAX, and XVprocSs_LogWrite().
void XVprocSs_SetupRouterDataFlow | ( | XVprocSs * | XVprocSsPtr | ) |
This function traverses the routing map built earlier and configures each sub-core in the processing path per its location in the chain.
Each core in the processing path is marked and only marked cores are started All remaining cores stay disabled
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XVprocSs_ContextData::CscIn, XVprocSs_ContextData::CscOut, XVprocSs::CscPtr, XVprocSs::CtxtData, XVprocSs_ContextData::DeintBufAddr, XVprocSs::DeintPtr, XVprocSs_ContextData::HcrIn, XVprocSs_ContextData::HcrOut, XVprocSs::HcrsmplrPtr, XVprocSs::HscalerPtr, XVprocSs_ContextData::LboxBkgndColor, XVprocSs::LboxPtr, XVprocSs_ContextData::RdWindow, XVprocSs_ContextData::RtngTable, XVprocSs_ContextData::RtrNumCores, XVprocSs_ContextData::ScaleMode, XVprocSs_ContextData::StartCore, XVprocSs_ContextData::StrmCformat, XVprocSs::VcrsmplrInPtr, XVprocSs::VcrsmplrOutPtr, XVprocSs::VdmaPtr, XVprocSs::VidIn, XVprocSs_ContextData::VidInHeight, XVprocSs_ContextData::VidInWidth, XVprocSs::VidOut, XVprocSs::VscalerPtr, XVprocSs_ContextData::WrWindow, XVPROCSS_EVT_CFG_CSC, XVPROCSS_EVT_CFG_HSCALER, XVPROCSS_EVT_CFG_MAX, XVPROCSS_EVT_CFG_VSCALER, XVprocSs_GetColorDepth, XVprocSs_IsPipModeOn, XVprocSs_IsZoomModeOn, XVprocSs_LogWrite(), XVprocSs_Start(), XVprocSs_VdmaSetWinToDnScaleMode(), and XVprocSs_VdmaSetWinToUpScaleMode().
int XVprocSs_SubcoreInitCsc | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XVprocSs_Config::Csc, XVprocSs::CscPtr, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVPROCSS_EVT_CFG_CSC, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitDeinterlacer | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XVprocSs_Config::Deint, XVprocSs::DeintPtr, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVPROCSS_EVT_CFG_DEINT, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitHCrsmplr | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XSubCore::DeviceId, XVprocSs_Config::HCrsmplr, XVprocSs::HcrsmplrPtr, XVprocSs_Config::HighAddress, XVPROCSS_EVT_CFG_HCR, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitHScaler | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVprocSs_Config::Hscale, XVprocSs::HscalerPtr, XVPROCSS_EVT_CFG_HSCALER, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitLetterbox | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVprocSs_Config::Lbox, XVprocSs::LboxPtr, XVPROCSS_EVT_INIT_LBOX, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitResetAximm | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVprocSs_Config::RstAximm, XVprocSs::RstAximmPtr, XVPROCSS_EVT_INIT_RESAXIM, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitResetAxis | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVprocSs_Config::RstAxis, XVprocSs::RstAxisPtr, XVPROCSS_EVT_INIT_RESAXIS, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitRouter | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVprocSs_Config::Router, XVprocSs::RouterPtr, XVPROCSS_EVT_INIT_ROUTER, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitVCrsmpleIn | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVprocSs_Config::VCrsmplrIn, XVprocSs::VcrsmplrInPtr, XVPROCSS_EVT_CFG_VCRI, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitVCrsmpleOut | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVprocSs_Config::VCrsmplrOut, XVprocSs::VcrsmplrOutPtr, XVPROCSS_EVT_CFG_VCRO, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitVdma | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVprocSs_Config::Vdma, XVprocSs::VdmaPtr, XVPROCSS_EVT_INIT_VDMA, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
int XVprocSs_SubcoreInitVScaler | ( | XVprocSs * | XVprocSsPtr | ) |
This function initializes the included sub-core to it's static configuration.
XVprocSsPtr | is a pointer to the Subsystem instance to be worked on. |
References XSubCore::AddrOffset, XVprocSs_Config::BaseAddress, XVprocSs::Config, XSubCore::DeviceId, XVprocSs_Config::HighAddress, XVprocSs_Config::Vscale, XVprocSs::VscalerPtr, XVPROCSS_EVT_CFG_VSCALER, and XVprocSs_LogWrite().
Referenced by XVprocSs_CfgInitialize().
void XVprocSs_VdmaDbgReportStatus | ( | XVprocSs * | XVprocSsPtr, |
u32 | PixelWidthInBits | ||
) |
This function prints VDMA status on the console.
XVdmaPtr | is the instance pointer to the DMA engine. |
Bpp | is Bytes per pixel to be used for data transfer |
References XVprocSs::VdmaPtr.
Referenced by XVprocSs_ReportSubcoreStatus().
int XVprocSs_VdmaReadSetup | ( | XVprocSs * | XVprocSsPtr, |
UINTPTR | RdBaseAddress, | ||
XVidC_VideoWindow * | window, | ||
u32 | FrameWidth, | ||
u32 | FrameHeight, | ||
u32 | PixelWidthInBits | ||
) |
This function sets up the read channel.
XVprocSsPtr | is the pointer to the VPSS instance. |
RdBaseAddress | is the address in DDR where frame buffers are located |
window | is pointer to sub-frame window |
FrameWidth | is the active width of the stream to be read |
FrameHeight | is the active height of the stream to be read |
PixelWidthInBits | is Bits Per Pixel required for the stream |
References XVprocSs::VdmaPtr, XVPROCSS_EVT_CFGERR_VDMA, and XVprocSs_LogWrite().
Referenced by XVprocSs_VdmaSetWinToDnScaleMode(), and XVprocSs_VdmaSetWinToUpScaleMode().
void XVprocSs_VdmaReset | ( | XVprocSs * | XVprocSsPtr | ) |
This function resets Read and Write channels.
XVprocSsPtr | is the pointer to the VPSS instance |
References XVprocSs::VdmaPtr, XVPROCSS_EVT_OPERR_VDMA, and XVprocSs_LogWrite().
Referenced by XVprocSs_Reset().
void XVprocSs_VdmaSetWinToDnScaleMode | ( | XVprocSs * | XVprocSsPtr, |
u32 | updateCh | ||
) |
This function configures the VDMA RD/WR channel for down scale mode.
XVprocSsPtr | is the pointer to the VPSS instance. |
updateCh | defines VDMA channel (RD/WR or RD+WR) to update |
References XVprocSs::CtxtData, XVprocSs::FrameBufBaseaddr, XVprocSs_ContextData::PixelWidthInBits, XVprocSs::VidOut, XVprocSs_GetZoomPipWindow(), XVprocSs_IsPipModeOn, XVprocSs_VdmaReadSetup(), and XVprocSs_VdmaWriteSetup().
Referenced by XVprocSs_SetupRouterDataFlow(), and XVprocSs_UpdateZoomPipWindow().
void XVprocSs_VdmaSetWinToUpScaleMode | ( | XVprocSs * | XVprocSsPtr, |
u32 | updateCh | ||
) |
This function configures the VDMA RD/WR channel for UP scale (or 1:1) mode.
XVprocSsPtr | is the pointer to the VPSS instance. |
updateCh | defines VDMA channel (RD/WR or RD+WR) to update |
References XVprocSs::CtxtData, XVprocSs::FrameBufBaseaddr, XVprocSs_ContextData::PixelWidthInBits, XVprocSs_ContextData::VidInHeight, XVprocSs_ContextData::VidInWidth, XVprocSs_GetZoomPipWindow(), XVprocSs_IsZoomModeOn, XVprocSs_VdmaReadSetup(), and XVprocSs_VdmaWriteSetup().
Referenced by XVprocSs_SetupRouterDataFlow(), and XVprocSs_UpdateZoomPipWindow().
void XVprocSs_VdmaStart | ( | XVprocSs * | XVprocSsPtr | ) |
This function starts Read and Write channels.
XVdmaPtr | is the pointer to core instance to be worked on |
References XVprocSs::VdmaPtr.
int XVprocSs_VdmaStartTransfer | ( | XVprocSs * | XVprocSsPtr | ) |
This function starts the transfer on Read/Write channels.
Both channels must have been configured before this call is made
XVprocSsPtr | is the pointer to the VPSS instance. |
References XVprocSs::VdmaPtr, XVPROCSS_EVT_OPERR_VDMA, and XVprocSs_LogWrite().
Referenced by XVprocSs_Start(), and XVprocSs_UpdateZoomPipWindow().
void XVprocSs_VdmaStop | ( | XVprocSs * | XVprocSsPtr | ) |
This function stops Read and Write channels.
XVdmaPtr | is the pointer to core instance to be worked on |
References XVprocSs::VdmaPtr.
Referenced by XVprocSs_Stop().
int XVprocSs_VdmaWriteSetup | ( | XVprocSs * | XVprocSsPtr, |
UINTPTR | WrBaseAddress, | ||
XVidC_VideoWindow * | window, | ||
u32 | FrameWidth, | ||
u32 | FrameHeight, | ||
u32 | PixelWidthInBits | ||
) |
This function sets up the write channel.
XVprocSsPtr | is the pointer to the VPSS instance. |
WrBaseAddress | is the address in DDR where frame buffers are located |
window | is pointer to sub-frame window |
FrameWidth | is the active width of the stream to be written |
FrameHeight | is the active height of the stream to be written |
PixelWidthInBits | is Bits Per Pixel required for the stream |
References XVprocSs::VdmaPtr, XVPROCSS_EVT_CFGERR_VDMA, and XVprocSs_LogWrite().
Referenced by XVprocSs_VdmaSetWinToDnScaleMode(), and XVprocSs_VdmaSetWinToUpScaleMode().
u16 XVprocSs_Log::DataBuffer[XVPROCSS_EVT_BUFFSIZE] |
Log buffer with event data.
u8 XVprocSs_Log::HeadIndex |
Index of the head entry of the
Event/DataBuffer.
u8 XVprocSs_Log::TailIndex |
Index of the tail entry of the
Event/DataBuffer.