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 &) {
-
+
}
}
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 ||
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 *
}
void
-PoznanEncoder::setup_device ()
+PoznanEncoder::parameters_changed ()
{
/* One tile which covers entire image */
_param.param_tile_w = -1;
_write_codestream (&img);
return shared_ptr<EncodedData> ();
}
-
-void
-PoznanEncoder::parameters_changed ()
-{
- setup_device ();
-}