]> git.sesse.net Git - ffmpeg/commitdiff
lavd/xv: take aspect ratio into account.
authorNicolas George <george@nsup.org>
Mon, 25 Nov 2013 16:26:07 +0000 (17:26 +0100)
committerNicolas George <george@nsup.org>
Sat, 8 Mar 2014 11:29:32 +0000 (12:29 +0100)
libavdevice/xv.c

index ab08e3e0f789160f3a379e5712aaa51a83beef80..2948e6d9b7257c82f557aa0883937cb2316419d8 100644 (file)
@@ -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,