hunch 2.0.2

A media filename parser for movies, TV, and anime — built in Rust, inspired by guessit
Documentation
# Video profile patterns.
property = "video_profile"

[exact]
# AVCHD is a specific consumer camcorder delivery format — only fire when
# the literal "avchd" token is present. The bare "avc" token is just the
# codec name (= H.264) and carries no profile information.
avchd = "Advanced Video Codec High Definition"
hevc  = "High Efficiency Video Coding"
hp    = "High"

# SC/SCH/SDH are ambiguous: Scalable Video Coding when after a codec,
# but release group names or subtitle tags in other contexts.
# Use requires_before to only match after codec tokens.
[[patterns]]
match = '(?i)^sc$'
value = "Scalable Video Coding"
requires_before = ["264", "265", "h264", "h.264", "x264", "h265", "h.265", "x265", "hevc", "avc", "avchd", "mpeg4"]

[[patterns]]
match = '(?i)^sch$'
value = "Scalable Video Coding"
requires_before = ["264", "265", "h264", "h.264", "x264", "h265", "h.265", "x265", "hevc", "avc", "avchd", "mpeg4"]

[[patterns]]
match = '(?i)^sdh$'
value = "Scalable Video Coding"
requires_before = ["264", "265", "h264", "h.264", "x264", "h265", "h.265", "x265", "hevc", "avc", "avchd", "mpeg4"]

[[patterns]]
# Hi10/Hi10P → High 10
match = '(?i)^(?:hi|high)[- ]?10p?$'
value = "High 10"

[[patterns]]
# Hi422 → High 4:2:2
match = '(?i)^(?:hi|high)[- ]?422$'
value = "High 4:2:2"

[[patterns]]
# Hi444PP → High 4:4:4 Predictive
match = '(?i)^(?:hi|high)[- ]?444(?:pp)?$'
value = "High 4:4:4 Predictive"