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