xref: /linux/drivers/media/platform/qcom/iris/iris_venc.h (revision fbf5df34a4dbcd09d433dd4f0916bf9b2ddb16de)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (c) 2022-2025 Qualcomm Innovation Center, Inc. All rights reserved.
4  */
5 
6 #ifndef _IRIS_VENC_H_
7 #define _IRIS_VENC_H_
8 
9 struct iris_inst;
10 
11 int iris_venc_inst_init(struct iris_inst *inst);
12 int iris_venc_enum_fmt(struct iris_inst *inst, struct v4l2_fmtdesc *f);
13 int iris_venc_try_fmt(struct iris_inst *inst, struct v4l2_format *f);
14 int iris_venc_s_fmt(struct iris_inst *inst, struct v4l2_format *f);
15 int iris_venc_validate_format(struct iris_inst *inst, u32 pixelformat);
16 int iris_venc_subscribe_event(struct iris_inst *inst, const struct v4l2_event_subscription *sub);
17 int iris_venc_s_selection(struct iris_inst *inst, struct v4l2_selection *s);
18 int iris_venc_g_param(struct iris_inst *inst, struct v4l2_streamparm *s_parm);
19 int iris_venc_s_param(struct iris_inst *inst, struct v4l2_streamparm *s_parm);
20 int iris_venc_streamon_input(struct iris_inst *inst);
21 int iris_venc_streamon_output(struct iris_inst *inst);
22 int iris_venc_qbuf(struct iris_inst *inst, struct vb2_v4l2_buffer *vbuf);
23 int iris_venc_start_cmd(struct iris_inst *inst);
24 int iris_venc_stop_cmd(struct iris_inst *inst);
25 
26 #endif
27