PDK API Guide for J721E
vhwa_m2mNf.h File Reference

Introduction

Defines the structures / control operations that could be used to configure / control NF M2M driver.

Typical Application for the NF M2M driver is as shown below.

Vhwa_m2mNfInit || Vhwa_m2mNfAllocSl2 || FVID2_Create || IOCTL_VHWA_M2M_NF_SET_CONFIG (sets NF configuration) || FVID2_ProcessReq || Wait for completion callback || FVID2_GetProcessedReq || FVID2_close || FVID2_deInit

Go to the source code of this file.

Data Structures

struct  Vhwa_M2mNfConfig
 Connfiguration parameters of NF. More...
 
struct  Vhwa_M2mNfCreatePrms
 Create Parameters for NF M2M Driver. More...
 
struct  Vhwa_M2mNfInitPrms
 Init Parameters for NF M2M Driver. More...
 
struct  Vhwa_M2mNfSl2AllocPrms
 Used for allocating SL2 memory. More...
 
struct  Vhwa_M2mNfPerf
 Structure for storing the performance numbers. More...
 
struct  Vhwa_M2mNfPsaSign
 Structure for storing PSA signatures. More...
 

Macros

#define VHWA_M2M_NF_DRV_INST_ID   (0U)
 
#define VHWA_M2M_NF_MAX_HANDLES   (4u)
 Max Number of handles supported by NF M2M Driver. More...
 
#define VHWA_M2M_NF_MIN_RD_BUFFER_DEPTH   (6U)
 Minimum supported depth value for read buffer in VHWA memory. More...
 
#define VHWA_M2M_NF_MIN_WR_BUFFER_DEPTH   (2U)
 Minimum supported depth value for write buffer in VHWA memory. More...
 
#define VHWA_M2M_NF_MAX_COMP   (2u)
 Maximum possible NF iteration for a simgle request (Luma + Chroma) More...
 
#define VHWA_NF_DEF_WIDTH   (1920U)
 Default width - Used to initialize configuration parameters. More...
 
#define VHWA_NF_DEF_HEIGHT   (1080U)
 Default Height - Used to initialize configuration parameters. More...
 
Ioctls for the NF memory to memory driver

Input/Output control MACRO's for NF memory to memory module

#define IOCTL_VHWA_M2M_NF_SET_PARAMS   (VHWA_IOCTL_M2M_NF_IOCTL_BASE)
 IOCTL for setting NF configuration. This IOCTL takes NF Configuration Nf_Config as input. More...
 
#define IOCTL_VHWA_M2M_NF_SET_FILTER_COEFF   (IOCTL_VHWA_M2M_NF_SET_PARAMS + 1U)
 IOCTL for setting the filter coefficients. More...
 
#define IOCTL_VHWA_M2M_NF_GET_PERFORMANCE
 IOCTL for getting module's performance numbers for the last frame submitted. More...
 
#define IOCTL_VHWA_M2M_NF_GET_PSA_SIGN
 IOCTL for getting LSE PSA Signature. More...
 
#define IOCTL_VHWA_M2M_NF_REGISTER_ERR_CB
 IOCTL for enabling error events and registering callbacks for the same. This IOCTL pointer to Nf_ErrEventParams as input. More...
 
#define IOCTL_VHWA_M2M_NF_SET_HTS_LIMIT
 IOCTL for enabling and setting HTS limiter. This is used to slowed down the HTS by introducing clock cycles between internal start signals. This IOCTL takes pointer to Vhwa_HtsLimiter as input. More...
 
#define IOCTL_VHWA_M2M_NF_SYNC_START
 IOCTL to sync start each module This IOCTL doesn't configure any register and only enable pipeline to start processing. More...
 

Functions

int32_t Vhwa_m2mNfInit (Vhwa_M2mNfInitPrms *nfInitPrms)
 Initializes NF Init Parameters. More...
 
void Vhwa_m2mNfDeInit (void)
 DeInitializes NF Init Parameters. More...
 
int32_t Vhwa_m2mNfAllocSl2 (const Vhwa_M2mNfSl2AllocPrms *sl2allocPrms)
 Function to allocate Sl2 memory for the output buffers. More...
 
void Vhwa_m2mNfFreeSl2 (void)
 Function to free allocated SL2. More...
 
static void Vhwa_m2mNfInitPrmsInit (Vhwa_M2mNfInitPrms *ldcCfg)
 This function should be used to initialize variable of type Vhwa_M2mNfInitPrms. More...
 
static void Vhwa_M2mNfCreatePrmsInit (Vhwa_M2mNfCreatePrms *createArgs)
 This function should be used to initialize variable of type Vhwa_M2mNfCreatePrms. More...
 
static void Vhwa_M2mNfSl2AllocPrmsInit (Vhwa_M2mNfSl2AllocPrms *sl2Prms)
 This function should be used to initialize variable of type Vhwa_M2mNfSl2AllocPrms. More...
 
static void Vhwa_M2mNfConfigInit (Vhwa_M2mNfConfig *nfCfg)
 This function should be used to initialize variable of type Vhwa_M2mNfConfig. More...