GNU Linux-libre 6.7.9-gnu
[releases.git] / drivers / media / platform / verisilicon / hantro_v4l2.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Hantro VPU codec driver
4  *
5  * Copyright (C) 2018 Rockchip Electronics Co., Ltd.
6  *      Alpha Lin <Alpha.Lin@rock-chips.com>
7  *      Jeffy Chen <jeffy.chen@rock-chips.com>
8  *
9  * Copyright 2018 Google LLC.
10  *      Tomasz Figa <tfiga@chromium.org>
11  *
12  * Based on s5p-mfc driver by Samsung Electronics Co., Ltd.
13  * Copyright (C) 2011 Samsung Electronics Co., Ltd.
14  */
15
16 #ifndef HANTRO_V4L2_H_
17 #define HANTRO_V4L2_H_
18
19 #include "hantro.h"
20
21 #define HANTRO_FORCE_POSTPROC   true
22 #define HANTRO_AUTO_POSTPROC    false
23
24 extern const struct v4l2_ioctl_ops hantro_ioctl_ops;
25 extern const struct vb2_ops hantro_queue_ops;
26
27 int hantro_reset_raw_fmt(struct hantro_ctx *ctx, int bit_depth, bool need_postproc);
28 void hantro_reset_fmts(struct hantro_ctx *ctx);
29 int hantro_get_format_depth(u32 fourcc);
30 const struct hantro_fmt *
31 hantro_get_default_fmt(const struct hantro_ctx *ctx, bool bitstream,
32                        int bit_depth, bool need_postproc);
33
34 #endif /* HANTRO_V4L2_H_ */