mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-21 23:04:54 -04:00
Add support for V4L2 streaming operations on the encoder video device. During stream-on, configure mandatory properties on the respective planes and notify the firmware to initiate an encode session. Tested-by: Vikash Garodia <quic_vgarodia@quicinc.com> # X1E80100 Reviewed-by: Vikash Garodia <quic_vgarodia@quicinc.com> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-HDK Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com> Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> # x1e80100-crd [bod: add sm8750 enc/dec declarations during merge process] Signed-off-by: Bryan O'Donoghue <bod@kernel.org> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
26 lines
1021 B
C
26 lines
1021 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*/
|
|
|
|
#ifndef __IRIS_VDEC_H__
|
|
#define __IRIS_VDEC_H__
|
|
|
|
struct iris_inst;
|
|
|
|
int iris_vdec_inst_init(struct iris_inst *inst);
|
|
void iris_vdec_inst_deinit(struct iris_inst *inst);
|
|
int iris_vdec_enum_fmt(struct iris_inst *inst, struct v4l2_fmtdesc *f);
|
|
int iris_vdec_try_fmt(struct iris_inst *inst, struct v4l2_format *f);
|
|
int iris_vdec_s_fmt(struct iris_inst *inst, struct v4l2_format *f);
|
|
int iris_vdec_validate_format(struct iris_inst *inst, u32 pixelformat);
|
|
int iris_vdec_subscribe_event(struct iris_inst *inst, const struct v4l2_event_subscription *sub);
|
|
void iris_vdec_src_change(struct iris_inst *inst);
|
|
int iris_vdec_streamon_input(struct iris_inst *inst);
|
|
int iris_vdec_streamon_output(struct iris_inst *inst);
|
|
int iris_vdec_qbuf(struct iris_inst *inst, struct vb2_v4l2_buffer *vbuf);
|
|
int iris_vdec_start_cmd(struct iris_inst *inst);
|
|
int iris_vdec_stop_cmd(struct iris_inst *inst);
|
|
|
|
#endif
|