diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-10-14 21:14:04 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-10-14 21:14:22 +0200 |
| commit | 24ee9f8cf3736c5cd946eb6df8bd3189f8a62ce0 (patch) | |
| tree | d33e33ded5b766cff09d748786a8427949de1f1d /src/wx | |
| parent | 1f336350e4c6f60c4597b43976d1a9e4e05ea61b (diff) | |
Fix MPEG2 DCP gamma (#3026).3026-mpeg2-colour
Diffstat (limited to 'src/wx')
| -rw-r--r-- | src/wx/colour_conversion_editor.cc | 12 | ||||
| -rw-r--r-- | src/wx/colour_conversion_editor.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/wx/colour_conversion_editor.cc b/src/wx/colour_conversion_editor.cc index a16b7066f..83dbf67b7 100644 --- a/src/wx/colour_conversion_editor.cc +++ b/src/wx/colour_conversion_editor.cc @@ -216,6 +216,10 @@ ColourConversionEditor::ColourConversionEditor (wxWindow* parent, bool yuv) table->Add(_output_j2k, wxGBPosition(r, 0), wxGBSpan(1, 2)); ++r; + _output_mpeg2 = new CheckBox(this, _("Inverse 2.4 gamma correction on output to MPEG2")); + table->Add(_output_mpeg2, wxGBPosition(r, 0), wxGBSpan(1, 2)); + ++r; + _input_gamma->SetRange (0.1, 4.0); _input_gamma->SetDigits (2); _input_gamma->SetIncrement (0.1); @@ -242,6 +246,7 @@ ColourConversionEditor::ColourConversionEditor (wxWindow* parent, bool yuv) _adjusted_white_y->Bind (wxEVT_TEXT, bind (&ColourConversionEditor::adjusted_white_changed, this)); _yuv_to_rgb->Bind (wxEVT_CHOICE, bind (&ColourConversionEditor::changed, this)); _output_j2k->bind(&ColourConversionEditor::changed, this); + _output_mpeg2->bind(&ColourConversionEditor::changed, this); } @@ -313,6 +318,7 @@ ColourConversionEditor::set (ColourConversion conversion) } _output_j2k->SetValue(static_cast<bool>(dynamic_pointer_cast<const dcp::GammaTransferFunction>(conversion.out_j2k()))); + _output_mpeg2->SetValue(static_cast<bool>(dynamic_pointer_cast<const dcp::GammaTransferFunction>(conversion.out_mpeg2()))); update_rgb_to_xyz (); update_bradford (); @@ -380,6 +386,12 @@ ColourConversionEditor::get () const conversion.set_out_j2k(make_shared<dcp::IdentityTransferFunction>()); } + if (_output_mpeg2->GetValue()) { + conversion.set_out_mpeg2(make_shared<dcp::GammaTransferFunction>(2.4)); + } else { + conversion.set_out_mpeg2(make_shared<dcp::IdentityTransferFunction>()); + } + return conversion; } diff --git a/src/wx/colour_conversion_editor.h b/src/wx/colour_conversion_editor.h index ac2273540..6ec524992 100644 --- a/src/wx/colour_conversion_editor.h +++ b/src/wx/colour_conversion_editor.h @@ -83,6 +83,7 @@ private: wxTextCtrl* _adjusted_white_x; wxTextCtrl* _adjusted_white_y; CheckBox* _output_j2k; + CheckBox* _output_mpeg2; wxStaticText* _rgb_to_xyz[3][3]; wxStaticText* _bradford[3][3]; }; |
