Lines Matching refs:frame
751 * redundant data at the beginning of frame.
755 static int venc_precheck_encoded_frame(struct vpu_inst *inst, struct venc_frame_t *frame)
760 if (!frame || !frame->bytesused)
766 frame->info.wptr - inst->stream_buffer.phys,
767 frame->bytesused);
769 frame->bytesused -= skipped;
770 frame->info.wptr = vpu_helper_step_walk(&inst->stream_buffer,
771 frame->info.wptr, skipped);
780 struct venc_frame_t *frame,
789 src_buf = vpu_find_buf_by_sequence(inst, inst->out_format.type, frame->info.frame_id);
796 vbuf->vb2_buf.timestamp = frame->info.timestamp;
802 if (frame->bytesused > vbuf->vb2_buf.planes[0].length) {
807 venc_precheck_encoded_frame(inst, frame);
809 if (frame->bytesused) {
810 u32 rptr = frame->info.wptr;
814 &rptr, frame->bytesused, dst);
817 vb2_set_plane_payload(&vbuf->vb2_buf, 0, frame->bytesused);
818 vbuf->sequence = frame->info.frame_id;
820 vbuf->flags |= frame->info.pic_type;
827 dev_dbg(inst->dev, "[%d][%d]key frame\n", inst->id, frame->info.frame_id);
835 struct venc_frame_t *frame;
841 list_for_each_entry_safe(frame, tmp, &venc->frames, list) {
842 if (venc_get_one_encoded_frame(inst, frame,
845 list_del_init(&frame->list);
846 vfree(frame);
855 struct venc_frame_t *frame;
862 frame = vzalloc(sizeof(*frame));
863 if (!frame)
866 memcpy(&frame->info, info, sizeof(frame->info));
867 frame->bytesused = info->frame_size;
870 list_add_tail(&frame->list, &venc->frames);
1053 struct venc_frame_t *frame;
1056 list_for_each_entry_safe(frame, tmp, &venc->frames, list) {
1057 list_del_init(&frame->list);
1058 vfree(frame);
1126 struct venc_frame_t *frame = NULL;
1134 frame = list_first_entry(&venc->frames, struct venc_frame_t, list);
1137 ret = venc_get_one_encoded_frame(inst, frame, vbuf);
1141 list_del_init(&frame->list);
1142 vfree(frame);