mirror of
https://github.com/stashapp/stash.git
synced 2025-12-06 16:34:02 +01:00
Make displayed resolution information coherent for 2:1/VR files (#3798)
* Update text.ts Displayed resolutions in Stash were confusing as hell when it came to VR files - which are typically 2:1. Now I understand why, it's assuming 16:9 files/looking at height only.
This commit is contained in:
parent
4f11a2820f
commit
47c3e855c8
4 changed files with 34 additions and 19 deletions
|
|
@ -21,11 +21,13 @@ enum ResolutionEnum {
|
||||||
"720p", STANDARD_HD
|
"720p", STANDARD_HD
|
||||||
"1080p", FULL_HD
|
"1080p", FULL_HD
|
||||||
"1440p", QUAD_HD
|
"1440p", QUAD_HD
|
||||||
"1920p", VR_HD
|
"1920p", VR_HD @deprecated(reason: "Use 4K instead")
|
||||||
"4k", FOUR_K
|
"4K", FOUR_K
|
||||||
"5k", FIVE_K
|
"5K", FIVE_K
|
||||||
"6k", SIX_K
|
"6K", SIX_K
|
||||||
"8k", EIGHT_K
|
"7K", SEVEN_K
|
||||||
|
"8K", EIGHT_K
|
||||||
|
"8K+", HUGE
|
||||||
}
|
}
|
||||||
|
|
||||||
input ResolutionCriterionInput {
|
input ResolutionCriterionInput {
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,12 @@ var resolutionRanges = map[ResolutionEnum]ResolutionRange{
|
||||||
ResolutionEnum("FULL_HD"): {1080, 1439},
|
ResolutionEnum("FULL_HD"): {1080, 1439},
|
||||||
ResolutionEnum("QUAD_HD"): {1440, 1919},
|
ResolutionEnum("QUAD_HD"): {1440, 1919},
|
||||||
ResolutionEnum("VR_HD"): {1920, 2159},
|
ResolutionEnum("VR_HD"): {1920, 2159},
|
||||||
ResolutionEnum("FOUR_K"): {2160, 2879},
|
ResolutionEnum("FOUR_K"): {1920, 2559},
|
||||||
ResolutionEnum("FIVE_K"): {2880, 3383},
|
ResolutionEnum("FIVE_K"): {2560, 2999},
|
||||||
ResolutionEnum("SIX_K"): {3384, 4319},
|
ResolutionEnum("SIX_K"): {3000, 3583},
|
||||||
ResolutionEnum("EIGHT_K"): {4320, 8639},
|
ResolutionEnum("SEVEN_K"): {3584, 3839},
|
||||||
|
ResolutionEnum("EIGHT_K"): {3840, 6143},
|
||||||
|
ResolutionEnum("HUGE"): {6144, 9999},
|
||||||
}
|
}
|
||||||
|
|
||||||
type ResolutionEnum string
|
type ResolutionEnum string
|
||||||
|
|
@ -45,7 +47,7 @@ const (
|
||||||
ResolutionEnumFullHd ResolutionEnum = "FULL_HD"
|
ResolutionEnumFullHd ResolutionEnum = "FULL_HD"
|
||||||
// 1440p
|
// 1440p
|
||||||
ResolutionEnumQuadHd ResolutionEnum = "QUAD_HD"
|
ResolutionEnumQuadHd ResolutionEnum = "QUAD_HD"
|
||||||
// 1920p
|
// 1920p - deprecated
|
||||||
ResolutionEnumVrHd ResolutionEnum = "VR_HD"
|
ResolutionEnumVrHd ResolutionEnum = "VR_HD"
|
||||||
// 4k
|
// 4k
|
||||||
ResolutionEnumFourK ResolutionEnum = "FOUR_K"
|
ResolutionEnumFourK ResolutionEnum = "FOUR_K"
|
||||||
|
|
@ -53,8 +55,12 @@ const (
|
||||||
ResolutionEnumFiveK ResolutionEnum = "FIVE_K"
|
ResolutionEnumFiveK ResolutionEnum = "FIVE_K"
|
||||||
// 6k
|
// 6k
|
||||||
ResolutionEnumSixK ResolutionEnum = "SIX_K"
|
ResolutionEnumSixK ResolutionEnum = "SIX_K"
|
||||||
|
// 7k
|
||||||
|
ResolutionEnumSevenK ResolutionEnum = "SEVEN_K"
|
||||||
// 8k
|
// 8k
|
||||||
ResolutionEnumEightK ResolutionEnum = "EIGHT_K"
|
ResolutionEnumEightK ResolutionEnum = "EIGHT_K"
|
||||||
|
// 8K+
|
||||||
|
ResolutionEnumHuge ResolutionEnum = "HUGE"
|
||||||
)
|
)
|
||||||
|
|
||||||
var AllResolutionEnum = []ResolutionEnum{
|
var AllResolutionEnum = []ResolutionEnum{
|
||||||
|
|
@ -70,12 +76,14 @@ var AllResolutionEnum = []ResolutionEnum{
|
||||||
ResolutionEnumFourK,
|
ResolutionEnumFourK,
|
||||||
ResolutionEnumFiveK,
|
ResolutionEnumFiveK,
|
||||||
ResolutionEnumSixK,
|
ResolutionEnumSixK,
|
||||||
|
ResolutionEnumSevenK,
|
||||||
ResolutionEnumEightK,
|
ResolutionEnumEightK,
|
||||||
|
ResolutionEnumHuge,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e ResolutionEnum) IsValid() bool {
|
func (e ResolutionEnum) IsValid() bool {
|
||||||
switch e {
|
switch e {
|
||||||
case ResolutionEnumVeryLow, ResolutionEnumLow, ResolutionEnumR360p, ResolutionEnumStandard, ResolutionEnumWebHd, ResolutionEnumStandardHd, ResolutionEnumFullHd, ResolutionEnumQuadHd, ResolutionEnumVrHd, ResolutionEnumFourK, ResolutionEnumFiveK, ResolutionEnumSixK, ResolutionEnumEightK:
|
case ResolutionEnumVeryLow, ResolutionEnumLow, ResolutionEnumR360p, ResolutionEnumStandard, ResolutionEnumWebHd, ResolutionEnumStandardHd, ResolutionEnumFullHd, ResolutionEnumQuadHd, ResolutionEnumVrHd, ResolutionEnumFourK, ResolutionEnumFiveK, ResolutionEnumSixK, ResolutionEnumSevenK, ResolutionEnumEightK, ResolutionEnumHuge:
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,13 @@ const stringResolutionMap = new Map<string, ResolutionEnum>([
|
||||||
["720p", ResolutionEnum.StandardHd],
|
["720p", ResolutionEnum.StandardHd],
|
||||||
["1080p", ResolutionEnum.FullHd],
|
["1080p", ResolutionEnum.FullHd],
|
||||||
["1440p", ResolutionEnum.QuadHd],
|
["1440p", ResolutionEnum.QuadHd],
|
||||||
["1920p", ResolutionEnum.VrHd],
|
// ["1920p", ResolutionEnum.VrHd],
|
||||||
["4k", ResolutionEnum.FourK],
|
["4k", ResolutionEnum.FourK],
|
||||||
["5k", ResolutionEnum.FiveK],
|
["5k", ResolutionEnum.FiveK],
|
||||||
["6k", ResolutionEnum.SixK],
|
["6k", ResolutionEnum.SixK],
|
||||||
|
["7k", ResolutionEnum.SevenK],
|
||||||
["8k", ResolutionEnum.EightK],
|
["8k", ResolutionEnum.EightK],
|
||||||
|
["Huge", ResolutionEnum.Huge],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
export const stringToResolution = (
|
export const stringToResolution = (
|
||||||
|
|
|
||||||
|
|
@ -280,20 +280,23 @@ const bitRate = (bitrate: number) => {
|
||||||
|
|
||||||
const resolution = (width: number, height: number) => {
|
const resolution = (width: number, height: number) => {
|
||||||
const number = width > height ? height : width;
|
const number = width > height ? height : width;
|
||||||
if (number >= 4320) {
|
if (number >= 6144) {
|
||||||
|
return "HUGE";
|
||||||
|
}
|
||||||
|
if (number >= 3840) {
|
||||||
return "8K";
|
return "8K";
|
||||||
}
|
}
|
||||||
if (number >= 3384) {
|
if (number >= 3584) {
|
||||||
|
return "7K";
|
||||||
|
}
|
||||||
|
if (number >= 3000) {
|
||||||
return "6K";
|
return "6K";
|
||||||
}
|
}
|
||||||
if (number >= 2880) {
|
if (number >= 2560) {
|
||||||
return "5K";
|
return "5K";
|
||||||
}
|
}
|
||||||
if (number >= 2160) {
|
|
||||||
return "4K";
|
|
||||||
}
|
|
||||||
if (number >= 1920) {
|
if (number >= 1920) {
|
||||||
return "1920p";
|
return "4K";
|
||||||
}
|
}
|
||||||
if (number >= 1440) {
|
if (number >= 1440) {
|
||||||
return "1440p";
|
return "1440p";
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue