GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / staging / media / atomisp / pci / sh_css_dvs_info.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /**
3 Support for Intel Camera Imaging ISP subsystem.
4 Copyright (c) 2010 - 2015, Intel Corporation.
5
6 This program is free software; you can redistribute it and/or modify it
7 under the terms and conditions of the GNU General Public License,
8 version 2, as published by the Free Software Foundation.
9
10 This program is distributed in the hope it will be useful, but WITHOUT
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13 more details.
14 */
15
16 #ifndef __SH_CSS_DVS_INFO_H__
17 #define __SH_CSS_DVS_INFO_H__
18
19 #include <math_support.h>
20
21 /* horizontal 64x64 blocks round up to DVS_BLOCKDIM_X, make even */
22 #define DVS_NUM_BLOCKS_X(X)             (CEIL_MUL(CEIL_DIV((X), DVS_BLOCKDIM_X), 2))
23
24 /* vertical   64x64 blocks round up to DVS_BLOCKDIM_Y */
25 #define DVS_NUM_BLOCKS_Y(X)             (CEIL_DIV((X), DVS_BLOCKDIM_Y_LUMA))
26
27 /* Bilinear interpolation (HRT_GDC_BLI_MODE) is the supported method currently.
28  * Bicubic interpolation (HRT_GDC_BCI_MODE) is not supported yet */
29 #define DVS_GDC_INTERP_METHOD HRT_GDC_BLI_MODE
30
31 #define DVS_INPUT_BYTES_PER_PIXEL (1)
32
33 #define DVS_NUM_BLOCKS_X_CHROMA(X)      (CEIL_DIV((X), DVS_BLOCKDIM_X))
34
35 #define DVS_NUM_BLOCKS_Y_CHROMA(X)      (CEIL_DIV((X), DVS_BLOCKDIM_Y_CHROMA))
36
37 #endif /* __SH_CSS_DVS_INFO_H__ */