Commit 3a2ddf7c authored by Stefano Sabatini's avatar Stefano Sabatini Committed by Anton Khirnov

lavc: add width and height fields to AVFrame

width and height are per-frame properties, setting these values in
AVFrame simplify the operation of extraction of that information,
since avoids the need to check the codec/stream context.
parent b58dbb5b
......@@ -1265,6 +1265,13 @@ typedef struct AVFrame {
* - decoding: Read by user.
*/
AVRational sample_aspect_ratio;
/**
* width and height of the video frame
* - encoding: unused
* - decoding: Read by user.
*/
int width, height;
} AVFrame;
struct AVCodecInternal;
......
......@@ -600,6 +600,8 @@ int ff_thread_decode_frame(AVCodecContext *avctx,
*got_picture_ptr = p->got_frame;
picture->pkt_dts = p->avpkt.dts;
picture->sample_aspect_ratio = avctx->sample_aspect_ratio;
picture->width = avctx->width;
picture->height = avctx->height;
/*
* A later call with avkpt->size == 0 may loop over all threads,
......
......@@ -860,6 +860,8 @@ int attribute_align_arg avcodec_decode_video2(AVCodecContext *avctx, AVFrame *pi
avpkt);
picture->pkt_dts= avpkt->dts;
picture->sample_aspect_ratio = avctx->sample_aspect_ratio;
picture->width = avctx->width;
picture->height = avctx->height;
}
emms_c(); //needed to avoid an emms_c() call before every return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment