VHWA Driver API Guide
vhwa_m2mFlexConnect.h File Reference

Introduction

Defines the structures / control operations that could be used to configure / control vhwa_m2mFlexConnect.

Typical Application for the FC driver is as shown below.

Vhwa_FCDrvInit || FVID2_Create || Configure nodes || FVID2_ProcessReq || Wait for completion callback || FVID2_GetProcessedReq || FVID2_close || FVID2_deInit

Go to the source code of this file.

Data Structures

struct  Vhwa_M2mFcEdgeInfo
 Structure containing edge information. Edge is a connection between two nodes i.e. two modules. Video Hardware can be represented by a Flex-Connect, where each module is node and edge is present between two nodes if they are connected. More...
 
struct  Vhwa_M2mFcGraphPathInfo
 Structure contaning the VHWA FC path info. This contains array of edge connected in the FC. More...
 
struct  Vhwa_M2mFcInitPrms
 Structure containing parameters to initialize the Flex-Connect driver. More...
 
struct  Vhwa_M2mFcCreatePrms
 Create Parameters for vhwa Flex-Connect. More...
 
struct  Vhwa_M2mFcSl2AllocPrms
 Used for allocating SL2 memory. More...
 
struct  Vhwa_M2mFcPerf
 Structure for storing the performance numbers. More...
 
struct  Vhwa_M2mFcModuleHdls
 Sturcuture for getting the Module handles. More...
 
struct  Vhwa_M2mFcMscArgs
 

Macros

#define VHWA_M2M_VPAC_0_FC_DRV_INST_ID_0   (0U)
 Flexconnect Driver instance ID. More...
 
#define VHWA_M2M_FC_DRV_NUM_INST   (VHWA_M2M_VPAC_0_FC_DRV_INST_ID_0 + 1U)
 Total number of FC instances. More...
 
#define VHWA_M2M_FC_DRV_INST0   (VHWA_M2M_VPAC_0_FC_DRV_INST_ID_0)
 Default FC Driver Instance ID [For backward compatibility]. More...
 
#define VHWA_FC_DRV_MAX_HANDLES   (4u)
 Max Number of Flexconnect Driver handles. More...
 
#define VHWA_FC_MAX_NODE_INST   (VHWA_FC_MAX_NODES)
 Max Number of Flexconnect Nodes. More...
 
#define VHWA_FC_MAX_EDGES   (30u)
 Max Number of Flexconnect edges. More...
 
#define VHWA_FC_VISS_SRC_BUFF_IDX_START   (0U)
 VISS Source buffert start index for Input process frame list. More...
 
#define VHWA_FC_MSC0_SRC_BUFF_IDX_START   (3U)
 MSC0 Source buffert start index for Input process frame list. More...
 
#define VHWA_FC_MSC1_SRC_BUFF_IDX_START   (5U)
 MSC1 Source buffert start index for Input process frame list. More...
 
#define VHWA_FC_TOTAL_SRC_BUFF   (7U)
 Total Source buffert for Input process frame list. More...
 
#define VHWA_FC_VISS_DST_BUFF_IDX_START   (0U)
 VISS Output buffert start index for Output process frame list. More...
 
#define VHWA_FC_MSC0_DST_BUFF_IDX_START   (8U)
 MSC0 Output buffert start index for Output process frame list. More...
 
#define VHWA_FC_MSC1_DST_BUFF_IDX_START   (18U)
 MSC1 Output buffert start index for Output process frame list. More...
 
#define VHWA_FC_TOTAL_DST_BUFF   (18U)
 Total Output buffert for Output process frame list. More...
 
Ioctls for the Flex-Connect driver

Input/Output control MACRO's for Flex-Connect driver module

#define IOCTL_VHWA_FC_SET_GRAPH   (VHWA_IOCTL_FC_IOCTL_BASE)
 IOCTL for setting VPAC Flex-Connect configuration. More...
 
#define IOCTL_VHWA_FC_SET_CONFIG   (IOCTL_VHWA_FC_SET_GRAPH + 1u)
 IOCTL for setting VPAC Flex-Connect path configuration. More...
 
#define IOCTL_VHWA_FC_DELETE_GRAPH   (IOCTL_VHWA_FC_SET_CONFIG + 1u)
 IOCTL for deletting VPAC Flex-Connect configuration. More...
 
#define IOCTL_VHWA_FC_REGISTER_ERR_CB   (IOCTL_VHWA_FC_DELETE_GRAPH + 1u)
 IOCTL for enabling error events and registering callbacks for the same. This IOCTL pointer to FC_ErrEventParams as input. More...
 
#define IOCTL_VHWA_FC_GET_HANDLES   (IOCTL_VHWA_FC_REGISTER_ERR_CB + 1u)
 IOCTL for getting the FVID2 handles for VHWA modules This IOCTL requires pointer to Vhwa_M2mFcModuleHdls as input. More...
 
#define IOCTL_VHWA_FC_GET_PERFORMANCE   (IOCTL_VHWA_FC_GET_HANDLES + 1u)
 IOCTL for getting FC Processing attributes for the last frame submitted. More...
 

Functions

int32_t Vhwa_m2mFcInit (Vhwa_M2mFcInitPrms *fcInitPrms)
 Initializes the VHWA Flex-Connect. More...
 
void Vhwa_m2mFcDeInit (void)
 DeInitializes vhwa Flex-Connect. More...
 
int32_t Vhwa_m2mFcAllocSl2 (const Vhwa_M2mFcSl2AllocPrms *sl2allocPrms)
 Function to allocate Sl2 memory for the buffers. More...
 
void Vhwa_m2mFCDrvFreeSl2 (void)
 Function to free allocated SL2. More...
 
static void Vhwa_m2mFcInitPrmsInit (Vhwa_M2mFcInitPrms *initPrms)
 Vhwa_M2mFcInitPrms structure init function. More...
 
static void Vhwa_m2mFcDrvCreatePrmsInit (Vhwa_M2mFcCreatePrms *initPrms)
 Vhwa_M2mFcCreatePrms structure init function. More...
 
static void Vhwa_m2mFcDrvSl2AllocPrmsInit (Vhwa_M2mFcSl2AllocPrms *initPrms)
 Vhwa_M2mFcSl2AllocPrms structure init function. More...