**
** \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
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
}
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();
bool
yuv::start_frame(synfig::ProgressCallback */*callback*/)
{
+ fprintf(file.get(), "FRAME\n");
return static_cast<bool>(file);
}