Lines Matching defs:frame

101 // packets (where each packet contains 1 frame).
123 // Setup frame with a new reference to buffer. The buffer must have been
125 static int ffmmal_set_ref(AVFrame *frame, FFPoolRef *pool,
135 frame->buf[0] = av_buffer_create((void *)ref, sizeof(*ref),
138 if (!frame->buf[0]) {
146 frame->format = AV_PIX_FMT_MMAL;
147 frame->data[3] = (uint8_t *)ref->buffer;
619 static int ffmal_copy_frame(AVCodecContext *avctx, AVFrame *frame,
625 frame->interlaced_frame = ctx->interlaced_frame;
626 frame->top_field_first = ctx->top_field_first;
632 if ((ret = ff_decode_frame_props(avctx, frame)) < 0)
635 if ((ret = ffmmal_set_ref(frame, ctx->pool_out, buffer)) < 0)
643 if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
649 av_image_copy(frame->data, frame->linesize, (const uint8_t **)src, linesize,
653 frame->sample_aspect_ratio = avctx->sample_aspect_ratio;
654 frame->width = avctx->width;
655 frame->width = avctx->width;
656 frame->height = avctx->height;
657 frame->format = avctx->pix_fmt;
659 frame->pts = buffer->pts == MMAL_TIME_UNKNOWN ? AV_NOPTS_VALUE : buffer->pts;
660 frame->pkt_dts = AV_NOPTS_VALUE;
666 // Fetch a decoded buffer and place it into the frame parameter.
667 static int ffmmal_read_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame)
691 // MMAL will ignore broken input packets, which means the frame we
697 av_log(avctx, AV_LOG_ERROR, "Did not get output frame from MMAL.\n");
752 if ((ret = ffmal_copy_frame(avctx, frame, buffer)) < 0)
767 static int ffmmal_receive_frame(AVCodecContext *avctx, AVFrame *frame)
795 if ((ret = ffmmal_read_frame(avctx, frame, &got_frame)) < 0)