diff options
author | Nicolas George <george@nsup.org> | 2013-11-25 17:26:07 +0100 |
---|---|---|
committer | Nicolas George <george@nsup.org> | 2014-03-08 12:29:32 +0100 |
commit | c37bbe54f400edc8cb0070138328048943e90b1a (patch) | |
tree | b7c20bad3351a84d075a43801459eea9266e01eb /libavdevice | |
parent | ea6825fd090ef3f8edbce506d2fbf6e187f585fa (diff) | |
download | ffmpeg-c37bbe54f400edc8cb0070138328048943e90b1a.tar.gz |
lavd/xv: take aspect ratio into account.
Diffstat (limited to 'libavdevice')
-rw-r--r-- | libavdevice/xv.c | 7 |
1 files changed, 7 insertions, 0 deletions
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, |