blob: d65e6e1b488deb168c9a707d8660448ac7594ed4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#ifndef DCPOMATIC_J2K_ENCODER_FASTVIDEO_BACKEND_H
#define DCPOMATIC_J2K_ENCODER_FASTVIDEO_BACKEND_H
#include "j2k_encoder_backend.h"
#include <dcp/util.h>
#include <fastvideo_encoder_j2k.h>
#include <fastvideo_sdk.h>
#include <boost/thread.hpp>
#include <boost/thread/barrier.hpp>
class J2KEncoderFastvideoBackend : public J2KEncoderBackend
{
public:
J2KEncoderFastvideoBackend (boost::barrier& barrier);
~J2KEncoderFastvideoBackend ();
std::vector<dcp::Data> encode (std::vector<boost::shared_ptr<DCPVideo> > video);
int quantity () const {
return 4;
}
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
|