Fix (I think) AuthenticatedPublic signer.
[libdcp.git] / src / picture_frame.h
index b2693f49e087dc6087dd60ad550679520dbd8455..1c17e50b14a5752e9528ef29eacbedfbf65b14c6 100644 (file)
@@ -27,31 +27,40 @@ namespace ASDCP {
                class FrameBuffer;
                class SFrameBuffer;
        }
+       class AESDecContext;
 }
 
 namespace libdcp {
 
 class ARGBFrame;
 
+/** A single frame of a 2D (monoscopic) picture asset */       
 class MonoPictureFrame
 {
 public:
-       MonoPictureFrame (std::string mxf_path, int n);
+       MonoPictureFrame (std::string mxf_path, int n, ASDCP::AESDecContext *);
        ~MonoPictureFrame ();
 
-       boost::shared_ptr<ARGBFrame> argb_frame () const;
+       boost::shared_ptr<ARGBFrame> argb_frame (int reduce = 0, float srgb_gamma = 2.4) const;
+       uint8_t const * j2k_data () const;
+       int j2k_size () const;
 
 private:
        ASDCP::JP2K::FrameBuffer* _buffer;
 };
 
+/** A single frame of a 3D (stereoscopic) picture asset */     
 class StereoPictureFrame
 {
 public:
        StereoPictureFrame (std::string mxf_path, int n);
        ~StereoPictureFrame ();
 
-       boost::shared_ptr<ARGBFrame> argb_frame (Eye eye) const;
+       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;
 
 private:
        ASDCP::JP2K::SFrameBuffer* _buffer;