- boost::shared_ptr<ARGBFrame> argb_frame (Eye eye, int reduce = 0, float srgb_gamma = 2.4) const;
- uint8_t const * left_j2k_data () const;
- int left_j2k_size () const;
- uint8_t const * right_j2k_data () const;
- int right_j2k_size () const;
+ StereoPictureFrame (StereoPictureFrame const &) = delete;
+ StereoPictureFrame& operator= (StereoPictureFrame const &) = delete;
+
+ std::shared_ptr<OpenJPEGImage> xyz_image (Eye eye, int reduce = 0) const;
+
+ class Part : public Data
+ {
+ public:
+ Part (std::shared_ptr<ASDCP::JP2K::SFrameBuffer> buffer, Eye eye);
+
+ uint8_t const * data () const override;
+ uint8_t * data () override;
+ int size () const override;
+
+ private:
+ friend class StereoPictureFrame;
+
+ ASDCP::JP2K::FrameBuffer& mono () const;
+
+ std::shared_ptr<ASDCP::JP2K::SFrameBuffer> _buffer;
+ Eye _eye;
+ };
+
+ std::shared_ptr<Part> left () const;
+ std::shared_ptr<Part> right () const;