| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Support for Intel Camera Imaging ISP subsystem. |
| * Copyright (c) 2015, Intel Corporation. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms and conditions of the GNU General Public License, |
| * version 2, as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| * more details. |
| */ |
| |
| #ifndef __GDC_PUBLIC_H_INCLUDED__ |
| #define __GDC_PUBLIC_H_INCLUDED__ |
| |
| /*! Write the bicubic interpolation table of GDC[ID] |
| |
| \param ID[in] GDC identifier |
| \param data[in] The data matrix to be written |
| |
| \pre |
| - data must point to a matrix[4][HRT_GDC_N] |
| |
| \implementation dependent |
| - The value of "HRT_GDC_N" is device specific |
| - The LUT should not be partially written |
| - The LUT format is a quadri-phase interpolation |
| table. The layout is device specific |
| - The range of the values data[n][m] is device |
| specific |
| |
| \return none, GDC[ID].lut[0...3][0...HRT_GDC_N-1] = data |
| */ |
| void gdc_lut_store( |
| const gdc_ID_t ID, |
| const int data[4][HRT_GDC_N]); |
| |
| /*! Convert the bicubic interpolation table of GDC[ID] to the ISP-specific format |
| |
| \param ID[in] GDC identifier |
| \param in_lut[in] The data matrix to be converted |
| \param out_lut[out] The data matrix as the output of conversion |
| */ |
| void gdc_lut_convert_to_isp_format( |
| const int in_lut[4][HRT_GDC_N], |
| int out_lut[4][HRT_GDC_N]); |
| |
| /*! Return the integer representation of 1.0 of GDC[ID] |
| |
| \param ID[in] GDC identifier |
| |
| \return unity |
| */ |
| int gdc_get_unity( |
| const gdc_ID_t ID); |
| |
| #endif /* __GDC_PUBLIC_H_INCLUDED__ */ |