Lines Matching defs:enc_buf
365 static int solo_fill_jpeg(struct solo_enc_fh *fh, struct solo_enc_buf *enc_buf,
379 vb->size = enc_buf->jpeg_size + sizeof(jpeg_header);
381 return enc_get_jpeg_dma(solo_dev, vbuf, enc_buf->jpeg_off,
382 enc_buf->jpeg_size);
385 static int solo_fill_mpeg(struct solo_enc_fh *fh, struct solo_enc_buf *enc_buf,
394 if (WARN_ON_ONCE(enc_buf->size <= sizeof(vh)))
398 ret = enc_get_mpeg_dma(solo_dev, &vh, enc_buf->off, sizeof(vh));
402 if (WARN_ON_ONCE(vh.size > enc_buf->size))
410 if (!enc_buf->vop) {
443 frame_off = (enc_buf->off + sizeof(vh)) % SOLO_MP4E_EXT_SIZE(solo_dev);
444 frame_size = enc_buf->size - sizeof(vh);
458 struct solo_enc_buf *enc_buf = NULL;
464 struct solo_enc_buf *ebuf = &solo_dev->enc_buf[idx];
470 enc_buf = ebuf;
475 enc_buf = ebuf;
481 if (!enc_buf)
485 vb->bsize < enc_buf->size) ||
487 vb->bsize < (enc_buf->jpeg_size + sizeof(jpeg_header)))) {
498 ret = solo_fill_mpeg(fh, enc_buf, vb, vbuf);
500 ret = solo_fill_jpeg(fh, enc_buf, vb, vbuf);
507 vb->ts = enc_buf->ts;
588 struct solo_enc_buf *enc_buf;
647 enc_buf = &solo_dev->enc_buf[solo_dev->enc_wr_idx];
649 enc_buf->vop = vop_type;
650 enc_buf->ch = ch;
651 enc_buf->off = mpeg_current;
652 enc_buf->size = mpeg_size;
653 enc_buf->jpeg_off = jpeg_current;
654 enc_buf->jpeg_size = jpeg_size;
655 enc_buf->type = enc_type;
657 do_gettimeofday(&enc_buf->ts);