synfig-core  1.0.3
trgt_av.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
21 /* ========================================================================= */
22 
23 /* === S T A R T =========================================================== */
24 
25 #ifndef __SYNFIG_TRGT_H
26 #define __SYNFIG_TRGT_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <synfig/target_scanline.h>
31 #include <synfig/string.h>
32 #include <synfig/targetparam.h>
33 #include <cstdio>
34 #include "synfig/surface.h"
35 
36 /* === M A C R O S ========================================================= */
37 
38 /* === T Y P E D E F S ===================================================== */
39 
40 /* === C L A S S E S & S T R U C T S ======================================= */
41 
43 {
45 private:
46  synfig::String filename;
47 
48  class LibAVEncoder;
49  LibAVEncoder *data;
50 
51  static bool registered;
52 
53  synfig::Surface surface;
54 
55 public:
56  Target_LibAVCodec(const char *filename,
57  const synfig::TargetParam& /* params */);
58  virtual ~Target_LibAVCodec();
59 
60  virtual bool init(synfig::ProgressCallback *cb);
61 
62  virtual bool set_rend_desc(synfig::RendDesc *desc);
63  virtual bool start_frame(synfig::ProgressCallback *cb);
64  virtual void end_frame();
65  virtual synfig::Color * start_scanline(int scanline);
66  virtual bool end_scanline();
67 };
68 
69 /* === E N D =============================================================== */
70 
71 #endif