Lines Matching refs:frame

299 static int v4l2_buffer_buf_to_swframe(AVFrame *frame, V4L2Buffer *avbuf)
303 frame->format = avbuf->context->av_pix_fmt;
306 ret = v4l2_buf_to_bufref(avbuf, i, &frame->buf[i]);
310 frame->linesize[i] = avbuf->plane_info[i].bytesperline;
311 frame->data[i] = frame->buf[i]->data;
320 frame->linesize[1] = avbuf->plane_info[0].bytesperline;
321 frame->data[1] = frame->buf[0]->data + avbuf->plane_info[0].bytesperline * avbuf->context->format.fmt.pix_mp.height;
327 frame->linesize[1] = avbuf->plane_info[0].bytesperline >> 1;
328 frame->linesize[2] = avbuf->plane_info[0].bytesperline >> 1;
329 frame->data[1] = frame->buf[0]->data + avbuf->plane_info[0].bytesperline * avbuf->context->format.fmt.pix_mp.height;
330 frame->data[2] = frame->data[1] + ((avbuf->plane_info[0].bytesperline * avbuf->context->format.fmt.pix_mp.height) >> 2);
340 static int v4l2_buffer_swframe_to_buf(const AVFrame *frame, V4L2Buffer *out)
375 const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(frame->format);
387 size = frame->linesize[i] * h;
388 ret = v4l2_bufref_to_buf(out, 0, frame->data[i], size, offset);
397 ret = v4l2_bufref_to_buf(out, i, frame->buf[i]->data, frame->buf[i]->size, 0);
411 int ff_v4l2_buffer_avframe_to_buf(const AVFrame *frame, V4L2Buffer *out)
413 v4l2_set_pts(out, frame->pts);
415 return v4l2_buffer_swframe_to_buf(frame, out);
418 int ff_v4l2_buffer_buf_to_avframe(AVFrame *frame, V4L2Buffer *avbuf)
422 av_frame_unref(frame);
425 ret = v4l2_buffer_buf_to_swframe(frame, avbuf);
429 /* 2. get frame information */
430 frame->key_frame = !!(avbuf->buf.flags & V4L2_BUF_FLAG_KEYFRAME);
431 frame->color_primaries = v4l2_get_color_primaries(avbuf);
432 frame->colorspace = v4l2_get_color_space(avbuf);
433 frame->color_range = v4l2_get_color_range(avbuf);
434 frame->color_trc = v4l2_get_color_trc(avbuf);
435 frame->pts = v4l2_get_pts(avbuf);
436 frame->pkt_dts = AV_NOPTS_VALUE;
439 frame->height = avbuf->context->height;
440 frame->width = avbuf->context->width;
441 frame->sample_aspect_ratio = avbuf->context->sample_aspect_ratio;
446 frame->decode_error_flags |= FF_DECODE_ERROR_INVALID_BITSTREAM;