diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-07-10 09:40:56 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-07-10 09:40:56 +0100 |
| commit | 53a18f3564b6dcd431e44b01ab2a505be135d2b7 (patch) | |
| tree | 633b1afa240e71a5a329503be8fc6092d7ec3a0a /src/lib/player_video.cc | |
| parent | 63f506966cc4e9c459b3bcb430a11481f9d3a24a (diff) | |
Basics of direct write of J2K data without encode/decode.
Diffstat (limited to 'src/lib/player_video.cc')
| -rw-r--r-- | src/lib/player_video.cc | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/lib/player_video.cc b/src/lib/player_video.cc index d1b394933..a44264ced 100644 --- a/src/lib/player_video.cc +++ b/src/lib/player_video.cc @@ -21,12 +21,14 @@ #include "player_video.h" #include "image.h" #include "image_proxy.h" +#include "j2k_image_proxy.h" #include "scaler.h" using std::string; using std::cout; -using boost::shared_ptr; using dcp::raw_convert; +using boost::shared_ptr; +using boost::dynamic_pointer_cast; PlayerVideo::PlayerVideo ( shared_ptr<const ImageProxy> in, @@ -148,3 +150,24 @@ PlayerVideo::send_binary (shared_ptr<Socket> socket, bool send_subtitles) const _subtitle.image->write_to_socket (socket); } } + +bool +PlayerVideo::has_j2k () const +{ + /* XXX: burnt-in subtitle; maybe other things */ + + shared_ptr<const J2KImageProxy> j2k = dynamic_pointer_cast<const J2KImageProxy> (_in); + if (!j2k) { + return false; + } + + return _crop == Crop () && _inter_size == j2k->size(); +} + +shared_ptr<EncodedData> +PlayerVideo::j2k () const +{ + shared_ptr<const J2KImageProxy> j2k = dynamic_pointer_cast<const J2KImageProxy> (_in); + assert (j2k); + return j2k->j2k (); +} |
