Lines Matching full:vb
381 static inline void store_byte(struct go7007_buffer *vb, u8 byte) in store_byte() argument
383 if (vb && vb->vb.vb2_buf.planes[0].bytesused < GO7007_BUF_SIZE) { in store_byte()
384 u8 *ptr = vb2_plane_vaddr(&vb->vb.vb2_buf, 0); in store_byte()
386 ptr[vb->vb.vb2_buf.planes[0].bytesused++] = byte; in store_byte()
390 static void go7007_set_motion_regions(struct go7007 *go, struct go7007_buffer *vb, in go7007_set_motion_regions() argument
398 .frame_sequence = vb->vb.sequence, in go7007_set_motion_regions()
412 static void go7007_motion_regions(struct go7007 *go, struct go7007_buffer *vb) in go7007_motion_regions() argument
414 u32 *bytesused = &vb->vb.vb2_buf.planes[0].bytesused; in go7007_motion_regions()
422 store_byte(vb, go->active_map[i]); in go7007_motion_regions()
435 go7007_set_motion_regions(go, vb, motion_regions); in go7007_motion_regions()
441 static struct go7007_buffer *frame_boundary(struct go7007 *go, struct go7007_buffer *vb) in frame_boundary() argument
447 if (vb == NULL) { in frame_boundary()
450 vb = go->active_buf = in frame_boundary()
454 return vb; in frame_boundary()
456 bytesused = &vb->vb.vb2_buf.planes[0].bytesused; in frame_boundary()
458 vb->vb.sequence = go->next_seq++; in frame_boundary()
459 if (vb->modet_active && *bytesused + 216 < GO7007_BUF_SIZE) in frame_boundary()
460 go7007_motion_regions(go, vb); in frame_boundary()
462 go7007_set_motion_regions(go, vb, 0); in frame_boundary()
464 vb->vb.vb2_buf.timestamp = ktime_get_ns(); in frame_boundary()
465 vb_tmp = vb; in frame_boundary()
467 list_del(&vb->list); in frame_boundary()
469 vb = NULL; in frame_boundary()
471 vb = list_first_entry(&go->vidq_active, in frame_boundary()
473 go->active_buf = vb; in frame_boundary()
475 vb2_buffer_done(&vb_tmp->vb.vb2_buf, VB2_BUF_STATE_DONE); in frame_boundary()
476 return vb; in frame_boundary()
500 struct go7007_buffer *vb = go->active_buf; in go7007_parse_video_stream() local
518 if (vb && vb->vb.vb2_buf.planes[0].bytesused >= in go7007_parse_video_stream()
521 vb2_set_plane_payload(&vb->vb.vb2_buf, 0, 0); in go7007_parse_video_stream()
522 vb->frame_offset = 0; in go7007_parse_video_stream()
523 vb->modet_active = 0; in go7007_parse_video_stream()
524 vb = go->active_buf = NULL; in go7007_parse_video_stream()
537 store_byte(vb, buf[i]); in go7007_parse_video_stream()
547 store_byte(vb, 0x00); in go7007_parse_video_stream()
551 store_byte(vb, 0x00); in go7007_parse_video_stream()
552 store_byte(vb, buf[i]); in go7007_parse_video_stream()
560 store_byte(vb, 0x00); in go7007_parse_video_stream()
567 store_byte(vb, 0x00); in go7007_parse_video_stream()
568 store_byte(vb, 0x00); in go7007_parse_video_stream()
572 store_byte(vb, 0x00); in go7007_parse_video_stream()
573 store_byte(vb, 0x00); in go7007_parse_video_stream()
574 store_byte(vb, buf[i]); in go7007_parse_video_stream()
582 store_byte(vb, 0x00); in go7007_parse_video_stream()
583 store_byte(vb, 0x00); in go7007_parse_video_stream()
584 store_byte(vb, 0x01); in go7007_parse_video_stream()
585 store_byte(vb, 0xF8); in go7007_parse_video_stream()
597 if (vb == NULL || go->seen_frame) in go7007_parse_video_stream()
598 vb = frame_boundary(go, vb); in go7007_parse_video_stream()
600 if (vb && go->seen_frame) in go7007_parse_video_stream()
601 vb->frame_offset = in go7007_parse_video_stream()
602 vb->vb.vb2_buf.planes[0].bytesused; in go7007_parse_video_stream()
621 store_byte(vb, 0x00); in go7007_parse_video_stream()
622 store_byte(vb, 0x00); in go7007_parse_video_stream()
623 store_byte(vb, 0x01); in go7007_parse_video_stream()
627 store_byte(vb, 0x00); in go7007_parse_video_stream()
628 store_byte(vb, 0x00); in go7007_parse_video_stream()
629 store_byte(vb, 0x01); in go7007_parse_video_stream()
630 store_byte(vb, buf[i]); in go7007_parse_video_stream()
638 store_byte(vb, 0xFF); in go7007_parse_video_stream()
642 store_byte(vb, 0xFF); in go7007_parse_video_stream()
647 vb = frame_boundary(go, vb); in go7007_parse_video_stream()
650 store_byte(vb, 0xFF); in go7007_parse_video_stream()
651 store_byte(vb, buf[i]); in go7007_parse_video_stream()
674 } else if (go->parse_length == 207 && vb) { in go7007_parse_video_stream()
675 vb->modet_active = buf[i]; in go7007_parse_video_stream()