diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-05-02 20:43:11 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-03-21 16:41:07 +0000 |
| commit | a405e599c422db81886ff7a12155aa285cd9719e (patch) | |
| tree | f89fbbb3eef01c1fce75db5cdd9e02782aaed02e /src | |
| parent | f6a12c7e9f862bdd47d7e80448bb2a44830c2826 (diff) | |
A few fixes to poznan setup.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/jpeg2000_encoder.cc | 12 | ||||
| -rw-r--r-- | src/lib/poznan_encoder.cc | 13 | ||||
| -rw-r--r-- | src/lib/poznan_encoder.h | 1 |
3 files changed, 10 insertions, 16 deletions
diff --git a/src/lib/jpeg2000_encoder.cc b/src/lib/jpeg2000_encoder.cc index fd0780a38..617e9fa7b 100644 --- a/src/lib/jpeg2000_encoder.cc +++ b/src/lib/jpeg2000_encoder.cc @@ -37,15 +37,15 @@ void JPEG2000Encoder::setup_encoders () { try { - _encoders.push_back (shared_ptr<JPEG2000Encoder> (new OpenJPEGEncoder ())); - } catch (JPEG2000EncoderUnavailableException &) { - + _encoders.push_back (shared_ptr<JPEG2000Encoder> (new PoznanEncoder ())); + } catch (JPEG2000EncoderUnavailableException& e) { + std::cerr << e.what() << "\n"; } try { - _encoders.push_back (shared_ptr<JPEG2000Encoder> (new PoznanEncoder ())); + _encoders.push_back (shared_ptr<JPEG2000Encoder> (new OpenJPEGEncoder ())); } catch (JPEG2000EncoderUnavailableException &) { - + } } @@ -70,6 +70,8 @@ JPEG2000Encoder::from_id (string id) shared_ptr<EncodedData> JPEG2000Encoder::encode (shared_ptr<const dcp::XYZImage> input, dcp::NoteHandler note, int bandwidth, int frame_rate, Resolution resolution, bool threed) { + std::cout << "Encoding with " << name() << "\n"; + if (!_bandwidth || _bandwidth.get() != bandwidth || !_frame_rate || _frame_rate.get() != frame_rate || !_resolution || _resolution.get() != resolution || diff --git a/src/lib/poznan_encoder.cc b/src/lib/poznan_encoder.cc index 17f5b6ac6..4834a2589 100644 --- a/src/lib/poznan_encoder.cc +++ b/src/lib/poznan_encoder.cc @@ -32,20 +32,19 @@ PoznanEncoder::PoznanEncoder () void* preprocessing = open_library ("preprocessing"); void* dwt = open_library ("dwt"); void* tier1 = open_library ("tier1"); + void* gpu_coeff_coder = open_library ("gpu_coeff_coder"); void* tier2 = open_library ("tier2"); _init_device = (void (*)(type_parameters *)) dlsym (config, "init_device"); _mct = (void (*)(type_image *, type_parameters *)) dlsym (preprocessing, "mct"); _fwt = (void (*)(type_tile *)) dlsym (dwt, "fwt"); _quantize_tile = (void (*)(type_tile *)) dlsym (tier1, "quantize_tile"); - _encode_tile = (void (*)(type_tile *)) dlsym (tier1, "encode_tile"); + _encode_tile = (void (*)(type_tile *)) dlsym (gpu_coeff_coder, "encode_tile"); _write_codestream = (void (*)(type_image *)) dlsym (tier2, "write_codestream"); if (!_init_device || !_mct || !_fwt || !_quantize_tile || !_encode_tile || !_write_codestream) { throw JPEG2000EncoderUnavailableException (name(), "missing symbol"); } - - setup_device (); } void * @@ -62,7 +61,7 @@ PoznanEncoder::open_library (string library_name) } void -PoznanEncoder::setup_device () +PoznanEncoder::parameters_changed () { /* One tile which covers entire image */ _param.param_tile_w = -1; @@ -123,9 +122,3 @@ PoznanEncoder::do_encode (shared_ptr<const dcp::XYZImage> input, dcp::NoteHandle _write_codestream (&img); return shared_ptr<EncodedData> (); } - -void -PoznanEncoder::parameters_changed () -{ - setup_device (); -} diff --git a/src/lib/poznan_encoder.h b/src/lib/poznan_encoder.h index 4f2f0cc4d..111161d02 100644 --- a/src/lib/poznan_encoder.h +++ b/src/lib/poznan_encoder.h @@ -44,7 +44,6 @@ protected: private: void* open_library (std::string name); - void setup_device (); type_parameters _param; |
