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. Both DOF and SDE SL2 memory should be freed before reallocating. 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

◆ VHWA_M2M_IOCTL_SDE_SET_PARAMS

#define VHWA_M2M_IOCTL_SDE_SET_PARAMS   (VHWA_IOCTL_SDE_IOCTL_BASE)

IOCTL for setting SDE configuration.

◆ VHWA_M2M_IOCTL_SDE_SET_HTS_LIMIT

#define VHWA_M2M_IOCTL_SDE_SET_HTS_LIMIT   (VHWA_M2M_IOCTL_SDE_SET_PARAMS + 1u)

IOCTL for setting bandwidth limiter.

◆ VHWA_M2M_IOCTL_SDE_GET_PERFORMANCE

#define VHWA_M2M_IOCTL_SDE_GET_PERFORMANCE   (VHWA_M2M_IOCTL_SDE_SET_HTS_LIMIT + 1u)

IOCTL for getting IP performance.

◆ VHWA_M2M_IOCTL_SDE_GET_PSA_SIGN

#define VHWA_M2M_IOCTL_SDE_GET_PSA_SIGN   (VHWA_M2M_IOCTL_SDE_GET_PERFORMANCE + 1u)

IOCTL for getting the PSA signature.

◆ VHWA_M2M_IOCTL_SDE_GET_HISTOGRAM

#define VHWA_M2M_IOCTL_SDE_GET_HISTOGRAM   (VHWA_M2M_IOCTL_SDE_GET_PSA_SIGN + 1u)

IOCTL for getting flow vector histogram.

◆ VHWA_M2M_IOCTL_SDE_REGISTER_ERR_CB

#define VHWA_M2M_IOCTL_SDE_REGISTER_ERR_CB   (VHWA_M2M_IOCTL_SDE_GET_HISTOGRAM + 1u)

IOCTL for registering the Error Callback.

◆ VHWA_M2M_IOCTL_SDE_SYNC_START

#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.

◆ VHWA_M2M_SDE_MAX_IN_BUFFER

#define VHWA_M2M_SDE_MAX_IN_BUFFER   (2U)

Maximim number of inputs SDE buffers

◆ VHWA_M2M_SDE_MAX_OUT_BUFFER

#define VHWA_M2M_SDE_MAX_OUT_BUFFER   (1U)

Maximim number of output SDE buffers

◆ VHWA_M2M_SDE_MAX_BUFFER

#define VHWA_M2M_SDE_MAX_BUFFER
Value:
VHWA_M2M_SDE_MAX_OUT_BUFFER)
#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

◆ VHWA_M2M_SDE_DRV_INST_ID

#define VHWA_M2M_SDE_DRV_INST_ID   (0U)

◆ VHWA_M2M_SDE_MAX_HANDLES

#define VHWA_M2M_SDE_MAX_HANDLES   (4u)

Max Number of handles supported by SDE M2M Driver.

◆ SDE_INPUT_REFERENCE_IMG

#define SDE_INPUT_REFERENCE_IMG   (0U)

◆ SDE_INPUT_BASE_IMG

#define SDE_INPUT_BASE_IMG   (1U)

◆ SDE_OUTPUT

#define SDE_OUTPUT   (2U)

◆ SDE_INPUT_FOCO_REF_IMG

#define SDE_INPUT_FOCO_REF_IMG   (3U)

◆ SDE_INPUT_FOCO_BASE_IMG

#define SDE_INPUT_FOCO_BASE_IMG   (4U)

◆ SDE_DEFAULT_IMG_WIDTH

#define SDE_DEFAULT_IMG_WIDTH   (1280U)

◆ SDE_DEFAULT_CCSF

#define SDE_DEFAULT_CCSF   (FVID2_CCSF_BITS12_UNPACKED16)

◆ SDE_DEFAULT_DIS_BUFF_DEPTH

#define SDE_DEFAULT_DIS_BUFF_DEPTH   (2U)

◆ SDE_DEFAULT_SR

#define SDE_DEFAULT_SR   (SDE_SR_128)

Function Documentation

◆ Vhwa_M2mSdeInitParamsInit()

static void Vhwa_M2mSdeInitParamsInit ( Vhwa_M2mSdeInitParams sdeInitPrms)
inlinestatic

Vhwa_M2mSdeInitParams structure init function.

Parameters
sdeInitPrmsPointer to Vhwa_M2mSdeInitParams structure.
Returns
None

◆ Vhwa_M2mSdePrmsInit()

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

◆ Vhwa_M2mSdeCreateArgsInit()

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

◆ Vhwa_m2mSdeInit()

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

◆ Vhwa_m2mSdeDeInit()

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

◆ Vhwa_m2mSdeAllocSl2()

int32_t Vhwa_m2mSdeAllocSl2 ( const Vhwa_M2mSdeSl2AllocPrms sl2allocPrms)

Function to allocate Sl2 memory for input and output buffers. Both DOF and SDE SL2 memory should be freed before reallocating.

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

◆ Vhwa_m2mSdeFreeSl2()

int32_t Vhwa_m2mSdeFreeSl2 ( void  )

Function to free allocated SL2.

Returns
FVID2_SOK if successful, else suitable error code

◆ Vhwa_M2mSdeSl2AllocPrmsInit()

static void Vhwa_M2mSdeSl2AllocPrmsInit ( Vhwa_M2mSdeSl2AllocPrms prms)
inlinestatic