From c95b48be0744d3981a41d4d06f813aaf22a57273 Mon Sep 17 00:00:00 2001 From: Alexandru Pisarenco Date: Fri, 15 Jan 2021 18:45:51 +0100 Subject: [PATCH] Fix preset with normal aspect ratio --- minfo.py | 11 ++++------- test/test_aspect.py | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/minfo.py b/minfo.py index 6c48838..a055df7 100644 --- a/minfo.py +++ b/minfo.py @@ -202,15 +202,12 @@ class MediaInfo: self.keep_display_aspect = 0.95 < self.resolution.ratio / self.display_aspect_ratio.ratio < 1.05 - if not self.keep_display_aspect: + if self.keep_display_aspect: + self.display_width = float(self.resolution.width) + self.pixel_aspect_ratio = Ratio(1, 1) + else: self.display_width = self.resolution.height * self.display_aspect_ratio.ratio self.pixel_aspect_ratio = self.display_aspect_ratio - else: - self.display_width = float(self.resolution.width) - self.pixel_aspect_ratio = Ratio( - self.display_aspect_ratio.x, - self.resolution.width - ) @property def output_bitrate(self) -> int: diff --git a/test/test_aspect.py b/test/test_aspect.py index f19afa9..a61503f 100644 --- a/test/test_aspect.py +++ b/test/test_aspect.py @@ -15,3 +15,19 @@ def test_square_source(): assert info.resolution == Resolution(576, 576) assert info.pixel_aspect_ratio == Ratio(16, 9) + + +def test_normal_source(): + info = MediaInfo() + info.general = { + + } + info.video = { + "Width": 1920, + "Height": 1080, + "DisplayAspectRatio": 1.778 + } + info.determine_aspect_properties() + + assert info.resolution == Resolution(1920, 1080) + assert info.pixel_aspect_ratio == Ratio(1, 1)