From c2f1e43656ce14521cd586cfb72cba381453ac49 Mon Sep 17 00:00:00 2001 From: jitsuCM Date: Thu, 22 Oct 2020 09:17:48 +0200 Subject: [PATCH 1/2] Quick fix for special case no-upscale 1.0 upscale --- src/upscaler.py | 48 ++++++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/src/upscaler.py b/src/upscaler.py index 1122361..cbb1bbb 100755 --- a/src/upscaler.py +++ b/src/upscaler.py @@ -624,30 +624,34 @@ class Upscaler: remaining_scaling_ratio = math.ceil(output_scale) self.scaling_jobs = [] - - while remaining_scaling_ratio > 1: - for ratio in supported_scaling_ratios: - if ratio >= remaining_scaling_ratio: - self.scaling_jobs.append(ratio) - remaining_scaling_ratio /= ratio - break - - else: - - found = False - for i in supported_scaling_ratios: - for j in supported_scaling_ratios: - if i * j >= remaining_scaling_ratio: - self.scaling_jobs.extend([i, j]) - remaining_scaling_ratio /= i * j - found = True - break - if found is True: + + # special case for 1.0 upscale ratio + if remaining_scaling_ratio == 1: + self.scaling_jobs.append(1) + else: + while remaining_scaling_ratio > 1: + for ratio in supported_scaling_ratios: + if ratio >= remaining_scaling_ratio: + self.scaling_jobs.append(ratio) + remaining_scaling_ratio /= ratio break - if found is False: - self.scaling_jobs.append(supported_scaling_ratios[-1]) - remaining_scaling_ratio /= supported_scaling_ratios[-1] + else: + + found = False + for i in supported_scaling_ratios: + for j in supported_scaling_ratios: + if i * j >= remaining_scaling_ratio: + self.scaling_jobs.extend([i, j]) + remaining_scaling_ratio /= i * j + found = True + break + if found is True: + break + + if found is False: + self.scaling_jobs.append(supported_scaling_ratios[-1]) + remaining_scaling_ratio /= supported_scaling_ratios[-1] else: self.scaling_jobs = [output_scale] From 84b0684d64e466864e7db280a295c6a04b667d6f Mon Sep 17 00:00:00 2001 From: K4YT3X Date: Mon, 26 Oct 2020 21:53:03 +0000 Subject: [PATCH 2/2] apply the smallest scaling ratio available instead of 1 --- src/upscaler.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/upscaler.py b/src/upscaler.py index cbb1bbb..5d5e22e 100755 --- a/src/upscaler.py +++ b/src/upscaler.py @@ -625,9 +625,10 @@ class Upscaler: remaining_scaling_ratio = math.ceil(output_scale) self.scaling_jobs = [] - # special case for 1.0 upscale ratio + # if the scaling ratio is 1.0 + # apply the smallest scaling ratio available if remaining_scaling_ratio == 1: - self.scaling_jobs.append(1) + self.scaling_jobs.append(supported_scaling_ratios[0]) else: while remaining_scaling_ratio > 1: for ratio in supported_scaling_ratios: @@ -637,7 +638,6 @@ class Upscaler: break else: - found = False for i in supported_scaling_ratios: for j in supported_scaling_ratios: