PDK API Guide for J721E
FCP Configuration

Introduction

This is VISS FCP FCPA Configuration file

Files

file  fcp_cfg.h
 Inteface file for Flex Color processing module.
 

Data Structures

struct  Fcp_CcmConfig
 Color Conversion Module Used 4 outputs of the CFA and generates 3 outputs. Allows genration of the different color combination from four inputs colors. More...
 
struct  Fcp_GammaConfig
 Contrast stretch/gamma correction module configuration Can be used to provide a gain and offset to stretch the histogram and increase contrast in the image. Can replace the standard gamma table for standard color processing. Uses independent Lut for each color. More...
 
struct  Fcp_Rgb2YuvConfig
 RGB 2 YUV conversion coefficients. Converts 12bit RGB to 12bit YUV. Output of this conversion is YUV444. More...
 
struct  Fcp_Rgb2HsvConfig
 RGB to HSV color conversion module This module is used to convert from RGB format to Saturation and Greyscale value. Does not support hue generation. Greyscale is computed by doing weighter average of three input, H1, H2 and H3. H1 and H2 inputs can be selected from different sources. Saturation block first applies dynamic white balance offset to correct the saturation plane and then calculates the saturation. More...
 
struct  Fcp_HistConfig
 Histogram Module configuration Used to configure Histogram module Used to enable/disable histogram module. More...
 
struct  Fcp_HistData
 Used to read histogram data. More...
 
struct  Fcp_OutputSelect
 There are 5 output channels from VISS, the outputs format for all of them can be selecting appropriate data formats. The data format can further be overridded using below variables. For example, Luma and chroma 12 bit output can be selected by YUV420 data format and 12bit CCSF, luma12 output channel can further be changed to get Greyscale value from RGB2HSV output using Fcp_Luma12OutSelect in the below structure. More...
 
struct  Fcp_CfaConfig
 Flex CFA/Demosaicing Module Configuration Refer to specs for more details on this module. More...
 
struct  Fcp_RgbLutConfig
 Structure for configuring RGB Companding LUT This Lut is used for companding 12b RGB to 8b RGB If this lut is disabled, a fixed shift is used for converting 12b to 8b RGB. There is only one enable bit for all three luts. More...
 
struct  Fcp_YuvSatLutConfig
 Structure for configuring YUV and Saturation Companding LUT This Lut is used for companding 12b RGB to 8b RGB If this lut is disabled, a fixed shift is used for converting 12b to 8b Luma/Chroma/Saturation Each individual Lut can be enabled/disabled. More...
 
struct  Fcp_EeConfig
 
struct  Fcp_Control
 FCP control structure. More...
 

Macros

#define FCP_MAX_CCM_COEFF_IN_RAW   (4U)
 
#define FCP_MAX_CCM_COEFF   (3U)
 
#define FCP_MAX_RGB2YUV_COEFF   (3U)
 
#define FCP_RGB2HSV_MAX_IN_COLOR   (3U)
 
#define FCP_MAX_CFA_COEFF   (1728U)
 
#define FCP_MAX_COLOR_COMP   (4U)
 
#define FCP_CFA_MAX_PHASE   (4U)
 
#define FCP_CFA_MAX_SET   (2U)
 
#define FCP_CFA_MAX_SET_THR   (7U)
 
#define FCP_COMPANDING_LUT_SIZE   (639U)
 Companding module Lut size. More...
 
#define FCP_GAMMA_LUT_SIZE   (513U)
 Contrast stretch/gamma module Lut size. More...
 
#define FCP_EE_LUT_SIZE   (4096U)
 
#define FCP_RGB_YUVSAT_LUT_SIZE   (513U)
 12b to 8b companding module Lut Size for RGB and YUV/Saturation More...
 
#define FCP_HISTOGRAM_SIZE   (256U)
 Size of the histogram data. More...
 

FCP IOCTL macros

Control commands for FCP module in VISS Mainly used to set configuration of FCP submodules

#define IOCTL_FCP_SET_CONFIG   (VHWA_IOCTL_FCP_IOCTL_BASE)
 Used for setting individual FCP sub-module's configuration. Single ioctl for configuring all sub-module's configuration, by selecting module id and setting appropriate pointer in Fcp_Control. This is also used for configuring CFA module. More...
 
#define IOCTL_FCP_GET_HISTOGRAM   (VHWA_IOCTL_FCP_IOCTL_BASE + 1U)
 Used for reading histogram data. This ioctl reads the current histogram data from the registers and returns it to user. Uses Fcp_HistData as an argument. More...
 

Saturation Mode

This mode is used for selecting numerator in the saturation calculation block.

Caution: This macro value is used directly in configuring register.

#define FCP_SAT_MODE_SUM_RGB_MINUS_MIN_RGB   (0U)
 
#define FCP_SAT_MODE_MAX_RGB_MINUS_MIN_RGB   (1U)
 
#define FCP_SAT_MODE_MAX   (2U)
 

Saturation Divison

This is used for selecting denominator in saturation operation.

    Caution: This macro value is used directly in configuring register.
#define FCP_SAT_DIV_1   (0U)
 
#define FCP_SAT_DIV_MAX_RGB   (1U)
 
#define FCP_SAT_DIV_4096_MINUS_GREY   (2U)
 
#define FCP_SAT_DIV_SUM_RGB   (3U)
 
#define FCP_SAT_DIV_MAX   (4U)
 

RGB 2 HSV input select

This enum is used for selecting input to the RGB 2 HSV block. RGB input for the RGB2HSV module can come either from the output of the Contrast block, ie after gamma correcttion or from the input of the contrast block ie before gamma correction.

Caution: This macro value is used directly in configuring register.

#define FCP_RGB2HSV_INPUT_CONTRAST_OUTPUT   (0U)
 
#define FCP_RGB2HSV_INPUT_CONTRAST_INPUT   (1U)
 
#define FCP_RGB2HSV_INPUT_MAX   (2U)
 

RGB 2 HSV H1 input select

H1 input is used in calculating grey scale in the RGB 2 HSV module. This enum is used for selecting h1 input.

GreyScale is calculated using weighted average of H1, H2 and H3. H1 Input is selected using this enum.

Caution: This macro value is used directly in configuring register.

#define FCP_RGB2HSV_H1_INPUT_RED_COLOR   (0U)
 
#define FCP_RGB2HSV_H1_INPUT_MIN_RGB   (1U)
 
#define FCP_RGB2HSV_H1_INPUT_MAX   (2U)
 

RGB 2 HSV H2 input select

H1 input is used in calculating grey scale in the RGB 2 HSV module. This enum is used for selecting h2 input.

GreyScale is calculated using weighted average of H1, H2 and H3. H2 Input is selected using this enum.

Caution: This macro value is used directly in configuring register.

#define FCP_RGB2HSV_H2_INPUT_BLUE_COLOR   (0U)
 
#define FCP_RGB2HSV_H2_INPUT_MAX_RGB   (1U)
 
#define FCP_RGB2HSV_H2_INPUT_MAX   (2U)
 

Histogram Input Selection

Selects the input to the histogram module

    Caution: This macro value is used directly in configuring register.
#define FCP_HIST_IN_SEL_COLOR_RED   (0U)
 
#define FCP_HIST_IN_SEL_COLOR_GREEN   (1U)
 
#define FCP_HIST_IN_SEL_COLOR_BLUE   (2U)
 
#define FCP_HIST_IN_SEL_CLR   (3U)
 
#define FCP_HIST_IN_SEL_COLOR_R2GB_DIV_4   (4U)
 
#define FCP_HIST_IN_SEL_COLOR_RGB_DIV_3   (5U)
 
#define FCP_HIST_IN_SEL_MAX   (6U)
 

CFA Core Selection

Selects CFA Gradient and direction core There are two sets of gradient and direction core in CFA to support sensors having two kinds of data type ie RGB-IR. Each set can be used for one kind of data type.

Caution: This macro value is used directly in configuring register.

#define FCP_CFA_CORE_SEL_CORE0   (0U)
 
#define FCP_CFA_CORE_SEL_CORE1   (1U)
 

CFA blending mode

Gradient and intensity calculation uses bitmask to select the desired pixel position for calculating the horizontal and the vertical gradient. This enum is used for selecting bit mask. Refer to spec for more details

Caution: This macro value is used directly in configuring register.

#define FCP_CFA_CORE_BLEND_MODE_INPUT0   (0U)
 
#define FCP_CFA_CORE_BLEND_MODE_INPUT01   (1U)
 
#define FCP_CFA_CORE_BLEND_MODE_INPUT012   (2U)
 
#define FCP_CFA_CORE_BLEND_MODE_ADAPT_INPUT012   (3U)
 
#define FCP_CFA_CORE_BLEND_MODE_MAX   (4U)
 

Selects the output on Luma12 output path

enum to select output pipe/channel on luma12 output Luma12 output pipe is mainly used for outputting 12b luma, but It can also be used to output one of the CFA output color.

Caution: This macro value is used directly in configuring register.

#define FCP_LUMA12_OUT_DISABLE   (0U)
 
#define FCP_LUMA12_OUT_C1   (1U)
 
#define FCP_LUMA12_OUT_C2   (2U)
 
#define FCP_LUMA12_OUT_C3   (3U)
 
#define FCP_LUMA12_OUT_C4   (4U)
 
#define FCP_LUMA12_OUT_RGB2YUV   (5U)
 
#define FCP_LUMA12_OUT_RGB2HSV   (6U)
 
#define FCP_LUMA12_OUT_CFA_C1   (7U)
 
#define FCP_LUMA12_OUT_MAX   (8U)
 

Selects the output on Chroma12 output path

Enum to select output pipe/channel on chroma12 output Chroma12 output pipe is mainly used for outputting 12b chroma, but It can also be used to output C1 output color from CFA.

Caution: This macro value is used directly in configuring register.

#define FCP_CHROMA12_OUT_DISABLE   (0U)
 
#define FCP_CHROMA12_OUT_CHROMA   (1U)
 
#define FCP_CHROMA12_OUT_C1   (2U)
 
#define FCP_CHROMA12_OUT_MAX   (3U)
 

Selects the output on Luma8 output path

Enum to select output pipe/channel on Luma8 output This channel is used to output Luma in 8b, it could either after RGB2YUV conversion or from RGB2HSV conversion. It can also be used to output red color of the RGB or one of the CFA output. When CFA output is selected, only MSB 8bits will be output.

Caution: This macro value is used directly in configuring register.

#define FCP_LUMA8_OUT_DISABLE   (0U)
 
#define FCP_LUMA8_OUT_C1   (1U)
 
#define FCP_LUMA8_OUT_C2   (2U)
 
#define FCP_LUMA8_OUT_C3   (3U)
 
#define FCP_LUMA8_OUT_C4   (4U)
 
#define FCP_LUMA8_OUT_RGB2YUV_Y8   (5U)
 
#define FCP_LUMA8_OUT_RGB2HSV_Y8   (6U)
 
#define FCP_LUMA8_OUT_RED8   (7U)
 
#define FCP_LUMA8_OUT_CFA_C2   (8U)
 
#define FCP_LUMA8_OUT_MAX   (9U)
 

Selects the output on Chroma8 output path

Enum to select output pipe/channel on Chroma8 output This channel is used to output Chroma in 8b, It can also be used to output green color of the RGB or one of the CFA output. When CFA output is selected, only MSB 8bits will be output.

Caution: This macro value is used directly in configuring register.

#define FCP_CHROMA8_OUT_DISABLE   (0U)
 
#define FCP_CHROMA8_OUT_CHROMA   (1U)
 
#define FCP_CHROMA8_OUT_GREEN   (2U)
 
#define FCP_CHROMA8_OUT_CFA_C3   (3U)
 
#define FCP_CHROMA8_OUT_MAX   (4U)
 

Selects the output on Saturation-8 output path

Enum to select output pipe/channel on Saturatin8 output This channel is used to output either saturation from RGB2HSV module or Blue color from after CCM or C4 output of CFA. When CFA output is selected, only MSB 8bits will be output.

Caution: This macro value is used directly in configuring register.

#define FCP_SAT8_OUT_DISABLE   (0U)
 
#define FCP_SAT8_OUT_SATURATION   (1U)
 
#define FCP_SAT8_OUT_BLUE   (2U)
 
#define FCP_SAT8_OUT_CFA_C4   (3U)
 
#define FCP_SAT8_OUT_MAX   (4U)
 

Chroma Mode

FCP Chroma output mode, ie 422 or 420. Used only for YUV420 8bit output ie second output TODO: Remove it and decide it based on dataFormat

#define FCP_CHROMA_MODE_420   (0U)
 
#define FCP_CHROMA_MODE_422   (1U)
 
#define FCP_CHROMA_MODE_MAX   (2U)
 

FCP Modules

Defines the sub-modules within FCP. Used to identify sub-module of interest and to set or get the configuration of that module.

#define FCP_MODULE_COMPANDING   (0U)
 
#define FCP_MODULE_CFA   (1U)
 
#define FCP_MODULE_CCM   (2U)
 
#define FCP_MODULE_GAMMA   (3U)
 
#define FCP_MODULE_RGB2HSV   (4U)
 
#define FCP_MODULE_RGB2YUV   (5U)
 
#define FCP_MODULE_OUT_SELECT   (6U)
 
#define FCP_MODULE_HISTOGRAM   (7U)
 
#define FCP_MODULE_RGB_LUT   (8U)
 
#define FCP_MODULE_YUV_SAT_LUT   (9U)
 
#define FCP_MODULE_EE   (10U)
 
#define FCP_MODULE_MAX   (13U)
 

Macro Definition Documentation

◆ IOCTL_FCP_SET_CONFIG

#define IOCTL_FCP_SET_CONFIG   (VHWA_IOCTL_FCP_IOCTL_BASE)

Used for setting individual FCP sub-module's configuration. Single ioctl for configuring all sub-module's configuration, by selecting module id and setting appropriate pointer in Fcp_Control. This is also used for configuring CFA module.

Returns
FVID2_SOK on success, else error code.

◆ IOCTL_FCP_GET_HISTOGRAM

#define IOCTL_FCP_GET_HISTOGRAM   (VHWA_IOCTL_FCP_IOCTL_BASE + 1U)

Used for reading histogram data. This ioctl reads the current histogram data from the registers and returns it to user. Uses Fcp_HistData as an argument.

Returns
FVID2_SOK on success, else error code.

◆ FCP_MAX_CCM_COEFF_IN_RAW

#define FCP_MAX_CCM_COEFF_IN_RAW   (4U)

◆ FCP_MAX_CCM_COEFF

#define FCP_MAX_CCM_COEFF   (3U)

◆ FCP_MAX_RGB2YUV_COEFF

#define FCP_MAX_RGB2YUV_COEFF   (3U)

◆ FCP_RGB2HSV_MAX_IN_COLOR

#define FCP_RGB2HSV_MAX_IN_COLOR   (3U)

◆ FCP_MAX_CFA_COEFF

#define FCP_MAX_CFA_COEFF   (1728U)

◆ FCP_MAX_COLOR_COMP

#define FCP_MAX_COLOR_COMP   (4U)

◆ FCP_CFA_MAX_PHASE

#define FCP_CFA_MAX_PHASE   (4U)

◆ FCP_CFA_MAX_SET

#define FCP_CFA_MAX_SET   (2U)

◆ FCP_CFA_MAX_SET_THR

#define FCP_CFA_MAX_SET_THR   (7U)

◆ FCP_COMPANDING_LUT_SIZE

#define FCP_COMPANDING_LUT_SIZE   (639U)

Companding module Lut size.

◆ FCP_GAMMA_LUT_SIZE

#define FCP_GAMMA_LUT_SIZE   (513U)

Contrast stretch/gamma module Lut size.

◆ FCP_EE_LUT_SIZE

#define FCP_EE_LUT_SIZE   (4096U)

◆ FCP_RGB_YUVSAT_LUT_SIZE

#define FCP_RGB_YUVSAT_LUT_SIZE   (513U)

12b to 8b companding module Lut Size for RGB and YUV/Saturation

◆ FCP_HISTOGRAM_SIZE

#define FCP_HISTOGRAM_SIZE   (256U)

Size of the histogram data.

◆ FCP_SAT_MODE_SUM_RGB_MINUS_MIN_RGB

#define FCP_SAT_MODE_SUM_RGB_MINUS_MIN_RGB   (0U)

< Numerator is sum of RGB minus min of RGB Numerator is max of RGB minus min of RGB

◆ FCP_SAT_MODE_MAX_RGB_MINUS_MIN_RGB

#define FCP_SAT_MODE_MAX_RGB_MINUS_MIN_RGB   (1U)

Max value, used for error checking

◆ FCP_SAT_MODE_MAX

#define FCP_SAT_MODE_MAX   (2U)

◆ FCP_SAT_DIV_1

#define FCP_SAT_DIV_1   (0U)

< Denominator is 1 Denominator is Max of RGB

◆ FCP_SAT_DIV_MAX_RGB

#define FCP_SAT_DIV_MAX_RGB   (1U)

Denominator is 4096 - grey scale value

◆ FCP_SAT_DIV_4096_MINUS_GREY

#define FCP_SAT_DIV_4096_MINUS_GREY   (2U)

Denominator is sum of RGB

◆ FCP_SAT_DIV_SUM_RGB

#define FCP_SAT_DIV_SUM_RGB   (3U)

Max value, used for error checking

◆ FCP_SAT_DIV_MAX

#define FCP_SAT_DIV_MAX   (4U)

◆ FCP_RGB2HSV_INPUT_CONTRAST_OUTPUT

#define FCP_RGB2HSV_INPUT_CONTRAST_OUTPUT   (0U)

< Input come from output of Gamma correction Input come from input of Gamma correction

◆ FCP_RGB2HSV_INPUT_CONTRAST_INPUT

#define FCP_RGB2HSV_INPUT_CONTRAST_INPUT   (1U)

Max Value, used for error checking

◆ FCP_RGB2HSV_INPUT_MAX

#define FCP_RGB2HSV_INPUT_MAX   (2U)

◆ FCP_RGB2HSV_H1_INPUT_RED_COLOR

#define FCP_RGB2HSV_H1_INPUT_RED_COLOR   (0U)

< H1 input is Red color H1 input is Min of RGB

◆ FCP_RGB2HSV_H1_INPUT_MIN_RGB

#define FCP_RGB2HSV_H1_INPUT_MIN_RGB   (1U)

This will ensure enum is not packed, will always be contained in int

◆ FCP_RGB2HSV_H1_INPUT_MAX

#define FCP_RGB2HSV_H1_INPUT_MAX   (2U)

◆ FCP_RGB2HSV_H2_INPUT_BLUE_COLOR

#define FCP_RGB2HSV_H2_INPUT_BLUE_COLOR   (0U)

< H2 input is Blue color H2 input is Max of RGB

◆ FCP_RGB2HSV_H2_INPUT_MAX_RGB

#define FCP_RGB2HSV_H2_INPUT_MAX_RGB   (1U)

Max Value used for error checking

◆ FCP_RGB2HSV_H2_INPUT_MAX

#define FCP_RGB2HSV_H2_INPUT_MAX   (2U)

◆ FCP_HIST_IN_SEL_COLOR_RED

#define FCP_HIST_IN_SEL_COLOR_RED   (0U)

< Histogram input is color Red Histogram input is color Green

◆ FCP_HIST_IN_SEL_COLOR_GREEN

#define FCP_HIST_IN_SEL_COLOR_GREEN   (1U)

Histogram input is color Blue

◆ FCP_HIST_IN_SEL_COLOR_BLUE

#define FCP_HIST_IN_SEL_COLOR_BLUE   (2U)

Histogram input is Clear Chanel

◆ FCP_HIST_IN_SEL_CLR

#define FCP_HIST_IN_SEL_CLR   (3U)

Histogram input is (R+2G+B)/4

◆ FCP_HIST_IN_SEL_COLOR_R2GB_DIV_4

#define FCP_HIST_IN_SEL_COLOR_R2GB_DIV_4   (4U)

Histogram input is (R+G+B)/3

◆ FCP_HIST_IN_SEL_COLOR_RGB_DIV_3

#define FCP_HIST_IN_SEL_COLOR_RGB_DIV_3   (5U)

Max Value, used for error checking

◆ FCP_HIST_IN_SEL_MAX

#define FCP_HIST_IN_SEL_MAX   (6U)

◆ FCP_CFA_CORE_SEL_CORE0

#define FCP_CFA_CORE_SEL_CORE0   (0U)

< CFA Core set 0 CFA Core set 1

◆ FCP_CFA_CORE_SEL_CORE1

#define FCP_CFA_CORE_SEL_CORE1   (1U)

◆ FCP_CFA_CORE_BLEND_MODE_INPUT0

#define FCP_CFA_CORE_BLEND_MODE_INPUT0   (0U)

< CFA Core mode with Input 0 CFA Core mode with Input 0 and 1

◆ FCP_CFA_CORE_BLEND_MODE_INPUT01

#define FCP_CFA_CORE_BLEND_MODE_INPUT01   (1U)

CFA Core mode with Input 0, 1 and 2

◆ FCP_CFA_CORE_BLEND_MODE_INPUT012

#define FCP_CFA_CORE_BLEND_MODE_INPUT012   (2U)

CFA Core mode with adaptive Input 0, 1 and 2

◆ FCP_CFA_CORE_BLEND_MODE_ADAPT_INPUT012

#define FCP_CFA_CORE_BLEND_MODE_ADAPT_INPUT012   (3U)

Max Value, used for error checking

◆ FCP_CFA_CORE_BLEND_MODE_MAX

#define FCP_CFA_CORE_BLEND_MODE_MAX   (4U)

◆ FCP_LUMA12_OUT_DISABLE

#define FCP_LUMA12_OUT_DISABLE   (0U)

< Output is disabled C1 output of CFA on Luma12 output

◆ FCP_LUMA12_OUT_C1

#define FCP_LUMA12_OUT_C1   (1U)

C2 output of CFA on Luma12 output

◆ FCP_LUMA12_OUT_C2

#define FCP_LUMA12_OUT_C2   (2U)

C3 output of CFA on Luma12 output

◆ FCP_LUMA12_OUT_C3

#define FCP_LUMA12_OUT_C3   (3U)

C4 output of CFA on Luma12 output

◆ FCP_LUMA12_OUT_C4

#define FCP_LUMA12_OUT_C4   (4U)

Luma output after RGB2YUV conversion

◆ FCP_LUMA12_OUT_RGB2YUV

#define FCP_LUMA12_OUT_RGB2YUV   (5U)

Greyscale value after RGB2HSV conversion on Luma12 output

◆ FCP_LUMA12_OUT_RGB2HSV

#define FCP_LUMA12_OUT_RGB2HSV   (6U)

C1 Output of CFA on Luma12 output

◆ FCP_LUMA12_OUT_CFA_C1

#define FCP_LUMA12_OUT_CFA_C1   (7U)

Max Value, used for error checking

◆ FCP_LUMA12_OUT_MAX

#define FCP_LUMA12_OUT_MAX   (8U)

◆ FCP_CHROMA12_OUT_DISABLE

#define FCP_CHROMA12_OUT_DISABLE   (0U)

< Output is disabled 12b Chroma output

◆ FCP_CHROMA12_OUT_CHROMA

#define FCP_CHROMA12_OUT_CHROMA   (1U)

C1 output of CFA on Chroma12 output

◆ FCP_CHROMA12_OUT_C1

#define FCP_CHROMA12_OUT_C1   (2U)

Max Value, used for error checking

◆ FCP_CHROMA12_OUT_MAX

#define FCP_CHROMA12_OUT_MAX   (3U)

◆ FCP_LUMA8_OUT_DISABLE

#define FCP_LUMA8_OUT_DISABLE   (0U)

< Output is disabled C1 output of CFA on Luma8 output

◆ FCP_LUMA8_OUT_C1

#define FCP_LUMA8_OUT_C1   (1U)

C2 output of CFA on Luma8 output

◆ FCP_LUMA8_OUT_C2

#define FCP_LUMA8_OUT_C2   (2U)

C3 output of CFA on Luma8 output

◆ FCP_LUMA8_OUT_C3

#define FCP_LUMA8_OUT_C3   (3U)

C4 output of CFA on Luma8 output

◆ FCP_LUMA8_OUT_C4

#define FCP_LUMA8_OUT_C4   (4U)

Luma output after RGB2YUV conversion This output will be converted from 12b to 8b using either Lut or shift

◆ FCP_LUMA8_OUT_RGB2YUV_Y8

#define FCP_LUMA8_OUT_RGB2YUV_Y8   (5U)

Grey scale output after RGB2HSV conversion This output will be converted from 12b to 8b using either Lut or shift

◆ FCP_LUMA8_OUT_RGB2HSV_Y8

#define FCP_LUMA8_OUT_RGB2HSV_Y8   (6U)

Red color output after CCM This output will be converted from 12b to 8b using either Lut or shift

◆ FCP_LUMA8_OUT_RED8

#define FCP_LUMA8_OUT_RED8   (7U)

C2 output of CFA on Luma8 output

◆ FCP_LUMA8_OUT_CFA_C2

#define FCP_LUMA8_OUT_CFA_C2   (8U)

Max Value, used for error checking

◆ FCP_LUMA8_OUT_MAX

#define FCP_LUMA8_OUT_MAX   (9U)

◆ FCP_CHROMA8_OUT_DISABLE

#define FCP_CHROMA8_OUT_DISABLE   (0U)

< Output is disabled Chroma output after RGB2YUV conversion, This output will be converted from 12b to 8b using either Lut or shift

◆ FCP_CHROMA8_OUT_CHROMA

#define FCP_CHROMA8_OUT_CHROMA   (1U)

Green color output after CCM This output will be converted from 12b to 8b using either Lut or shift

◆ FCP_CHROMA8_OUT_GREEN

#define FCP_CHROMA8_OUT_GREEN   (2U)

C3 output of CFA on Chroma8 output

◆ FCP_CHROMA8_OUT_CFA_C3

#define FCP_CHROMA8_OUT_CFA_C3   (3U)

This will ensure enum is not packed, will always be contained in int

◆ FCP_CHROMA8_OUT_MAX

#define FCP_CHROMA8_OUT_MAX   (4U)

◆ FCP_SAT8_OUT_DISABLE

#define FCP_SAT8_OUT_DISABLE   (0U)

< Output is disabled Saturation output from RGB2HSV module This output will be converted from 12b to 8b using either Lut or shift

◆ FCP_SAT8_OUT_SATURATION

#define FCP_SAT8_OUT_SATURATION   (1U)

Blue color output after CCM This output will be converted from 12b to 8b using either Lut or shift

◆ FCP_SAT8_OUT_BLUE

#define FCP_SAT8_OUT_BLUE   (2U)

C4 output of CFA on Chroma8 output

◆ FCP_SAT8_OUT_CFA_C4

#define FCP_SAT8_OUT_CFA_C4   (3U)

Max Value, used for error checking

◆ FCP_SAT8_OUT_MAX

#define FCP_SAT8_OUT_MAX   (4U)

◆ FCP_CHROMA_MODE_420

#define FCP_CHROMA_MODE_420   (0U)

< Output from chroma conversion is 420, ie downsampling on both sides Output from chroma conversion is 422, ie downsampling only on vertical side

◆ FCP_CHROMA_MODE_422

#define FCP_CHROMA_MODE_422   (1U)

Max Value, used for error checking

◆ FCP_CHROMA_MODE_MAX

#define FCP_CHROMA_MODE_MAX   (2U)

◆ FCP_MODULE_COMPANDING

#define FCP_MODULE_COMPANDING   (0U)

< Companding module in FCP, this is used for converting 16bit input to 12bit output. It uses pointer to Vhwa_LutConfig as an argument. Only enable, inputBits and tableAddr fields of this structure are used to configure companding module. Output clip parameter is not used as output is fixed to 12bit Flex CFA module, Used for configuring CFA coefficients and thresholds

◆ FCP_MODULE_CFA

#define FCP_MODULE_CFA   (1U)

Color Space Conversion Module, Used for setting color conversion modules coefficients and offsets

◆ FCP_MODULE_CCM

#define FCP_MODULE_CCM   (2U)

Gamma/Contrast stretch module

◆ FCP_MODULE_GAMMA

#define FCP_MODULE_GAMMA   (3U)

RGB 2 HSV color conversion module, Used for setting color conversion modules coefficients and offsets

◆ FCP_MODULE_RGB2HSV

#define FCP_MODULE_RGB2HSV   (4U)

RGB 2 YUV color conversion module, Used for setting color conversion modules coefficients and offsets

◆ FCP_MODULE_RGB2YUV

#define FCP_MODULE_RGB2YUV   (5U)

Module to select the outputs

◆ FCP_MODULE_OUT_SELECT

#define FCP_MODULE_OUT_SELECT   (6U)

Histogram module

◆ FCP_MODULE_HISTOGRAM

#define FCP_MODULE_HISTOGRAM   (7U)

Used for configuring RGB LUT

◆ FCP_MODULE_RGB_LUT

#define FCP_MODULE_RGB_LUT   (8U)

Used for configuring YUV and Saturation

◆ FCP_MODULE_YUV_SAT_LUT

#define FCP_MODULE_YUV_SAT_LUT   (9U)

Used for configuring YUV and Saturation

◆ FCP_MODULE_EE

#define FCP_MODULE_EE   (10U)

Max Module, used for error checking

◆ FCP_MODULE_MAX

#define FCP_MODULE_MAX   (13U)