Lines Matching refs:vbuf

715 	struct vb2_v4l2_buffer *vbuf;
729 vbuf = &vpu_buf->m2m_buf.vb;
732 v4l2_m2m_buf_copy_metadata(src_buf, vbuf, true);
741 if (vpu_get_buffer_state(vbuf) == VPU_BUF_STATE_DECODED)
743 vpu_set_buffer_state(vbuf, VPU_BUF_STATE_DECODED);
749 vpu_set_buffer_state(vbuf, VPU_BUF_STATE_READY);
750 for (int i = 0; i < vbuf->vb2_buf.num_planes; i++)
751 vb2_set_plane_payload(&vbuf->vb2_buf,
753 vbuf->field = cur_fmt->field;
754 vbuf->sequence = vdec->sequence++;
755 dev_dbg(inst->dev, "[%d][OUTPUT TS]%32lld\n", inst->id, vbuf->vb2_buf.timestamp);
757 v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_DONE);
786 struct vb2_v4l2_buffer *vbuf;
808 vbuf = &vpu_buf->m2m_buf.vb;
809 if (vbuf->vb2_buf.index != frame->id)
811 inst->id, vbuf->vb2_buf.index, frame->id);
813 if (vpu_get_buffer_state(vbuf) == VPU_BUF_STATE_READY && vdec->params.display_delay_enable)
816 if (vpu_get_buffer_state(vbuf) != VPU_BUF_STATE_DECODED)
819 vpu_set_buffer_state(vbuf, VPU_BUF_STATE_READY);
820 for (i = 0; i < vbuf->vb2_buf.num_planes; i++)
821 vb2_set_plane_payload(&vbuf->vb2_buf, i, vpu_get_fmt_plane_size(cur_fmt, i));
822 vbuf->field = cur_fmt->field;
823 vbuf->sequence = vdec->sequence;
824 dev_dbg(inst->dev, "[%d][OUTPUT TS]%32lld\n", inst->id, vbuf->vb2_buf.timestamp);
826 v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_DONE);
1038 static int vdec_response_frame(struct vpu_inst *inst, struct vb2_v4l2_buffer *vbuf)
1054 if (!vbuf)
1057 if (vdec->slots[vbuf->vb2_buf.index]) {
1059 inst->id, vbuf->vb2_buf.index);
1064 inst->id, vpu_codec_state_name(inst->state), vbuf->vb2_buf.index, vdec->seq_tag);
1065 vpu_buf = to_vpu_vb2_buffer(vbuf);
1068 info.id = vbuf->vb2_buf.index;
1071 info.luma_addr = vpu_get_vb_phy_addr(&vbuf->vb2_buf, 0);
1073 if (vbuf->vb2_buf.num_planes > 1)
1074 info.chroma_addr = vpu_get_vb_phy_addr(&vbuf->vb2_buf, 1);
1087 vpu_set_buffer_state(vbuf, VPU_BUF_STATE_INUSE);
1138 static void vdec_recycle_buffer(struct vpu_inst *inst, struct vb2_v4l2_buffer *vbuf)
1142 if (vbuf->vb2_buf.state != VB2_BUF_STATE_ACTIVE)
1144 if (vpu_find_buf_by_idx(inst, vbuf->vb2_buf.type, vbuf->vb2_buf.index))
1146 v4l2_m2m_buf_queue(inst->fh.m2m_ctx, vbuf);
1153 struct vb2_v4l2_buffer *vbuf;
1161 vbuf = &vpu_buf->m2m_buf.vb;
1165 vdec_recycle_buffer(inst, vbuf);
1269 struct vb2_v4l2_buffer *vbuf;
1290 vbuf = &vpu_buf->m2m_buf.vb;
1291 if (vpu_get_buffer_state(vbuf) == VPU_BUF_STATE_DECODED) {
1297 if (vpu_get_buffer_state(vbuf) != VPU_BUF_STATE_READY)
1298 vdec_recycle_buffer(inst, vbuf);
1300 vpu_set_buffer_state(vbuf, VPU_BUF_STATE_IDLE);
1351 struct vb2_v4l2_buffer *vbuf;
1356 vbuf = to_vb2_v4l2_buffer(vb);
1358 inst->id, vbuf->sequence, vb->index, vb2_get_plane_payload(vb, 0));
1376 vpu_set_buffer_state(vbuf, VPU_BUF_STATE_INUSE);
1393 struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
1401 ret = vdec_response_frame(inst, vbuf);
1404 v4l2_m2m_dst_buf_remove_by_buf(inst->fh.m2m_ctx, vbuf);