162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Hantro VPU codec driver
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2018 Rockchip Electronics Co., Ltd.
662306a36Sopenharmony_ci *	Alpha Lin <Alpha.Lin@rock-chips.com>
762306a36Sopenharmony_ci *	Jeffy Chen <jeffy.chen@rock-chips.com>
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * Copyright 2018 Google LLC.
1062306a36Sopenharmony_ci *	Tomasz Figa <tfiga@chromium.org>
1162306a36Sopenharmony_ci *
1262306a36Sopenharmony_ci * Based on s5p-mfc driver by Samsung Electronics Co., Ltd.
1362306a36Sopenharmony_ci * Copyright (C) 2011 Samsung Electronics Co., Ltd.
1462306a36Sopenharmony_ci */
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#ifndef HANTRO_V4L2_H_
1762306a36Sopenharmony_ci#define HANTRO_V4L2_H_
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#include "hantro.h"
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci#define HANTRO_FORCE_POSTPROC	true
2262306a36Sopenharmony_ci#define HANTRO_AUTO_POSTPROC	false
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciextern const struct v4l2_ioctl_ops hantro_ioctl_ops;
2562306a36Sopenharmony_ciextern const struct vb2_ops hantro_queue_ops;
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciint hantro_reset_raw_fmt(struct hantro_ctx *ctx, int bit_depth, bool need_postproc);
2862306a36Sopenharmony_civoid hantro_reset_fmts(struct hantro_ctx *ctx);
2962306a36Sopenharmony_ciint hantro_get_format_depth(u32 fourcc);
3062306a36Sopenharmony_ciconst struct hantro_fmt *
3162306a36Sopenharmony_cihantro_get_default_fmt(const struct hantro_ctx *ctx, bool bitstream,
3262306a36Sopenharmony_ci		       int bit_depth, bool need_postproc);
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci#endif /* HANTRO_V4L2_H_ */
35