3 #include "gpu_frame.h"
\r
4 #include "frame_format.h"
\r
9 namespace caspar { namespace core {
\r
11 struct frame_factory
\r
13 virtual ~frame_factory(){}
\r
14 virtual void release_frames(void* tag) = 0;
\r
15 virtual gpu_frame_ptr create_frame(size_t width, size_t height, void* tag) = 0;
\r
16 virtual gpu_frame_ptr create_frame(const planar_frame_dimension& data_size, void* tag) = 0;
\r
17 gpu_frame_ptr create_frame(const frame_format_desc format_desc, void* tag)
\r
19 return create_frame(format_desc.width, format_desc.height, tag);
\r
23 typedef std::shared_ptr<frame_factory> frame_factory_ptr;
\r