1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Support for Intel Camera Imaging ISP subsystem.
4 * Copyright (c) 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 __IA_CSS_VF_HOST_H
17#define __IA_CSS_VF_HOST_H
18
19#include "ia_css_frame_public.h"
20#include "ia_css_binary.h"
21
22#include "ia_css_vf_types.h"
23#include "ia_css_vf_param.h"
24
25/* compute the log2 of the downscale factor needed to get closest
26 * to the requested viewfinder resolution on the upper side. The output cannot
27 * be smaller than the requested viewfinder resolution.
28 */
29int
30sh_css_vf_downscale_log2(
31    const struct ia_css_frame_info *out_info,
32    const struct ia_css_frame_info *vf_info,
33    unsigned int *downscale_log2);
34
35int ia_css_vf_config(struct sh_css_isp_vf_isp_config *to,
36		     const struct ia_css_vf_configuration *from,
37		     unsigned int size);
38
39int
40ia_css_vf_configure(
41    const struct ia_css_binary *binary,
42    const struct ia_css_frame_info *out_info,
43    struct ia_css_frame_info *vf_info,
44    unsigned int *downscale_log2);
45
46#endif /* __IA_CSS_VF_HOST_H */
47