PDK API Guide for J721E
SDE Interface

Introduction

Interface file for SDE M2M FVID2 driver

Files

file  vhwa_m2mSde.h
 Defines the structures / control operations that could be used to configure / control SDE M2M driver.
 

Data Structures

struct  Vhwa_M2mSdePrms
 Connfiguration parameters of SDE. More...
 
struct  Vhwa_M2mSdeCreateArgs
 Parameters required to create a new handle. More...
 
struct  Vhwa_M2mSdeInitParams
 Initialization Parameters for SDE M2M Driver. More...
 
struct  Vhwa_M2mSdeSl2AllocPrms
 Init Parameters required to allocate SDE driver. More...
 

Functions

static void Vhwa_M2mSdeInitParamsInit (Vhwa_M2mSdeInitParams *sdeInitPrms)
 Vhwa_M2mSdeInitParams structure init function. More...
 
static void Vhwa_M2mSdePrmsInit (Vhwa_M2mSdePrms *sdePrms)
 Function to initialize the SDE configuration parameters to default. More...
 
static void Vhwa_M2mSdeCreateArgsInit (Vhwa_M2mSdeCreateArgs *createArgs)
 Function to initialize the SDE create argument parameters to default. More...
 
int32_t Vhwa_m2mSdeInit (Vhwa_M2mSdeInitParams *pInitPrms)
 SDE initialization function. This function initializes the SDE hardware and drivers. This function should be called before calling any driver APIs and only once. More...
 
void Vhwa_m2mSdeDeInit (void)
 SDE de-initialization function. This function un-initializes the SDE hardware and drivers. This function should be called during system shutdown if Vhwa_m2mSdeDeInit() was called by the application. More...
 
int32_t Vhwa_m2mSdeAllocSl2 (const Vhwa_M2mSdeSl2AllocPrms *sl2allocPrms)
 Function to allocate Sl2 memory for input and output buffers. More...
 
int32_t Vhwa_m2mSdeFreeSl2 (void)
 Function to free allocated SL2. More...
 
static void Vhwa_M2mSdeSl2AllocPrmsInit (Vhwa_M2mSdeSl2AllocPrms *prms)
 

Macros

#define VHWA_M2M_SDE_MAX_IN_BUFFER   (2U)
 
#define VHWA_M2M_SDE_MAX_OUT_BUFFER   (1U)
 
#define VHWA_M2M_SDE_MAX_BUFFER
 
#define VHWA_M2M_SDE_DRV_INST_ID   (0U)
 
#define VHWA_M2M_SDE_MAX_HANDLES   (4u)
 Max Number of handles supported by SDE M2M Driver. More...
 

VHWA SDE IOCTL macros

Input/Output control MACRO's for SDE driver

#define VHWA_M2M_IOCTL_SDE_SET_PARAMS   (VHWA_IOCTL_SDE_IOCTL_BASE)
 IOCTL for setting SDE configuration. More...
 
#define VHWA_M2M_IOCTL_SDE_SET_HTS_LIMIT   (VHWA_M2M_IOCTL_SDE_SET_PARAMS + 1u)
 IOCTL for setting bandwidth limiter. More...
 
#define VHWA_M2M_IOCTL_SDE_GET_PERFORMANCE   (VHWA_M2M_IOCTL_SDE_SET_HTS_LIMIT + 1u)
 IOCTL for getting IP performance. More...
 
#define VHWA_M2M_IOCTL_SDE_GET_PSA_SIGN   (VHWA_M2M_IOCTL_SDE_GET_PERFORMANCE + 1u)
 IOCTL for getting the PSA signature. More...
 
#define VHWA_M2M_IOCTL_SDE_GET_HISTOGRAM   (VHWA_M2M_IOCTL_SDE_GET_PSA_SIGN + 1u)
 IOCTL for getting flow vector histogram. More...
 
#define VHWA_M2M_IOCTL_SDE_REGISTER_ERR_CB   (VHWA_M2M_IOCTL_SDE_GET_HISTOGRAM + 1u)
 IOCTL for registering the Error Callback. More...
 
#define VHWA_M2M_IOCTL_SDE_SYNC_START   (VHWA_M2M_IOCTL_SDE_REGISTER_ERR_CB + 1u)
 IOCTL to sync start each module This IOCTL doesn't configure any register and only enable pipeline to start processing. More...
 

VHWA SDE IO buffer indexes

Input/Output buffer MACRO's for SDE driver

#define SDE_INPUT_REFERENCE_IMG   (0U)
 
#define SDE_INPUT_BASE_IMG   (1U)
 
#define SDE_OUTPUT   (2U)
 
#define SDE_INPUT_FOCO_REF_IMG   (3U)
 
#define SDE_INPUT_FOCO_BASE_IMG   (4U)
 

VHWA SDE Default Init Paramters

VHWA SDE Default Init Paramters for Sl2

#define SDE_DEFAULT_IMG_WIDTH   (1280U)
 
#define SDE_DEFAULT_CCSF   (FVID2_CCSF_BITS12_UNPACKED16)
 
#define SDE_DEFAULT_DIS_BUFF_DEPTH   (2U)
 
#define SDE_DEFAULT_SR   (SDE_SR_128)
 

Macro Definition Documentation

#define VHWA_M2M_IOCTL_SDE_SET_PARAMS   (VHWA_IOCTL_SDE_IOCTL_BASE)

IOCTL for setting SDE configuration.

#define VHWA_M2M_IOCTL_SDE_SET_HTS_LIMIT   (VHWA_M2M_IOCTL_SDE_SET_PARAMS + 1u)

IOCTL for setting bandwidth limiter.

#define VHWA_M2M_IOCTL_SDE_GET_PERFORMANCE   (VHWA_M2M_IOCTL_SDE_SET_HTS_LIMIT + 1u)

IOCTL for getting IP performance.

#define VHWA_M2M_IOCTL_SDE_GET_PSA_SIGN   (VHWA_M2M_IOCTL_SDE_GET_PERFORMANCE + 1u)

IOCTL for getting the PSA signature.

#define VHWA_M2M_IOCTL_SDE_GET_HISTOGRAM   (VHWA_M2M_IOCTL_SDE_GET_PSA_SIGN + 1u)

IOCTL for getting flow vector histogram.

#define VHWA_M2M_IOCTL_SDE_REGISTER_ERR_CB   (VHWA_M2M_IOCTL_SDE_GET_HISTOGRAM + 1u)

IOCTL for registering the Error Callback.

#define VHWA_M2M_IOCTL_SDE_SYNC_START   (VHWA_M2M_IOCTL_SDE_REGISTER_ERR_CB + 1u)

IOCTL to sync start each module This IOCTL doesn't configure any register and only enable pipeline to start processing.

#define VHWA_M2M_SDE_MAX_IN_BUFFER   (2U)

Maximim number of inputs SDE buffers

#define VHWA_M2M_SDE_MAX_OUT_BUFFER   (1U)

Maximim number of output SDE buffers

#define VHWA_M2M_SDE_MAX_BUFFER
Value:
#define VHWA_M2M_SDE_MAX_OUT_BUFFER
Definition: vhwa_m2mSde.h:113
#define VHWA_M2M_SDE_MAX_IN_BUFFER
Definition: vhwa_m2mSde.h:110

Maximim number of total SDE buffers Instance ID for the SDE M2m driver

#define VHWA_M2M_SDE_DRV_INST_ID   (0U)
#define VHWA_M2M_SDE_MAX_HANDLES   (4u)

Max Number of handles supported by SDE M2M Driver.

#define SDE_INPUT_REFERENCE_IMG   (0U)
#define SDE_INPUT_BASE_IMG   (1U)
#define SDE_OUTPUT   (2U)
#define SDE_INPUT_FOCO_REF_IMG   (3U)
#define SDE_INPUT_FOCO_BASE_IMG   (4U)
#define SDE_DEFAULT_IMG_WIDTH   (1280U)
#define SDE_DEFAULT_CCSF   (FVID2_CCSF_BITS12_UNPACKED16)
#define SDE_DEFAULT_DIS_BUFF_DEPTH   (2U)
#define SDE_DEFAULT_SR   (SDE_SR_128)

Function Documentation

static void Vhwa_M2mSdeInitParamsInit ( Vhwa_M2mSdeInitParams sdeInitPrms)
inlinestatic

Vhwa_M2mSdeInitParams structure init function.

Parameters
sdeInitPrmsPointer to Vhwa_M2mSdeInitParams structure.
Returns
None
static void Vhwa_M2mSdePrmsInit ( Vhwa_M2mSdePrms sdePrms)
inlinestatic

Function to initialize the SDE configuration parameters to default.

Parameters
sdePrmsPointer to a Vhwa_M2mSdePrms containing SDE configuration
Returns
None
static void Vhwa_M2mSdeCreateArgsInit ( Vhwa_M2mSdeCreateArgs createArgs)
inlinestatic

Function to initialize the SDE create argument parameters to default.

Parameters
createArgsPointer to a Vhwa_M2mSdeCreateArgs containing SDE create arguments
Returns
None
int32_t Vhwa_m2mSdeInit ( Vhwa_M2mSdeInitParams pInitPrms)

SDE initialization function. This function initializes the SDE hardware and drivers. This function should be called before calling any driver APIs and only once.

Parameters
pInitPrmsPointer to a Vhwa_M2mSdeInitParams structure containing the SDE driver initialization parameters
Returns
FVID2_SOK if successful, else suitable error code
void Vhwa_m2mSdeDeInit ( void  )

SDE de-initialization function. This function un-initializes the SDE hardware and drivers. This function should be called during system shutdown if Vhwa_m2mSdeDeInit() was called by the application.

Returns
None
int32_t Vhwa_m2mSdeAllocSl2 ( const Vhwa_M2mSdeSl2AllocPrms sl2allocPrms)

Function to allocate Sl2 memory for input and output buffers.

Parameters
sl2allocPrmsPointer to a Vhwa_M2mSdeSl2AllocPrms structure containing the SL2 allocation parameters
Returns
FVID2_SOK if successful, else suitable error code
int32_t Vhwa_m2mSdeFreeSl2 ( void  )

Function to free allocated SL2.

Returns
FVID2_SOK if successful, else suitable error code
static void Vhwa_M2mSdeSl2AllocPrmsInit ( Vhwa_M2mSdeSl2AllocPrms prms)
inlinestatic