Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
4 */
5
6#ifndef __IRIS_VDEC_H__
7#define __IRIS_VDEC_H__
8
9struct iris_inst;
10
11enum iris_fmt_type {
12 IRIS_FMT_H264,
13 IRIS_FMT_HEVC,
14 IRIS_FMT_VP9,
15};
16
17struct iris_fmt {
18 u32 pixfmt;
19 u32 type;
20};
21
22int iris_vdec_inst_init(struct iris_inst *inst);
23void iris_vdec_inst_deinit(struct iris_inst *inst);
24int iris_vdec_enum_fmt(struct iris_inst *inst, struct v4l2_fmtdesc *f);
25int iris_vdec_try_fmt(struct iris_inst *inst, struct v4l2_format *f);
26int iris_vdec_s_fmt(struct iris_inst *inst, struct v4l2_format *f);
27int iris_vdec_subscribe_event(struct iris_inst *inst, const struct v4l2_event_subscription *sub);
28void iris_vdec_src_change(struct iris_inst *inst);
29int iris_vdec_streamon_input(struct iris_inst *inst);
30int iris_vdec_streamon_output(struct iris_inst *inst);
31int iris_vdec_qbuf(struct iris_inst *inst, struct vb2_v4l2_buffer *vbuf);
32int iris_vdec_start_cmd(struct iris_inst *inst);
33int iris_vdec_stop_cmd(struct iris_inst *inst);
34int iris_vdec_session_streamoff(struct iris_inst *inst, u32 plane);
35
36#endif