PDK API Guide for J721E
|
Interface file for VISS M2M FVID2 driver
Files | |
file | vhwa_m2mViss.h |
Defines the structures / control operations that could be used to configure / control VISS M2M driver. | |
Data Structures | |
struct | Vhwa_M2mVissInitParams |
Init Parameters for VISS M2M Driver. More... | |
struct | Vhwa_M2mVissCreateArgs |
struct | Vhwa_M2mVissSl2Params |
struct | Vhwa_M2mVissOutputParams |
struct | Vhwa_M2mVissParams |
Connfiguration parameters of VISS. More... | |
struct | Vhwa_M2mVissConfigAppBuff |
Functions | |
static void | Vhwa_m2mVissInitParamsInit (Vhwa_M2mVissInitParams *prms) |
This function should be used to initialize variable of type Vhwa_M2mVissInitParams. More... | |
static void | Vhwa_m2mVissCreateArgsInit (Vhwa_M2mVissCreateArgs *prms) |
This function should be used to initialize variable of type Vhwa_M2mVissCreateArgs. More... | |
static void | Vhwa_m2mVissParamsInit (Vhwa_M2mVissParams *prms) |
This function should be used to initialize variable of type Vhwa_M2mVissParams. More... | |
static void | Vhwa_m2mVissSl2ParamsInit (Vhwa_M2mVissSl2Params *prms) |
This function should be used to initialize variable of type Vhwa_M2mVissSl2Params. More... | |
int32_t | Vhwa_m2mVissInit (Vhwa_M2mVissInitParams *initPrms) |
Function to initialize VISS with provided init parameters. More... | |
void | Vhwa_m2mVissDeInit (void) |
Function to deinitialize, cleans up the internal data structures. More... | |
int32_t | Vhwa_m2mVissAllocSl2 (const Vhwa_M2mVissSl2Params *sl2AllocPrms) |
Function to allocate Sl2 memory for the output buffers. More... | |
void | Vhwa_m2mVissFreeSl2 (void) |
Function to free allocated SL2. More... | |
Macros | |
#define | VHWA_M2M_VISS_DRV_INST0 (0U) |
VISS Driver Instance ID. More... | |
#define | VHWA_M2M_VISS_DRV_MAX_INST (1U) |
Maximum VISS driver Instances. More... | |
#define | VHWA_M2M_VISS_MAX_HANDLES (8u) |
Max Number of handles supported by VISS M2M Driver. More... | |
#define | VHWA_M2M_VISS_INPUT_IDX0 (0U) |
#define | VHWA_M2M_VISS_INPUT_IDX1 (1U) |
#define | VHWA_M2M_VISS_INPUT_IDX2 (2U) |
#define | VHWA_M2M_VISS_MAX_INPUTS (3U) |
Ioctls for the VISS memory to memory driver | |
Input/Output control MACRO's for VISS memory to memory module | |
#define | IOCTL_VHWA_M2M_VISS_SET_PARAMS (VHWA_IOCTL_M2M_VISS_IOCTL_BASE) |
IOCTL for setting VISS configuration. This IOCTL is used to select the number input, outputs and any internal path related configuration, it has flags to enable/disable, which alters blanking requirement. It is not used for confiugring individual VISS sub-modules. Typically used just after the create to select inputs, outputs and paths. Refer to Vhwa_M2mVissParams. More... | |
#define | IOCTL_VHWA_M2M_VISS_REGISTER_ERR_CB |
IOCTL for enabling error events and registering callbacks for the same. Refer to Ldc_ErrEventParams. More... | |
#define | IOCTL_VHWA_M2M_VISS_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. Refer to Vhwa_HtsLimiter. More... | |
#define | IOCTL_VHWA_M2M_VISS_SYNC_START |
IOCTL to sync start each module This IOCTL doesn't configure any register and only enable pipeline to start processing. More... | |
#define | IOCTL_VHWA_M2M_VISS_GET_PERFORMANCE |
IOCTL for getting module's performance numbers for the last frame submitted. More... | |
#define | IOCTL_VHWA_M2M_VISS_GET_BUFF_INFO |
Get Config UDMA buffer information. More... | |
#define | IOCTL_VHWA_M2M_VISS_SET_BUFF_INFO |
Set Config UDMA buffer information. More... | |
#define | VHWA_M2M_VISS_OUT_YUV420_12B_IDX (0U) |
#define | VHWA_M2M_VISS_OUT_GREY_12B_IDX (0U) |
#define | VHWA_M2M_VISS_OUT_COLOR_12B_IDX (0U) |
#define | VHWA_M2M_VISS_OUT_LUMA_12B_IDX (0U) |
#define | VHWA_M2M_VISS_OUT_YUV422_12B_IDX (0U) |
#define | VHWA_M2M_VISS_OUT_CFA_C1_12B_IDX (1U) |
#define | VHWA_M2M_VISS_OUT_CHROMA_12B_IDX (1U) |
#define | VHWA_M2M_VISS_OUT_YUV420_8B_IDX (2U) |
#define | VHWA_M2M_VISS_OUT_YUV422_8B_IDX (2U) |
#define | VHWA_M2M_VISS_OUT_RGB888_8B_IDX (2U) |
#define | VHWA_M2M_VISS_OUT_GREY_8B_IDX (2U) |
#define | VHWA_M2M_VISS_OUT_COLOR_8B_IDX (2U) |
#define | VHWA_M2M_VISS_OUT_CFA_C2_12B_IDX (2U) |
#define | VHWA_M2M_VISS_OUT_LUMA_8B_IDX (2U) |
#define | VHWA_M2M_VISS_OUT_RED_8B_IDX (2U) |
#define | VHWA_M2M_VISS_OUT_CFA_C3_12B_IDX (3U) |
#define | VHWA_M2M_VISS_OUT_CHROMA_8B_IDX (3U) |
#define | VHWA_M2M_VISS_OUT_GREEN_8B_IDX (3U) |
#define | VHWA_M2M_VISS_OUT_SATURA_8B_IDX (4U) |
#define | VHWA_M2M_VISS_OUT_CFA_C4_12B_IDX (4U) |
#define | VHWA_M2M_VISS_OUT_BLUE_8B_IDX (4U) |
#define | VHWA_M2M_VISS_OUT_H3A_IDX (5U) |
#define | VHWA_M2M_VISS_MAX_OUTPUTS (6U) |
VISS input mode | |
Decides the number of input channels required, essentially decides the merge mode. Caution: This macro values are used for internal calculations. | |
#define | VHWA_M2M_VISS_MODE_SINGLE_FRAME_INPUT (1U) |
#define | VHWA_M2M_VISS_MODE_TWO_FRAME_MERGE (2U) |
#define | VHWA_M2M_VISS_MODE_THREE_FRAME_MERGE (3U) |
#define | VHWA_M2M_VISS_MODE_MAX (4U) |
LDC Luma Interpolation type | |
Enum to define Luma interpolation type. For all other components, i.e. chroma or bayer, bilinear interpolation is used. | |
#define | VHWA_M2M_VISS_EE_DISABLE (0x0U) |
#define | VHWA_M2M_VISS_EE_ON_LUMA12 (0x1U) |
#define | VHWA_M2M_VISS_EE_ON_LUMA8 (0x2U) |
#define | VHWA_M2M_VISS_EE_MAX (0xFFFFU) |
#define IOCTL_VHWA_M2M_VISS_SET_PARAMS (VHWA_IOCTL_M2M_VISS_IOCTL_BASE) |
IOCTL for setting VISS configuration. This IOCTL is used to select the number input, outputs and any internal path related configuration, it has flags to enable/disable, which alters blanking requirement. It is not used for confiugring individual VISS sub-modules. Typically used just after the create to select inputs, outputs and paths. Refer to Vhwa_M2mVissParams.
#define IOCTL_VHWA_M2M_VISS_REGISTER_ERR_CB |
IOCTL for enabling error events and registering callbacks for the same. Refer to Ldc_ErrEventParams.
#define IOCTL_VHWA_M2M_VISS_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. Refer to Vhwa_HtsLimiter.
#define IOCTL_VHWA_M2M_VISS_SYNC_START |
IOCTL to sync start each module This IOCTL doesn't configure any register and only enable pipeline to start processing.
#define IOCTL_VHWA_M2M_VISS_GET_PERFORMANCE |
IOCTL for getting module's performance numbers for the last frame submitted.
#define IOCTL_VHWA_M2M_VISS_GET_BUFF_INFO |
Get Config UDMA buffer information.
#define IOCTL_VHWA_M2M_VISS_SET_BUFF_INFO |
Set Config UDMA buffer information.
#define VHWA_M2M_VISS_DRV_INST0 (0U) |
VISS Driver Instance ID.
#define VHWA_M2M_VISS_DRV_MAX_INST (1U) |
Maximum VISS driver Instances.
#define VHWA_M2M_VISS_MAX_HANDLES (8u) |
Max Number of handles supported by VISS M2M Driver.
#define VHWA_M2M_VISS_INPUT_IDX0 (0U) |
#define VHWA_M2M_VISS_INPUT_IDX1 (1U) |
#define VHWA_M2M_VISS_INPUT_IDX2 (2U) |
#define VHWA_M2M_VISS_MAX_INPUTS (3U) |
#define VHWA_M2M_VISS_OUT_YUV420_12B_IDX (0U) |
#define VHWA_M2M_VISS_OUT_GREY_12B_IDX (0U) |
#define VHWA_M2M_VISS_OUT_COLOR_12B_IDX (0U) |
#define VHWA_M2M_VISS_OUT_LUMA_12B_IDX (0U) |
#define VHWA_M2M_VISS_OUT_YUV422_12B_IDX (0U) |
#define VHWA_M2M_VISS_OUT_CFA_C1_12B_IDX (1U) |
#define VHWA_M2M_VISS_OUT_CHROMA_12B_IDX (1U) |
#define VHWA_M2M_VISS_OUT_YUV420_8B_IDX (2U) |
#define VHWA_M2M_VISS_OUT_YUV422_8B_IDX (2U) |
#define VHWA_M2M_VISS_OUT_RGB888_8B_IDX (2U) |
#define VHWA_M2M_VISS_OUT_GREY_8B_IDX (2U) |
#define VHWA_M2M_VISS_OUT_COLOR_8B_IDX (2U) |
#define VHWA_M2M_VISS_OUT_CFA_C2_12B_IDX (2U) |
#define VHWA_M2M_VISS_OUT_LUMA_8B_IDX (2U) |
#define VHWA_M2M_VISS_OUT_RED_8B_IDX (2U) |
#define VHWA_M2M_VISS_OUT_CFA_C3_12B_IDX (3U) |
#define VHWA_M2M_VISS_OUT_CHROMA_8B_IDX (3U) |
#define VHWA_M2M_VISS_OUT_GREEN_8B_IDX (3U) |
#define VHWA_M2M_VISS_OUT_SATURA_8B_IDX (4U) |
#define VHWA_M2M_VISS_OUT_CFA_C4_12B_IDX (4U) |
#define VHWA_M2M_VISS_OUT_BLUE_8B_IDX (4U) |
#define VHWA_M2M_VISS_OUT_H3A_IDX (5U) |
#define VHWA_M2M_VISS_MAX_OUTPUTS (6U) |
#define VHWA_M2M_VISS_MODE_SINGLE_FRAME_INPUT (1U) |
< VISS Single Frame Input Mode VISS Two Frame Merge Mode
#define VHWA_M2M_VISS_MODE_TWO_FRAME_MERGE (2U) |
VISS Three Frame Merge Mode
#define VHWA_M2M_VISS_MODE_THREE_FRAME_MERGE (3U) |
Max VISS Mode
#define VHWA_M2M_VISS_MODE_MAX (4U) |
#define VHWA_M2M_VISS_EE_DISABLE (0x0U) |
< Edge Enhancer is disabled Edge Enhancer is enabled on Luma12 bit output for HV
#define VHWA_M2M_VISS_EE_ON_LUMA12 (0x1U) |
Edge Enhancer is enabled on Luma8 bit output for HV
#define VHWA_M2M_VISS_EE_ON_LUMA8 (0x2U) |
Max value, used for error checking
#define VHWA_M2M_VISS_EE_MAX (0xFFFFU) |
|
inlinestatic |
This function should be used to initialize variable of type Vhwa_M2mVissInitParams.
prms | A pointer of type Vhwa_M2mVissInitParams |
|
inlinestatic |
This function should be used to initialize variable of type Vhwa_M2mVissCreateArgs.
prms | A pointer of type Vhwa_M2mVissCreateArgs |
|
inlinestatic |
This function should be used to initialize variable of type Vhwa_M2mVissParams.
prms | A pointer of type Vhwa_M2mVissParams |
|
inlinestatic |
This function should be used to initialize variable of type Vhwa_M2mVissSl2Params.
prms | A pointer of type Vhwa_M2mVissSl2Params |
int32_t Vhwa_m2mVissInit | ( | Vhwa_M2mVissInitParams * | initPrms | ) |
Function to initialize VISS with provided init parameters.
initPrms | Init Parameters containing base address and utc channel parameters This parameter should not be 0. |
void Vhwa_m2mVissDeInit | ( | void | ) |
Function to deinitialize, cleans up the internal data structures.
int32_t Vhwa_m2mVissAllocSl2 | ( | const Vhwa_M2mVissSl2Params * | sl2AllocPrms | ) |
Function to allocate Sl2 memory for the output buffers.
sl2AllocPrms | Pointer to a Vhwa_M2mVissSl2Params structure containing the SL2 allocation parameters |
void Vhwa_m2mVissFreeSl2 | ( | void | ) |
Function to free allocated SL2.