diff options
author | Umang Jain <umang.jain@ideasonboard.com> | 2021-05-21 10:27:24 +0530 |
---|---|---|
committer | Umang Jain <umang.jain@ideasonboard.com> | 2021-06-28 14:12:06 +0530 |
commit | f21b9306a7893017b9f7e6b95001da9abade30f7 (patch) | |
tree | 82332eb640a9725ceef3ec487033b524cd49ecd7 /include/ia_imaging/obgrid_public.h | |
parent | d05fd744448d37739cf4f919578d0ac8c73bc0a1 (diff) |
include: Link to ia_imaging library and import headers
libia_imaging is provided by the ChromeOS system, however the headers
aren't installed at the system's $includedir locations. We need to carry
them in-tree, to be able to use them.
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Diffstat (limited to 'include/ia_imaging/obgrid_public.h')
-rw-r--r-- | include/ia_imaging/obgrid_public.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/include/ia_imaging/obgrid_public.h b/include/ia_imaging/obgrid_public.h new file mode 100644 index 0000000..0e2816e --- /dev/null +++ b/include/ia_imaging/obgrid_public.h @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2015 - 2017 Intel Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef _OBGRID_PUBLIC_H_ +#define _OBGRID_PUBLIC_H_ + +/** @file +* CSS-API header file for 2500/Skycam black level correction (optical black, OB) kernel. +* +* This file contains Configuration parameters for grid-based black level correction +*/ + +#define IA_CSS_OBGRID_TILE_SIZE 16 +/** width; max grid size is derived from the max frame size as seen from obgrid perspective (4618x3464) */ +#define IA_CSS_OBGRID_MAX_GRID_WIDTH 146 +/** height; max grid size is derived from the max frame size as seen from obgrid perspective (4618x3464) */ +#define IA_CSS_OBGRID_MAX_GRID_HEIGHT 110 +/** size; max grid size is derived from the max frame size as seen from obgrid perspective (4618x3464) */ +#define IA_CSS_OBGRID_MAX_GRID_SIZE (IA_CSS_OBGRID_MAX_GRID_WIDTH * IA_CSS_OBGRID_MAX_GRID_HEIGHT) + +/** + * Description of the struct members: + * + * - tile_size: Width and height of a single grid tile. + * Valid value is IA_CSS_OBGRID_TILE_SIZE. Any other value is not supported. + * This field is provided for future extensions only. The tile size is + * given as a number of pixels of the same bayer color. For example, a + * 16x16 tile size covers a 32x32 area in the image. + * + * - x_offset: X value of the top-left grid point relative to ROI. + * - y_offset: Y value of the top-left grid point relative to ROI. + * Valid value is 0. Any other value is not supported. + * These fields are provided for future extensions only. + * + * - table_width: Width of the grid. + * Valid values are between 1 and IA_CSS_OBGRID_MAX_GRID_WIDTH. + * - table_height: Heigth of the grid. + * Valid values are between 1 and IA_CSS_OBGRID_MAX_GRID_HEIGHT. + * To cover the entire image, the width and height must be at least + * image_size/tile_size + 1. If the grid is not wide or high enough, + * then it will be extended by repeating the right or bottom elements. + * + * - table_GR: Grid table values for color Gr. + * - table_R: Grid table values for color R. + * - table_B: Grid table values for color B. + * - table_GB: Grid table values for color Gb. + * Valid values are between 0 and (2^N)-1, where N is the ISP bit width + * minus 1. On skycam, N is 11 bits. Each table must contain at least + * table_width*table_height valid elements, in row-major order. + */ +struct ia_css_2500_obgrid_kernel_config +{ + int x_offset; /**< X offset of the grid origin */ + int y_offset; /**< Y offset of the grid origin */ + int tile_size; /**< Grid tile size */ + int table_width; /**< Grid width */ + int table_height; /**< Grid height */ + short table_GR[IA_CSS_OBGRID_MAX_GRID_SIZE]; /**< Grid values for Gr */ + short table_R [IA_CSS_OBGRID_MAX_GRID_SIZE]; /**< Grid values for R */ + short table_B [IA_CSS_OBGRID_MAX_GRID_SIZE]; /**< Grid values for B */ + short table_GB[IA_CSS_OBGRID_MAX_GRID_SIZE]; /**< Grid values for Gb */ +}; + +#endif /* _OBGRID_PUBLIC_H_ */ |