From c37bbe54f400edc8cb0070138328048943e90b1a Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Mon, 25 Nov 2013 17:26:07 +0100 Subject: lavd/xv: take aspect ratio into account. --- libavdevice/xv.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libavdevice') diff --git a/libavdevice/xv.c b/libavdevice/xv.c index ab08e3e0f7..2948e6d9b7 100644 --- a/libavdevice/xv.c +++ b/libavdevice/xv.c @@ -130,8 +130,15 @@ static int xv_write_header(AVFormatContext *s) xv->image_width = encctx->width; xv->image_height = encctx->height; if (!xv->window_width && !xv->window_height) { + AVRational sar = encctx->sample_aspect_ratio; xv->window_width = encctx->width; xv->window_height = encctx->height; + if (sar.num) { + if (sar.num > sar.den) + xv->window_width = av_rescale(xv->window_width, sar.num, sar.den); + if (sar.num < sar.den) + xv->window_height = av_rescale(xv->window_height, sar.den, sar.num); + } } xv->window = XCreateSimpleWindow(xv->display, DefaultRootWindow(xv->display), xv->window_x, xv->window_y, -- cgit v1.2.3