mirror of
https://github.com/mpv-player/mpv
synced 2025-03-29 15:00:27 +00:00
The vo currently handles rotations in 90 degree steps and some VOs set this via VO_CAP_ROTATE90. When the rotation exactly hits either 90 or 270 degrees, this causes the values of dwidth and dheight to perfectly swap like one would expect. However, the mp_image_params_get_dsize function call in both of the window scale functions do not take this special case into account. So the width/height values returned will be incorrectly flipped in the 90 and 270 degree cases if the vo driver does implement VO_CAP_ROTATE90 (like vo=gpu). Fortunately, the mp_image_params struct keeps track of the rotation for us. So all we need to do is check if the image is rotated at 90 or 270 degrees and check that the current vo driver supports VO_CAP_ROTATE90. If so, then swap vid_w and vid_h to their true, correct values. |
||
---|---|---|
.. | ||
javascript | ||
lua | ||
audio.c | ||
client.c | ||
client.h | ||
command.c | ||
command.h | ||
configfiles.c | ||
core.h | ||
external_files.c | ||
external_files.h | ||
javascript.c | ||
loadfile.c | ||
lua.c | ||
main.c | ||
misc.c | ||
osd.c | ||
playloop.c | ||
screenshot.c | ||
screenshot.h | ||
scripting.c | ||
sub.c | ||
video.c |