X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fpoznan_encoder.cc;h=4834a25893001fea09cb93bb2058e6a3ad6dd8bb;hb=a405e599c422db81886ff7a12155aa285cd9719e;hp=17f5b6ac6dd05195bc68a994a4316cecf069ab09;hpb=f6a12c7e9f862bdd47d7e80448bb2a44830c2826;p=dcpomatic.git 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 input, dcp::NoteHandle _write_codestream (&img); return shared_ptr (); } - -void -PoznanEncoder::parameters_changed () -{ - setup_device (); -}