#ifndef DCPOMATIC_J2K_ENCODER_FASTVIDEO_BACKEND_H #define DCPOMATIC_J2K_ENCODER_FASTVIDEO_BACKEND_H #include "j2k_encoder_backend.h" #include #include #include #include #include class J2KEncoderFastvideoBackend : public J2KEncoderBackend { public: J2KEncoderFastvideoBackend (boost::barrier& barrier); ~J2KEncoderFastvideoBackend (); std::vector encode (std::vector > video); int quantity () const { return 8; } private: void setup (dcp::Size size); boost::barrier& _barrier; bool _setup_done; fastImportFromHostHandle_t _adapter; fastDeviceSurfaceBufferHandle_t _src_buffer; fastEncoderJ2kHandle_t _encoder; uint16_t* _xyz_buffer; int _xyz_buffer_stride; }; #endif