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