Lines Matching defs:frame
35 #include "libavutil/frame.h"
63 MppFrame frame;
313 mpp_frame_deinit(&framecontext->frame);
320 static int rkmpp_retrieve_frame(AVCodecContext *avctx, AVFrame *frame)
337 av_log(avctx, AV_LOG_ERROR, "Failed to get a frame from MPP (code = %d)\n", ret);
342 // Check whether we have a special frame or not
379 av_log(avctx, AV_LOG_DEBUG, "Received a EOS frame.\n");
384 av_log(avctx, AV_LOG_DEBUG, "Received a discard frame.\n");
388 av_log(avctx, AV_LOG_ERROR, "Received a errinfo frame.\n");
393 // here we should have a valid frame
394 av_log(avctx, AV_LOG_DEBUG, "Received a frame.\n");
396 // setup general frame fields
397 frame->format = AV_PIX_FMT_DRM_PRIME;
398 frame->width = mpp_frame_get_width(mppframe);
399 frame->height = mpp_frame_get_height(mppframe);
400 frame->pts = mpp_frame_get_pts(mppframe);
401 frame->color_range = mpp_frame_get_color_range(mppframe);
402 frame->color_primaries = mpp_frame_get_color_primaries(mppframe);
403 frame->color_trc = mpp_frame_get_color_trc(mppframe);
404 frame->colorspace = mpp_frame_get_colorspace(mppframe);
407 frame->interlaced_frame = ((mode & MPP_FRAME_FLAG_FIELD_ORDER_MASK) == MPP_FRAME_FLAG_DEINTERLACED);
408 frame->top_field_first = ((mode & MPP_FRAME_FLAG_FIELD_ORDER_MASK) == MPP_FRAME_FLAG_TOP_FIRST);
413 // now setup the frame buffer info
450 framecontext->frame = mppframe;
452 frame->data[0] = (uint8_t *)desc;
453 frame->buf[0] = av_buffer_create((uint8_t *)desc, sizeof(*desc), rkmpp_release_frame,
456 if (!frame->buf[0]) {
461 frame->hw_frames_ctx = av_buffer_ref(decoder->frames_ref);
462 if (!frame->hw_frames_ctx) {
469 av_log(avctx, AV_LOG_ERROR, "Failed to retrieve the frame buffer, frame is dropped (code = %d)\n", ret);
475 av_log(avctx, AV_LOG_DEBUG, "Timeout when trying to get a frame from MPP\n");
496 static int rkmpp_receive_frame(AVCodecContext *avctx, AVFrame *frame)
533 return rkmpp_retrieve_frame(avctx, frame);