summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2024-04-13 14:43:24 +0200
committerKacper Michajłow <kasper93@gmail.com>2024-04-27 01:15:25 +0200
commite3fd24496a3d84d39619598d63b9e361e34fabd6 (patch)
treefc369b99fc216c17d9b4cc12ad5832cf40ff1a64
parentf55d19e8468440bd4d41d1ae817b9df8280f6378 (diff)
downloadmpv-e3fd24496a3d84d39619598d63b9e361e34fabd6.tar.bz2
mpv-e3fd24496a3d84d39619598d63b9e361e34fabd6.tar.xz
stats.lua: show osd-dimensions property
This change displays the scaled position and size of the image before cropping to the target rectangle. In simple terms, it shows how much margin has been added to the image or how much of the image has been cropped. Note that target resolution is displayed after crop as in fact all other pixels are discarded anyway.
-rw-r--r--player/lua/stats.lua23
1 files changed, 14 insertions, 9 deletions
diff --git a/player/lua/stats.lua b/player/lua/stats.lua
index 1cc3eb879a..0085c22638 100644
--- a/player/lua/stats.lua
+++ b/player/lua/stats.lua
@@ -895,18 +895,23 @@ local function add_video_out(s)
scale = mp.get_property_native("current-window-scale")
end
- local r = mp.get_property_native("video-target-params")
- if not r then
- local osd_dims = mp.get_property_native("osd-dimensions")
- local scaled_width = osd_dims["w"] - osd_dims["ml"] - osd_dims["mr"]
- local scaled_height = osd_dims["h"] - osd_dims["mt"] - osd_dims["mb"]
- append_resolution(s, {w=scaled_width, h=scaled_height, s=scale},
- "Resolution:")
- return
- end
+ local od = mp.get_property_native("osd-dimensions")
+ local rt = mp.get_property_native("video-target-params")
+ r = rt or {}
-- Add window scale
r["s"] = scale
+ r["crop-x"] = od["ml"]
+ r["crop-y"] = od["mt"]
+ r["crop-w"] = od["w"] - od["ml"] - od["mr"]
+ r["crop-h"] = od["h"] - od["mt"] - od["mb"]
+
+ if not rt then
+ r["w"] = r["crop-w"]
+ r["h"] = r["crop-h"]
+ append_resolution(s, r, "Resolution:", "w", "h", true)
+ return
+ end
append_img_params(s, r)
append_hdr(s, r, true)