X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftags%2Fstable%2Fsrc%2Fmodules%2Fmod_yuv420p%2Ftrgt_yuv.cpp;h=bad2dcaf40d9f4b26f4b0f2b8af65ac2cfa87a56;hb=47fce282611fbba1044921d22ca887f9b53ad91a;hp=3f658010220d4245baa3f5842b28aa9ccd829b94;hpb=684cf1db661a9a5cbc142238cf05d6d2f7aa3f89;p=synfig.git diff --git a/synfig-core/tags/stable/src/modules/mod_yuv420p/trgt_yuv.cpp b/synfig-core/tags/stable/src/modules/mod_yuv420p/trgt_yuv.cpp index 3f65801..bad2dca 100644 --- a/synfig-core/tags/stable/src/modules/mod_yuv420p/trgt_yuv.cpp +++ b/synfig-core/tags/stable/src/modules/mod_yuv420p/trgt_yuv.cpp @@ -6,6 +6,7 @@ ** ** \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 @@ -64,7 +65,7 @@ SYNFIG_TARGET_SET_CVS_ID(yuv,"$Id$"); 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(); @@ -95,6 +108,7 @@ yuv::set_rend_desc(RendDesc *given_desc) bool yuv::start_frame(synfig::ProgressCallback */*callback*/) { + fprintf(file.get(), "FRAME\n"); return static_cast(file); }