This is VISS FCP FCPA Configuration file
|
file | fcp_cfg.h |
| Inteface file for Flex Color processing module.
|
|
|
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...
|
|
|
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) |
|
|
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) |
|
◆ IOCTL_FCP_SET_CONFIG
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
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) |
◆ 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) |