+
+void
+FFmpegContent::set_default_colour_conversion ()
+{
+ dcp::Size const s = video_size ();
+
+ boost::mutex::scoped_lock lm (_mutex);
+
+ if (s.width < 1080) {
+ _colour_conversion = PresetColourConversion::from_id ("rec601").conversion;
+ } else {
+ _colour_conversion = PresetColourConversion::from_id ("rec709").conversion;
+ }
+}
+
+vector<AudioStreamPtr>
+FFmpegContent::audio_streams () const
+{
+ boost::mutex::scoped_lock lm (_mutex);
+
+ vector<AudioStreamPtr> s;
+ copy (_audio_streams.begin(), _audio_streams.end(), back_inserter (s));
+ return s;
+}
+
+void
+FFmpegContent::add_properties (list<pair<string, string> >& p) const
+{
+ VideoContent::add_properties (p);
+
+ /* I tried av_*_name for these but they are not the most
+ nicely formatted.
+ */
+
+ char const * ranges[] = {
+ _("Unspecified"),
+ _("MPEG (0-219 or equivalent)"),
+ _("JPEG (0-255 or equivalent)")
+ };
+
+ DCPOMATIC_ASSERT (AVCOL_RANGE_NB == 3);
+ p.push_back (make_pair (_("Colour range"), ranges[_color_range]));
+
+ char const * primaries[] = {
+ _("Unspecified"),
+ _("BT709"),
+ _("Unspecified"),
+ _("Unspecified"),
+ _("BT470M"),
+ _("BT470BG"),
+ _("SMPTE 170M (BT601)"),
+ _("SMPTE 240M"),
+ _("Film"),
+ _("BT2020")
+ };
+
+ DCPOMATIC_ASSERT (AVCOL_PRI_NB == 10);
+ p.push_back (make_pair (_("Color primaries"), primaries[_color_primaries]));
+
+ char const * transfers[] = {
+ _("Unspecified"),
+ _("BT709"),
+ _("Unspecified"),
+ _("Unspecified"),
+ _("Gamma 22 (BT470M)"),
+ _("Gamma 28 (BT470BG)"),
+ _("SMPTE 170M (BT601)"),
+ _("SMPTE 240M"),
+ _("Linear"),
+ _("Logarithmic (100:1 range)"),
+ _("Logarithmic (316:1 range)"),
+ _("IEC61966-2-4"),
+ _("BT1361 extended colour gamut"),
+ _("IEC61966-2-1 (sRGB or sYCC)"),
+ _("BT2020 for a 10-bit system"),
+ _("BT2020 for a 12-bit system")
+ };
+
+ DCPOMATIC_ASSERT (AVCOL_TRC_NB == 16);
+ p.push_back (make_pair (_("Colour transfer characteristic"), transfers[_color_trc]));
+
+ char const * spaces[] = {
+ _("RGB / sRGB (IEC61966-2-1)"),
+ _("BT709"),
+ _("Unspecified"),
+ _("Unspecified"),
+ _("FCC"),
+ _("BT470BG (BT601-6)"),
+ _("SMPTE 170M (BT601-6)"),
+ _("SMPTE 240M"),
+ _("YCOCG"),
+ _("BT2020 non-constant luminance"),
+ _("BT2020 constant luminance"),
+ };
+
+ DCPOMATIC_ASSERT (AVCOL_SPC_NB == 11);
+ p.push_back (make_pair (_("Colourspace"), spaces[_colorspace]));
+}