diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-11-21 14:32:45 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-11-25 00:55:02 +0100 |
| commit | 72ee4688cbaef0832eb44dee78063bbc0df97bf8 (patch) | |
| tree | bcc4d4325961936366458f749fb14f145d98a6f9 /src/wx | |
| parent | d930131bac027fb37af01c2326f5a76ebc23fef7 (diff) | |
Add fastvideo J2K encoding backend.
Diffstat (limited to 'src/wx')
| -rw-r--r-- | src/wx/full_config_dialog.cc | 24 | ||||
| -rw-r--r-- | src/wx/wscript | 2 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/wx/full_config_dialog.cc b/src/wx/full_config_dialog.cc index db499f575..d10b01d8e 100644 --- a/src/wx/full_config_dialog.cc +++ b/src/wx/full_config_dialog.cc @@ -94,6 +94,13 @@ private: int r = 0; add_language_controls (table, r); +#ifdef DCPOMATIC_FASTVIDEO + add_label_to_sizer (table, _panel, _("Encode using"), true, wxGBPosition(r, 0)); + _encoding_backend = new wxChoice (_panel, wxID_ANY); + table->Add (_encoding_backend, wxGBPosition(r, 1)); + ++r; +#endif + add_label_to_sizer (table, _panel, _("Number of threads DCP-o-matic should use"), true, wxGBPosition (r, 0)); _master_encoding_threads = new wxSpinCtrl (_panel); table->Add (_master_encoding_threads, wxGBPosition (r, 1)); @@ -128,6 +135,11 @@ private: add_update_controls (table, r); +#ifdef DCPOMATIC_FASTVIDEO + _encoding_backend->Append ("CPU"); + _encoding_backend->Append ("GPU"); + _encoding_backend->Bind (wxEVT_CHOICE, boost::bind(&FullGeneralPage::encoding_backend_changed, this)); +#endif _config_file->Bind (wxEVT_FILEPICKER_CHANGED, boost::bind(&FullGeneralPage::config_file_changed, this)); _cinemas_file->Bind (wxEVT_FILEPICKER_CHANGED, boost::bind(&FullGeneralPage::cinemas_file_changed, this)); @@ -147,6 +159,10 @@ private: { auto config = Config::instance (); +#ifdef DCPOMATIC_FASTVIDEO + checked_set (_encoding_backend, Config::instance()->encoding_backend() == Config::EncodingBackend::CPU ? 0 : 1); +#endif + checked_set (_master_encoding_threads, config->master_encoding_threads ()); checked_set (_server_encoding_threads, config->server_encoding_threads ()); #ifdef DCPOMATIC_HAVE_EBUR128_PATCHED_FFMPEG @@ -159,6 +175,11 @@ private: GeneralPage::config_changed (); } + void encoding_backend_changed () + { + Config::instance()->set_encoding_backend(_encoding_backend->GetSelection() == 0 ? Config::EncodingBackend::CPU : Config::EncodingBackend::FASTVIDEO); + } + void export_cinemas_file () { auto d = new wxFileDialog ( @@ -225,6 +246,9 @@ private: Config::instance()->set_cinemas_file (wx_to_std (_cinemas_file->GetPath ())); } +#ifdef DCPOMATIC_FASTVIDEO + wxChoice* _encoding_backend; +#endif wxSpinCtrl* _master_encoding_threads; wxSpinCtrl* _server_encoding_threads; FilePickerCtrl* _config_file; diff --git a/src/wx/wscript b/src/wx/wscript index 50c078f2b..757772183 100644 --- a/src/wx/wscript +++ b/src/wx/wscript @@ -316,6 +316,8 @@ def build(bld): obj.uselib += 'WINSOCK2 OLE32 DSOUND WINMM KSUSER GL GLU GLEW ' if bld.env.TARGET_OSX: obj.framework = ['CoreAudio', 'OpenGL'] + if bld.env.ENABLE_FASTVIDEO: + obj.uselib += ' FASTVIDEO' obj.use = 'libdcpomatic2' obj.source = sources obj.target = 'dcpomatic2-wx' |
