PDK API Guide for J721E
GLBCE Configuration

Introduction

This is VISS GLBCE Configuration file

Files

file  glbce_cfg.h
 Interface file for GLBCE module, Defines the structures / control operations that could be used to configure / control GLBCE module in VISS GLBCE is independent module, between RAW FE and FCFA. This is why a separate interface file is used for controlling GLBCE.
 

Data Structures

struct  Glbce_Config
 GLBCE configuration structure Used to configure common GLBCE configuration which is used for contrast brightness enhancement. More...
 
struct  Glbce_PerceptConfig
 Control structure for Perceptual Module. Used for both forward & reverse. Used to enable/disable module and to set Perceptual Lut. More...
 
struct  Glbce_WdrConfig
 Control structure for WDR Module. Used to enable/disable module and to set WDR Lut. More...
 
struct  Glbce_StatsInfo
 GLBCE Stats memory information Used to get the address and size of the GLBCE statistics memory for the context save and restore purpose. More...
 
struct  Glbce_Control
 GLBCE control structure, passed as an argument to IOCTL_GLBCE_SET_CONFIG. More...
 

Macros

#define GLBCE_ASYMMETRY_LUT_SIZE   (33U)
 Size of the asymmentry LUT. More...
 
#define GLBCE_PERCEPT_LUT_SIZE   (65U)
 Size of Perceptual LUT. More...
 
#define GLBCE_WDR_LUT_SIZE   (257U)
 Size of WDR LUT. More...
 
#define GLBCE_ASYMMETRY_LUT_SECOND_POLE   (255U)
 Value of the second pole, used in generating assymetry lut. More...
 

GLBCE IOCTL macros

Control Commands for GLBCE module in VISS

#define IOCTL_GLBCE_SET_CONFIG
 Used for setting individual GLBCE sub-module's configuration. Single ioctl for configuring all sub-module's configuration, by selecting module id and setting appropriate pointer in Glbce_Control. More...
 
#define IOCTL_GLBCE_GET_CONFIG
 Used for getting individual GLBCE sub-module's configuration. Single ioctl for configuring all sub-module's configuration, by selecting module id and setting appropriate pointer in Glbce_Control. More...
 

GLBCE Dithering Size

Defines number of bits to dither at the GLBCE output.

    Caution: The values of this macro is directly in
    configuring register
#define GLBCE_NO_DITHER   (0x0U)
 
#define GLBCE_DITHER_ONE_BIT   (0x1U)
 
#define GLBCE_DITHER_TWO_BIT   (0x2U)
 
#define GLBCE_DITHER_THREE_BIT   (0x3U)
 
#define GLBCE_DITHER_FOUR_BIT   (0x4U)
 
#define GLBCE_DITHER_MAX   (0x5U)
 

GLBCE Module

Defines the sub-modules with in GLBCE. Used to identify sub-module of interest, in Glbce_Control while calling IOCTL_GLBCE_SET_CONFIG.

#define GLBCE_MODULE_GLBCE   (0x0U)
 
#define GLBCE_MODULE_FWD_PERCEPT   (0x1U)
 
#define GLBCE_MODULE_REV_PERCEPT   (0x2U)
 
#define GLBCE_MODULE_GET_STATS_INFO   (0x3U)
 
#define GLBCE_MODULE_WDR   (0x4U)
 

Macro Definition Documentation

◆ IOCTL_GLBCE_SET_CONFIG

#define IOCTL_GLBCE_SET_CONFIG
Value:
1U)
#define VHWA_IOCTL_GLBCE_IOCTL_BASE
Definition: vhwa_common.h:162

Used for setting individual GLBCE sub-module's configuration. Single ioctl for configuring all sub-module's configuration, by selecting module id and setting appropriate pointer in Glbce_Control.

Returns
FVID2_SOK on success, else error code.

◆ IOCTL_GLBCE_GET_CONFIG

#define IOCTL_GLBCE_GET_CONFIG
Value:
2U)
#define VHWA_IOCTL_GLBCE_IOCTL_BASE
Definition: vhwa_common.h:162

Used for getting individual GLBCE sub-module's configuration. Single ioctl for configuring all sub-module's configuration, by selecting module id and setting appropriate pointer in Glbce_Control.

Currently this is supported only Statistics information.

Returns
FVID2_SOK on success, else error code.

◆ GLBCE_ASYMMETRY_LUT_SIZE

#define GLBCE_ASYMMETRY_LUT_SIZE   (33U)

Size of the asymmentry LUT.

◆ GLBCE_PERCEPT_LUT_SIZE

#define GLBCE_PERCEPT_LUT_SIZE   (65U)

Size of Perceptual LUT.

◆ GLBCE_WDR_LUT_SIZE

#define GLBCE_WDR_LUT_SIZE   (257U)

Size of WDR LUT.

◆ GLBCE_ASYMMETRY_LUT_SECOND_POLE

#define GLBCE_ASYMMETRY_LUT_SECOND_POLE   (255U)

Value of the second pole, used in generating assymetry lut.

◆ GLBCE_NO_DITHER

#define GLBCE_NO_DITHER   (0x0U)

< No Dithering One least significant bit of the output is dithered

◆ GLBCE_DITHER_ONE_BIT

#define GLBCE_DITHER_ONE_BIT   (0x1U)

Two least significant bit of the output are dithered

◆ GLBCE_DITHER_TWO_BIT

#define GLBCE_DITHER_TWO_BIT   (0x2U)

Three least significant bit of the output are dithered

◆ GLBCE_DITHER_THREE_BIT

#define GLBCE_DITHER_THREE_BIT   (0x3U)

Four least significant bit of the output are dithered

◆ GLBCE_DITHER_FOUR_BIT

#define GLBCE_DITHER_FOUR_BIT   (0x4U)

Max Dither, used for error checking

◆ GLBCE_DITHER_MAX

#define GLBCE_DITHER_MAX   (0x5U)

◆ GLBCE_MODULE_GLBCE

#define GLBCE_MODULE_GLBCE   (0x0U)

< Configure GLBCE common Settings Configure Forward Perceptual Settings

◆ GLBCE_MODULE_FWD_PERCEPT

#define GLBCE_MODULE_FWD_PERCEPT   (0x1U)

Configure Forward Perceptual Settings

◆ GLBCE_MODULE_REV_PERCEPT

#define GLBCE_MODULE_REV_PERCEPT   (0x2U)

Command to get the GLBCE Stats Information

◆ GLBCE_MODULE_GET_STATS_INFO

#define GLBCE_MODULE_GET_STATS_INFO   (0x3U)

Command to get/set WDR module configuration

◆ GLBCE_MODULE_WDR

#define GLBCE_MODULE_WDR   (0x4U)