summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-07-09 17:05:52 +0100
committerCarl Hetherington <cth@carlh.net>2014-07-09 17:05:52 +0100
commitf853cbd6d1ca683a3403202357b02041626abd84 (patch)
tree60229da5257491ef7509da1913628e691740b3d7 /src
parent205fd96fc2592d5b50c91871fe0f2bd9d79783c5 (diff)
Allow construction of empty PictureFrames; some accessors.
Diffstat (limited to 'src')
-rw-r--r--src/mono_picture_frame.cc12
-rw-r--r--src/mono_picture_frame.h2
-rw-r--r--src/reel_asset.h4
-rw-r--r--src/stereo_picture_frame.cc17
-rw-r--r--src/stereo_picture_frame.h3
5 files changed, 38 insertions, 0 deletions
diff --git a/src/mono_picture_frame.cc b/src/mono_picture_frame.cc
index c2503a64..a06634a5 100644
--- a/src/mono_picture_frame.cc
+++ b/src/mono_picture_frame.cc
@@ -58,6 +58,11 @@ MonoPictureFrame::MonoPictureFrame (boost::filesystem::path mxf_path, int n, ASD
}
}
+MonoPictureFrame::MonoPictureFrame ()
+{
+ _buffer = new ASDCP::JP2K::FrameBuffer (4 * Kumu::Megabyte);
+}
+
/** MonoPictureFrame destructor */
MonoPictureFrame::~MonoPictureFrame ()
{
@@ -71,6 +76,13 @@ MonoPictureFrame::j2k_data () const
return _buffer->RoData ();
}
+/** @return Pointer to JPEG2000 data */
+uint8_t *
+MonoPictureFrame::j2k_data ()
+{
+ return _buffer->Data ();
+}
+
/** @return Size of JPEG2000 data in bytes */
int
MonoPictureFrame::j2k_size () const
diff --git a/src/mono_picture_frame.h b/src/mono_picture_frame.h
index 57e890a8..707c54cd 100644
--- a/src/mono_picture_frame.h
+++ b/src/mono_picture_frame.h
@@ -46,11 +46,13 @@ class MonoPictureFrame : public boost::noncopyable
{
public:
MonoPictureFrame (boost::filesystem::path mxf_path, int n, ASDCP::AESDecContext *);
+ MonoPictureFrame ();
~MonoPictureFrame ();
boost::shared_ptr<ARGBFrame> argb_frame (int reduce = 0, float srgb_gamma = 2.4) const;
void rgb_frame (uint8_t* buffer) const;
uint8_t const * j2k_data () const;
+ uint8_t* j2k_data ();
int j2k_size () const;
private:
diff --git a/src/reel_asset.h b/src/reel_asset.h
index e6e0fff5..d2ea56bf 100644
--- a/src/reel_asset.h
+++ b/src/reel_asset.h
@@ -74,6 +74,10 @@ public:
return !_key_id.empty ();
}
+ int64_t entry_point () const {
+ return _entry_point;
+ }
+
int64_t duration () const {
return _duration;
}
diff --git a/src/stereo_picture_frame.cc b/src/stereo_picture_frame.cc
index 9d9bef7d..bcc17e3a 100644
--- a/src/stereo_picture_frame.cc
+++ b/src/stereo_picture_frame.cc
@@ -53,6 +53,11 @@ StereoPictureFrame::StereoPictureFrame (boost::filesystem::path mxf_path, int n)
}
}
+StereoPictureFrame::StereoPictureFrame ()
+{
+ _buffer = new ASDCP::JP2K::SFrameBuffer (4 * Kumu::Megabyte);
+}
+
StereoPictureFrame::~StereoPictureFrame ()
{
delete _buffer;
@@ -109,6 +114,12 @@ StereoPictureFrame::left_j2k_data () const
return _buffer->Left.RoData ();
}
+uint8_t*
+StereoPictureFrame::left_j2k_data ()
+{
+ return _buffer->Left.Data ();
+}
+
int
StereoPictureFrame::left_j2k_size () const
{
@@ -121,6 +132,12 @@ StereoPictureFrame::right_j2k_data () const
return _buffer->Right.RoData ();
}
+uint8_t*
+StereoPictureFrame::right_j2k_data ()
+{
+ return _buffer->Right.Data ();
+}
+
int
StereoPictureFrame::right_j2k_size () const
{
diff --git a/src/stereo_picture_frame.h b/src/stereo_picture_frame.h
index ed407cf9..578bb3de 100644
--- a/src/stereo_picture_frame.h
+++ b/src/stereo_picture_frame.h
@@ -40,13 +40,16 @@ class StereoPictureFrame : public boost::noncopyable
{
public:
StereoPictureFrame (boost::filesystem::path mxf_path, int n);
+ StereoPictureFrame ();
~StereoPictureFrame ();
boost::shared_ptr<ARGBFrame> argb_frame (Eye eye, int reduce = 0, float srgb_gamma = 2.4) const;
void rgb_frame (Eye eye, uint8_t* buffer) const;
uint8_t const * left_j2k_data () const;
+ uint8_t* left_j2k_data ();
int left_j2k_size () const;
uint8_t const * right_j2k_data () const;
+ uint8_t* right_j2k_data ();
int right_j2k_size () const;
private: