Lines Matching refs:vb
459 struct vb2_buffer *vb, const vop_header *vh) in solo_fill_jpeg() argument
462 struct sg_table *vbuf = vb2_dma_sg_plane_desc(vb, 0); in solo_fill_jpeg()
465 vb->v4l2_buf.flags |= V4L2_BUF_FLAG_KEYFRAME; in solo_fill_jpeg()
467 if (vb2_plane_size(vb, 0) < vop_jpeg_size(vh) + solo_enc->jpeg_len) in solo_fill_jpeg()
471 vb2_set_plane_payload(vb, 0, vop_jpeg_size(vh) + solo_enc->jpeg_len); in solo_fill_jpeg()
480 struct vb2_buffer *vb, const vop_header *vh) in solo_fill_mpeg() argument
483 struct sg_table *vbuf = vb2_dma_sg_plane_desc(vb, 0); in solo_fill_mpeg()
487 if (vb2_plane_size(vb, 0) < vop_mpeg_size(vh)) in solo_fill_mpeg()
491 vb->v4l2_buf.flags &= ~(V4L2_BUF_FLAG_KEYFRAME | V4L2_BUF_FLAG_PFRAME | in solo_fill_mpeg()
495 vb->v4l2_buf.flags |= V4L2_BUF_FLAG_KEYFRAME; in solo_fill_mpeg()
496 vb2_set_plane_payload(vb, 0, vop_mpeg_size(vh) + in solo_fill_mpeg()
499 vb->v4l2_buf.flags |= V4L2_BUF_FLAG_PFRAME; in solo_fill_mpeg()
500 vb2_set_plane_payload(vb, 0, vop_mpeg_size(vh)); in solo_fill_mpeg()
514 struct vb2_buffer *vb, struct solo_enc_buf *enc_buf) in solo_enc_fillbuf() argument
522 ret = solo_fill_mpeg(solo_enc, vb, vh); in solo_enc_fillbuf()
525 ret = solo_fill_jpeg(solo_enc, vb, vh); in solo_enc_fillbuf()
530 vb->v4l2_buf.sequence = solo_enc->sequence++; in solo_enc_fillbuf()
531 vb->v4l2_buf.timestamp.tv_sec = vop_sec(vh); in solo_enc_fillbuf()
532 vb->v4l2_buf.timestamp.tv_usec = vop_usec(vh); in solo_enc_fillbuf()
540 .frame_sequence = vb->v4l2_buf.sequence, in solo_enc_fillbuf()
549 vb2_buffer_done(vb, ret ? VB2_BUF_STATE_ERROR : VB2_BUF_STATE_DONE); in solo_enc_fillbuf()
557 struct solo_vb2_buf *vb; in solo_enc_handle_one() local
569 vb = list_first_entry(&solo_enc->vidq_active, struct solo_vb2_buf, in solo_enc_handle_one()
571 list_del(&vb->list); in solo_enc_handle_one()
574 solo_enc_fillbuf(solo_enc, &vb->vb, enc_buf); in solo_enc_handle_one()
679 static void solo_enc_buf_queue(struct vb2_buffer *vb) in solo_enc_buf_queue() argument
681 struct vb2_queue *vq = vb->vb2_queue; in solo_enc_buf_queue()
684 container_of(vb, struct solo_vb2_buf, vb); in solo_enc_buf_queue()
737 vb2_buffer_done(&buf->vb, VB2_BUF_STATE_ERROR); in solo_enc_stop_streaming()
742 static void solo_enc_buf_finish(struct vb2_buffer *vb) in solo_enc_buf_finish() argument
744 struct solo_enc_dev *solo_enc = vb2_get_drv_priv(vb->vb2_queue); in solo_enc_buf_finish()
745 struct sg_table *vbuf = vb2_dma_sg_plane_desc(vb, 0); in solo_enc_buf_finish()
750 if (vb->v4l2_buf.flags & V4L2_BUF_FLAG_KEYFRAME) in solo_enc_buf_finish()