Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-core / trunk / src / modules / mod_yuv420p / trgt_yuv.cpp
index b2d7217..bad2dca 100644 (file)
@@ -2,10 +2,11 @@
 /*!    \file trgt_yuv.cpp
 **     \brief Template File
 **
-**     $Id: trgt_yuv.cpp,v 1.1.1.1 2005/01/04 01:23:14 darco Exp $
+**     $Id$
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007 Chris Moore
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -58,13 +59,13 @@ SYNFIG_TARGET_INIT(yuv);
 SYNFIG_TARGET_SET_NAME(yuv,"yuv420p");
 SYNFIG_TARGET_SET_EXT(yuv,"yuv");
 SYNFIG_TARGET_SET_VERSION(yuv,"0.1");
-SYNFIG_TARGET_SET_CVS_ID(yuv,"$Id: trgt_yuv.cpp,v 1.1.1.1 2005/01/04 01:23:14 darco Exp $");
+SYNFIG_TARGET_SET_CVS_ID(yuv,"$Id$");
 
 /* === M E T H O D S ======================================================= */
 
 yuv::yuv(const char *FILENAME):
        filename(FILENAME),
-       file( (filename=="-")?stdout:fopen(filename.c_str(),"wb") ),
+       file( (filename=="-")?stdout:fopen(filename.c_str(),POPEN_BINARY_WRITE_TYPE) ),
        dithering(true)
 {
        // YUV420P doesn't have an alpha channel
@@ -76,6 +77,18 @@ yuv::~yuv()
 }
 
 bool
+yuv::init()
+{
+       if (!file)
+               return false;
+
+       fprintf(file.get(), "YUV4MPEG2 W%d H%d F%d:1 Ip\n",
+                       desc.get_w(), desc.get_h(),
+                       round_to_int(desc.get_frame_rate()));
+       return true;
+}
+
+bool
 yuv::set_rend_desc(RendDesc *given_desc)
 {
        given_desc->clear_flags();
@@ -93,8 +106,9 @@ yuv::set_rend_desc(RendDesc *given_desc)
 }
 
 bool
-yuv::start_frame(synfig::ProgressCallback *callback)
+yuv::start_frame(synfig::ProgressCallback */*callback*/)
 {
+       fprintf(file.get(), "FRAME\n");
        return static_cast<bool>(file);
 }