summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-06-30 11:55:53 +0100
committerCarl Hetherington <cth@carlh.net>2016-03-21 16:41:12 +0000
commitb0849ca5ee5b26e72f78c5b5601a9a9a40177e01 (patch)
tree9a5aba33a596270ab772f88ad070f9f5cb56d5f5 /src/lib
parent11da1ba251863bb17bdfc52ab2b226f0d1929be4 (diff)
Fix build.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dcp_video.cc2
-rw-r--r--src/lib/jpeg2000_encoder.cc10
-rw-r--r--src/lib/jpeg2000_encoder.h17
-rw-r--r--src/lib/openjpeg_encoder.cc32
-rw-r--r--src/lib/openjpeg_encoder.h2
-rw-r--r--src/lib/poznan_encoder.cc18
-rw-r--r--src/lib/poznan_encoder.h16
7 files changed, 48 insertions, 49 deletions
diff --git a/src/lib/dcp_video.cc b/src/lib/dcp_video.cc
index f3ac4da00..af4c8c3ab 100644
--- a/src/lib/dcp_video.cc
+++ b/src/lib/dcp_video.cc
@@ -130,7 +130,7 @@ DCPVideo::encode_locally (dcp::NoteHandler note)
encoder = JPEG2000Encoder::all().front ();
}
- shared_ptr<EncodedData> enc = encoder->encode (
+ Data enc = encoder->encode (
xyz, _j2k_bandwidth, _frames_per_second, _resolution, _frame->eyes() == EYES_LEFT || _frame->eyes() == EYES_RIGHT
);
diff --git a/src/lib/jpeg2000_encoder.cc b/src/lib/jpeg2000_encoder.cc
index c7c39ea0e..fe6959cd5 100644
--- a/src/lib/jpeg2000_encoder.cc
+++ b/src/lib/jpeg2000_encoder.cc
@@ -45,7 +45,7 @@ JPEG2000Encoder::setup_encoders ()
try {
_encoders.push_back (shared_ptr<JPEG2000Encoder> (new OpenJPEGEncoder ()));
} catch (JPEG2000EncoderUnavailableException &) {
-
+
}
}
@@ -67,11 +67,11 @@ JPEG2000Encoder::from_id (string id)
return shared_ptr<JPEG2000Encoder> ();
}
-shared_ptr<EncodedData>
-JPEG2000Encoder::encode (shared_ptr<const dcp::XYZImage> input, int bandwidth, int frame_rate, Resolution resolution, bool threed)
+Data
+JPEG2000Encoder::encode (shared_ptr<const dcp::OpenJPEGImage> input, 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 ||
@@ -81,7 +81,7 @@ JPEG2000Encoder::encode (shared_ptr<const dcp::XYZImage> input, int bandwidth, i
_frame_rate = frame_rate;
_resolution = resolution;
_threed = threed;
-
+
parameters_changed ();
}
diff --git a/src/lib/jpeg2000_encoder.h b/src/lib/jpeg2000_encoder.h
index a05bd0ac5..0f907e1ba 100644
--- a/src/lib/jpeg2000_encoder.h
+++ b/src/lib/jpeg2000_encoder.h
@@ -21,22 +21,21 @@
#define DCPOMATIC_JPEG2000_ENCODER_H
#include "types.h"
+#include "data.h"
#include <dcp/types.h>
#include <boost/shared_ptr.hpp>
#include <boost/optional.hpp>
#include <list>
namespace dcp {
- class XYZImage;
+ class OpenJPEGImage;
}
-class EncodedData;
-
class JPEG2000Encoder
{
public:
virtual ~JPEG2000Encoder () {}
-
+
/** @return Internationalised descriptive name for this encoder */
virtual std::string name () const = 0;
/** @return Non-internationalised ID for this encoder */
@@ -44,11 +43,11 @@ public:
/** @param input XYZ input frame.
* @param note_handler Handler for notes about the encode.
-
+
* @return Encoded JPEG2000 data.
*/
- boost::shared_ptr<EncodedData> encode (
- boost::shared_ptr<const dcp::XYZImage> input,
+ Data encode (
+ boost::shared_ptr<const dcp::OpenJPEGImage> input,
int bandwidth,
int frame_rate,
Resolution resolution,
@@ -62,8 +61,8 @@ public:
protected:
- virtual boost::shared_ptr<EncodedData> do_encode (
- boost::shared_ptr<const dcp::XYZImage> input
+ virtual Data do_encode (
+ boost::shared_ptr<const dcp::OpenJPEGImage> input
) = 0;
virtual void parameters_changed () {}
diff --git a/src/lib/openjpeg_encoder.cc b/src/lib/openjpeg_encoder.cc
index 9cfd8146c..5094cf150 100644
--- a/src/lib/openjpeg_encoder.cc
+++ b/src/lib/openjpeg_encoder.cc
@@ -19,9 +19,9 @@
*/
#include "openjpeg_encoder.h"
-#include "encoded_data.h"
+#include "data.h"
#include "exceptions.h"
-#include <dcp/xyz_image.h>
+#include <dcp/openjpeg_image.h>
#include "i18n.h"
@@ -34,8 +34,8 @@ OpenJPEGEncoder::name () const
return _("OpenJPEG library");
}
-shared_ptr<EncodedData>
-OpenJPEGEncoder::do_encode (shared_ptr<const dcp::XYZImage> input)
+Data
+OpenJPEGEncoder::do_encode (shared_ptr<const dcp::OpenJPEGImage> input)
{
/* Set the max image and component sizes based on frame_rate */
int max_cs_len = ((float) _bandwidth.get()) / 8 / _frame_rate.get();
@@ -59,11 +59,11 @@ OpenJPEGEncoder::do_encode (shared_ptr<const dcp::XYZImage> input)
parameters.tile_size_on = false;
parameters.cp_tdx = 1;
parameters.cp_tdy = 1;
-
+
/* Tile part */
parameters.tp_flag = 'C';
parameters.tp_on = 1;
-
+
/* Tile and Image shall be at (0,0) */
parameters.cp_tx0 = 0;
parameters.cp_ty0 = 0;
@@ -74,19 +74,19 @@ OpenJPEGEncoder::do_encode (shared_ptr<const dcp::XYZImage> input)
parameters.cblockw_init = 32;
parameters.cblockh_init = 32;
parameters.csty |= 0x01;
-
+
/* The progression order shall be CPRL */
parameters.prog_order = CPRL;
-
+
/* No ROI */
parameters.roi_compno = -1;
-
+
parameters.subsampling_dx = 1;
parameters.subsampling_dy = 1;
-
+
/* 9-7 transform */
parameters.irreversible = 1;
-
+
parameters.tcp_rates[0] = 0;
parameters.tcp_numlayers++;
parameters.cp_disto_alloc = 1;
@@ -94,27 +94,27 @@ OpenJPEGEncoder::do_encode (shared_ptr<const dcp::XYZImage> input)
if (_resolution.get() == RESOLUTION_4K) {
parameters.numpocs = 2;
parameters.POC[0].tile = 1;
- parameters.POC[0].resno0 = 0;
+ parameters.POC[0].resno0 = 0;
parameters.POC[0].compno0 = 0;
parameters.POC[0].layno1 = 1;
parameters.POC[0].resno1 = parameters.numresolution - 1;
parameters.POC[0].compno1 = 3;
parameters.POC[0].prg1 = CPRL;
parameters.POC[1].tile = 1;
- parameters.POC[1].resno0 = parameters.numresolution - 1;
+ parameters.POC[1].resno0 = parameters.numresolution - 1;
parameters.POC[1].compno0 = 0;
parameters.POC[1].layno1 = 1;
parameters.POC[1].resno1 = parameters.numresolution;
parameters.POC[1].compno1 = 3;
parameters.POC[1].prg1 = CPRL;
}
-
+
parameters.cp_comment = strdup (N_("DCP-o-matic"));
parameters.cp_cinema = _resolution.get() == RESOLUTION_2K ? CINEMA2K_24 : CINEMA4K_24;
/* 3 components, so use MCT */
parameters.tcp_mct = 1;
-
+
/* set max image */
parameters.max_comp_size = max_comp_size;
parameters.tcp_rates[0] = ((float) (3 * input->size().width * input->size().height * 12)) / (max_cs_len * 8);
@@ -138,7 +138,7 @@ OpenJPEGEncoder::do_encode (shared_ptr<const dcp::XYZImage> input)
throw EncodeError (N_("JPEG2000 encoding failed"));
}
- shared_ptr<EncodedData> enc (new LocallyEncodedData (cio->buffer, cio_tell (cio)));
+ Data enc (cio->buffer, cio_tell (cio));
opj_cio_close (cio);
free (parameters.cp_comment);
diff --git a/src/lib/openjpeg_encoder.h b/src/lib/openjpeg_encoder.h
index dd109e7c1..0351abe4d 100644
--- a/src/lib/openjpeg_encoder.h
+++ b/src/lib/openjpeg_encoder.h
@@ -30,5 +30,5 @@ public:
}
protected:
- boost::shared_ptr<EncodedData> do_encode (boost::shared_ptr<const dcp::XYZImage> input);
+ Data do_encode (boost::shared_ptr<const dcp::OpenJPEGImage> input);
};
diff --git a/src/lib/poznan_encoder.cc b/src/lib/poznan_encoder.cc
index c5de41920..937566e81 100644
--- a/src/lib/poznan_encoder.cc
+++ b/src/lib/poznan_encoder.cc
@@ -19,10 +19,10 @@
#include "poznan_encoder.h"
#include "exceptions.h"
-#include "encoded_data.h"
+#include "data.h"
#include "raw_convert.h"
#include <poznan/tier2/markers.h>
-#include <dcp/xyz_image.h>
+#include <dcp/openjpeg_image.h>
#include <dlfcn.h>
#include "i18n.h"
@@ -41,7 +41,7 @@ PoznanEncoder::PoznanEncoder ()
void* tier2 = open_library ("tier2");
void* types = open_library ("types");
void* misc = open_library ("misc");
-
+
_init_device = (void (*)(type_parameters *)) dlsym (config, "init_device");
_color_coder_lossy = (void (*)(type_image *)) dlsym (preprocessing, "color_coder_lossy");
_fwt = (void (*)(type_tile *)) dlsym (dwt, "fwt");
@@ -54,7 +54,7 @@ PoznanEncoder::PoznanEncoder ()
_cuda_h_allocate_mem = (void (*)(void **, uint64_t)) dlsym (misc, "cuda_h_allocate_mem");
_cuda_memcpy_htd = (void (*)(void *, void *, uint64_t)) dlsym (misc, "cuda_memcpy_htd");
_cuda_h_free = (void (*)(void *)) dlsym (misc, "cuda_h_free");
-
+
if (
!_init_device || !_color_coder_lossy || !_fwt || !_quantize_tile ||
!_encode_tile || !_set_coding_parameters || !_init_tiles ||
@@ -115,7 +115,7 @@ PoznanEncoder::parameters_changed ()
_param.param_mct_klt_iterations = 10000;
_param.param_mct_klt_border_eigenvalue = 0.000001;
_param.param_mct_klt_err = 1.0e-7;
-
+
_init_device (&_param);
}
@@ -125,8 +125,8 @@ PoznanEncoder::name () const
return _("CUDA (GPU) encoder (Poznan Supercomputing and Networking Center)");
}
-shared_ptr<EncodedData>
-PoznanEncoder::do_encode (shared_ptr<const dcp::XYZImage> input)
+Data
+PoznanEncoder::do_encode (shared_ptr<const dcp::OpenJPEGImage> input)
{
type_image* img = new type_image;
@@ -167,7 +167,7 @@ PoznanEncoder::do_encode (shared_ptr<const dcp::XYZImage> input)
_cuda_memcpy_htd (c->img_data, c->img_data_d, pixels * sizeof (type_data));
_cuda_h_free (c->img_data);
}
-
+
std::cout << "Tile " << tile->width << "x" << tile->height << "\n";
_fwt (tile);
_quantize_tile (tile);
@@ -179,7 +179,7 @@ PoznanEncoder::do_encode (shared_ptr<const dcp::XYZImage> input)
std::cout << img->num_tiles << " tiles.\n";
std::cout << "got " << buffer.bytes_count << " bytes.\n";
- shared_ptr<EncodedData> encoded (new EncodedData (buffer.data, buffer.bytes_count));
+ Data encoded (buffer.data, buffer.bytes_count);
/* XXX! */
static int shit = 0;
diff --git a/src/lib/poznan_encoder.h b/src/lib/poznan_encoder.h
index 57d90c3d8..2184e49ff 100644
--- a/src/lib/poznan_encoder.h
+++ b/src/lib/poznan_encoder.h
@@ -26,7 +26,7 @@ class PoznanEncoder : public JPEG2000Encoder
{
public:
PoznanEncoder ();
-
+
std::string name () const;
std::string id () const {
@@ -35,22 +35,22 @@ public:
protected:
- boost::shared_ptr<EncodedData> do_encode (
- boost::shared_ptr<const dcp::XYZImage> input
+ Data do_encode (
+ boost::shared_ptr<const dcp::OpenJPEGImage> input
);
void parameters_changed ();
-
+
private:
void* open_library (std::string name);
-
+
type_parameters _param;
void (*_init_device) (type_parameters *);
void (*_color_coder_lossy) (type_image *);
- void (*_fwt) (type_tile *);
- void (*_quantize_tile) (type_tile *);
- void (*_encode_tile) (type_tile *);
+ void (*_fwt) (type_tile *);
+ void (*_quantize_tile) (type_tile *);
+ void (*_encode_tile) (type_tile *);
void (*_set_coding_parameters) (type_image *, type_parameters *);
void (*_init_tiles) (type_image **, type_parameters *);
void (*_init_buffer) (type_buffer *);