diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-05-02 17:33:07 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-03-21 16:41:06 +0000 |
| commit | b0d41c5a78f852619cde4249860c6bbe490804ff (patch) | |
| tree | b59c902cb36a6214301e1a098ddfc690dd29d880 /src/lib/dcp_video.cc | |
| parent | 82be5b24a943f1f31e0de20f0e2e2bb5a8a531bf (diff) | |
Basic classes for different JPEG2000 encoders; config to choose one.
Diffstat (limited to 'src/lib/dcp_video.cc')
| -rw-r--r-- | src/lib/dcp_video.cc | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/lib/dcp_video.cc b/src/lib/dcp_video.cc index cd7d5229e..1933c0e35 100644 --- a/src/lib/dcp_video.cc +++ b/src/lib/dcp_video.cc @@ -1,6 +1,5 @@ /* Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net> - Taken from code Copyright (C) 2010-2011 Terrence Meiczinger This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -39,6 +38,7 @@ #include "player_video.h" #include "raw_convert.h" #include "compose.hpp" +#include "jpeg2000_encoder.h" #include <libcxml/cxml.h> #include <dcp/openjpeg_image.h> #include <dcp/rgb_xyz.h> @@ -121,12 +121,17 @@ DCPVideo::convert_to_xyz (shared_ptr<const PlayerVideo> frame, dcp::NoteHandler Data DCPVideo::encode_locally (dcp::NoteHandler note) { - Data enc = compress_j2k ( - convert_to_xyz (_frame, note), - _j2k_bandwidth, - _frames_per_second, - _frame->eyes() == EYES_LEFT || _frame->eyes() == EYES_RIGHT, - _resolution == RESOLUTION_4K + shared_ptr<JPEG2000Encoder> encoder; + if (Config::instance()->encoder ()) { + encoder = JPEG2000Encoder::from_id (Config::instance()->encoder().get ()); + } + + if (!encoder) { + encoder = JPEG2000Encoder::all().front (); + } + + shared_ptr<EncodedData> enc = encoder->encode ( + xyz, note, _j2k_bandwidth, _frames_per_second, _resolution, _frame->eyes() == EYES_LEFT || _frame->eyes() == EYES_RIGHT ); switch (_frame->eyes()) { |
