* @param bw J2K bandwidth to use (see Config::j2k_bandwidth ())
*/
DCPVideo::DCPVideo (
- shared_ptr<const PlayerVideo> frame, int index, int dcp_fps, int bw, Resolution r
+ shared_ptr<const PlayerVideo> frame, dcp::Size container, int index, int dcp_fps, int bw, Resolution r
)
: _frame (frame)
+ , _container(container)
, _index (index)
, _frames_per_second (dcp_fps)
, _j2k_bandwidth (bw)
}
shared_ptr<dcp::OpenJPEGImage>
-DCPVideo::convert_to_xyz (shared_ptr<const PlayerVideo> frame, dcp::NoteHandler note)
+DCPVideo::convert_to_xyz (shared_ptr<const PlayerVideo> frame, dcp::Size container, dcp::NoteHandler note)
{
shared_ptr<dcp::OpenJPEGImage> xyz;
- auto image = frame->image (bind(&PlayerVideo::keep_xyz_or_rgb, _1), VideoRange::FULL, false);
+ auto image = frame->image(
+ bind(&PlayerVideo::keep_xyz_or_rgb, _1),
+ container,
+ container,
+ VideoRange::FULL,
+ false
+ );
+
if (frame->colour_conversion()) {
xyz = dcp::rgb_to_xyz (
image->data()[0],
ArrayData enc = {};
/* This was empirically derived by a user: see #1902 */
int const minimum_size = 16384;
- LOG_GENERAL ("Using minimum frame size %1", minimum_size);
+ LOG_DEBUG_ENCODE("Using minimum frame size %1", minimum_size);
- auto xyz = convert_to_xyz (_frame, boost::bind(&Log::dcp_log, dcpomatic_log.get(), _1, _2));
+ auto xyz = convert_to_xyz(_frame, _container, boost::bind(&Log::dcp_log, dcpomatic_log.get(), _1, _2));
int noise_amount = 2;
int pixel_skip = 16;
while (true) {
);
if (enc.size() >= minimum_size) {
- LOG_GENERAL (N_("Frame %1 encoded size was OK (%2)"), _index, enc.size());
+ LOG_DEBUG_ENCODE(N_("Frame %1 encoded size was OK (%2)"), _index, enc.size());
break;
}
* convert_to_xyz() again because compress_j2k() corrupts its xyz parameter.
*/
- xyz = convert_to_xyz (_frame, boost::bind(&Log::dcp_log, dcpomatic_log.get(), _1, _2));
+ xyz = convert_to_xyz(_frame, _container, boost::bind(&Log::dcp_log, dcpomatic_log.get(), _1, _2));
auto size = xyz->size ();
auto pixels = size.width * size.height;
dcpomatic::RNG rng(42);