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