xref: /linux/drivers/media/platform/qcom/iris/iris_venc.h (revision 07fdad3a93756b872da7b53647715c48d0f4a2d0)
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 void iris_venc_inst_deinit(struct iris_inst *inst);
13 int iris_venc_enum_fmt(struct iris_inst *inst, struct v4l2_fmtdesc *f);
14 int iris_venc_try_fmt(struct iris_inst *inst, struct v4l2_format *f);
15 int iris_venc_s_fmt(struct iris_inst *inst, struct v4l2_format *f);
16 int iris_venc_validate_format(struct iris_inst *inst, u32 pixelformat);
17 int iris_venc_subscribe_event(struct iris_inst *inst, const struct v4l2_event_subscription *sub);
18 int iris_venc_s_selection(struct iris_inst *inst, struct v4l2_selection *s);
19 int iris_venc_g_param(struct iris_inst *inst, struct v4l2_streamparm *s_parm);
20 int iris_venc_s_param(struct iris_inst *inst, struct v4l2_streamparm *s_parm);
21 int iris_venc_streamon_input(struct iris_inst *inst);
22 int iris_venc_streamon_output(struct iris_inst *inst);
23 int iris_venc_qbuf(struct iris_inst *inst, struct vb2_v4l2_buffer *vbuf);
24 int iris_venc_start_cmd(struct iris_inst *inst);
25 int iris_venc_stop_cmd(struct iris_inst *inst);
26 
27 #endif
28