diff options
author | Marco Migliori <sgerwk@aol.com> | 2018-01-24 14:19:40 +0100 |
---|---|---|
committer | Kevin Mitchell <kevmitch@gmail.com> | 2018-02-11 17:51:15 -0800 |
commit | 3a2bc158bb0988af0024014a7a39d6f5c943b6be (patch) | |
tree | 1ad4de3b2a1d510043f1a4ee9f6b6fb897ed294e /stream/stream_libarchive.c | |
parent | 9f595f3a80eeaa0bfbda5702031f054f684f6123 (diff) | |
download | mpv-3a2bc158bb0988af0024014a7a39d6f5c943b6be.tar.bz2 mpv-3a2bc158bb0988af0024014a7a39d6f5c943b6be.tar.xz |
vo_drm: make the osd as large as the screen
Before this commit, the drm vo drew the osd over the scaled image, and
then copied the result onto the framebuffer, shifted. This made the
frame centered, but forced the osd to be only as large as the image.
This was inconsistent with other vo's, covered the image with the
progress indicator even when a black band was at the top of the screen,
made the progress indicator wrap on narrow videos, etc.
The change is to always use an image as large as the screen. The frame
is copied scaled and shifted to it, and the osd drawn over it. The
result is finally copied to the framebuffer without any shift, since it
is already as large as it.
Technically, cur_frame is an image as large as the screen and
cur_frame_cropped is a dummy reference to it, cropped to the size of
the scaled video. This way, copying the scaled image to
cur_frame_cropped positions the image in the right place in cur_frame,
which can then have the osd added to it and copied to the framebuffer.
Diffstat (limited to 'stream/stream_libarchive.c')
0 files changed, 0 insertions, 0 deletions