From: Carl Hetherington Date: Sun, 8 Nov 2020 22:36:58 +0000 (+0100) Subject: Fix limited value ranges in properties. X-Git-Tag: v2.15.108~58 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=69f1be3e258140a4835d805596ea87f2a32e2083 Fix limited value ranges in properties. --- diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc index 1fb95535f..03763fc28 100644 --- a/src/lib/ffmpeg_content.cc +++ b/src/lib/ffmpeg_content.cc @@ -540,8 +540,10 @@ FFmpegContent::add_properties (shared_ptr film, list& video->add_properties (p); if (_bits_per_pixel) { - int const sub = 219 * pow (2, _bits_per_pixel.get() - 8); - int const total = pow (2, _bits_per_pixel.get()); + /* Assuming there's three components, so bits per pixel component is _bits_per_pixel / 3 */ + int const lim_start = pow(2, _bits_per_pixel.get() / 3 - 4); + int const lim_end = 235 * pow(2, _bits_per_pixel.get() / 3 - 8); + int const total = pow(2, _bits_per_pixel.get() / 3); switch (_color_range.get_value_or(AVCOL_RANGE_UNSPECIFIED)) { case AVCOL_RANGE_UNSPECIFIED: @@ -554,7 +556,7 @@ FFmpegContent::add_properties (shared_ptr film, list& /// file is limited, so that not all possible values are valid. p.push_back ( UserProperty ( - UserProperty::VIDEO, _("Colour range"), String::compose (_("Limited (%1-%2)"), (total - sub) / 2, (total + sub) / 2) + UserProperty::VIDEO, _("Colour range"), String::compose(_("Limited (%1-%2)"), lim_start, lim_end) ) ); break;