mirror of
https://github.com/unshackle-dl/unshackle.git
synced 2026-06-10 03:02:09 +00:00
fix(titles): normalize odd resolutions in filename quality token
Non-16:9 aspect ratios with widths like 1918x1080 or 1620x720 were producing filenames like 911p. Snap width to the nearest standard (3840/2560/1920/1280) within 50px and snap the resulting resolution back to the track's actual height when within 10px or already a standard step.
This commit is contained in:
@@ -113,7 +113,20 @@ class Title:
|
||||
aspect_ratio.append(1)
|
||||
ratio = aspect_ratio[0] / aspect_ratio[1]
|
||||
if ratio not in (16 / 9, 4 / 3, 9 / 16, 3 / 4):
|
||||
if abs(width - 3840) <= 50:
|
||||
width = 3840
|
||||
elif abs(width - 2560) <= 50:
|
||||
width = 2560
|
||||
elif abs(width - 1920) <= 50 or abs(width - 1620) <= 50:
|
||||
width = 1920
|
||||
elif abs(width - 1280) <= 50 or abs(width - 1080) <= 50:
|
||||
width = 1280
|
||||
|
||||
resolution = int(max(width, primary_video_track.height) * (9 / 16))
|
||||
|
||||
track_height = primary_video_track.height
|
||||
if abs(resolution - track_height) <= 10 or track_height in (2160, 1440, 1080, 720, 480):
|
||||
resolution = track_height
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user