synfig-core  1.0.3
trgt_ffmpeg.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
26 /* === S T A R T =========================================================== */
27 
28 #ifndef __SYNFIG_TRGT_FFMPEG_H
29 #define __SYNFIG_TRGT_FFMPEG_H
30 
31 /* === H E A D E R S ======================================================= */
32 
33 #include <synfig/target_scanline.h>
34 #include <synfig/string.h>
35 #include <synfig/targetparam.h>
36 #include <sys/types.h>
37 #include <cstdio>
38 
39 /* === M A C R O S ========================================================= */
40 
41 /* === T Y P E D E F S ===================================================== */
42 
43 /* === C L A S S E S & S T R U C T S ======================================= */
44 
45 class TargetParam;
46 
48 {
50 private:
51  pid_t pid;
52  int imagecount;
53  bool multi_image;
54  FILE *file;
55  synfig::String filename;
56  unsigned char *buffer;
57  synfig::Color *color_buffer;
58  std::string video_codec;
59  int bitrate;
60 public:
61  ffmpeg_trgt(const char *filename,
62  const synfig::TargetParam& params);
63 
64  virtual bool set_rend_desc(synfig::RendDesc *desc);
65  virtual bool start_frame(synfig::ProgressCallback *cb);
66  virtual void end_frame();
67 
68  virtual ~ffmpeg_trgt();
69 
70  virtual synfig::Color * start_scanline(int scanline);
71  virtual bool end_scanline();
72 
75  virtual bool init(synfig::ProgressCallback *cb);
76 };
77 
78 /* === E N D =============================================================== */
79 
80 #endif