X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_ppm%2Ftrgt_mpg.cpp;h=12709f3b4a122d94594a2b5661640b85f9a6db04;hb=c19efcfaa4cf2fa452a949c810a8cc5b179f66bf;hp=fc302ba5cef1719d17744ac6c3eabf351882f644;hpb=21bfc670b83d4c45da9ed1b95063b7e6a007168c;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_ppm/trgt_mpg.cpp b/synfig-core/trunk/src/modules/mod_ppm/trgt_mpg.cpp index fc302ba..12709f3 100644 --- a/synfig-core/trunk/src/modules/mod_ppm/trgt_mpg.cpp +++ b/synfig-core/trunk/src/modules/mod_ppm/trgt_mpg.cpp @@ -1,8 +1,10 @@ -/*! ======================================================================== -** Synfig -** bsd_mpeg1 Target Module -** $Id: trgt_mpg.cpp,v 1.1.1.1 2005/01/04 01:23:14 darco Exp $ +/* === S Y N F I G ========================================================= */ +/*! \file trgt_mpg.cpp +** \brief bsd_mpeg1 Target Module ** +** $Id$ +** +** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** ** This package is free software; you can redistribute it and/or @@ -14,6 +16,7 @@ ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** General Public License for more details. +** \endlegal ** ** === N O T E S =========================================================== ** @@ -64,7 +67,7 @@ bsd_mpeg1::bsd_mpeg1(const char *Filename) filename=Filename; passthru=ppm::New((tmp_dir+"temp.ppm").c_str()); paramfile=NULL; - + } bsd_mpeg1::~bsd_mpeg1() @@ -84,16 +87,16 @@ bool bsd_mpeg1::set_rend_desc(RendDesc *given_desc) { if(paramfile) - fclose(paramfile); - - + fclose(paramfile); + + paramfile=fopen((tmp_dir+"temp.param").c_str(),"wt"); int bitrate=150; // kbytes per second int buffer_drift=50; // bitrate drift (in kbytes per second) - + bitrate*=8*1024; buffer_drift*=8*1024; - + fprintf(paramfile, "PATTERN IBBPBBPBBPBBPBBP\n" "OUTPUT %s\n" @@ -119,10 +122,10 @@ bsd_mpeg1::set_rend_desc(RendDesc *given_desc) "BUFFER_SIZE %d\n" ,filename.c_str(),bitrate,buffer_drift); float fps=given_desc->get_frame_rate(); - + // Valid framerates: // 23.976, 24, 25, 29.97, 30, 50 ,59.94, 60 - + if(fps <24.0) { fprintf(paramfile,"FRAME_RATE 23.976\n"); @@ -163,15 +166,15 @@ bsd_mpeg1::set_rend_desc(RendDesc *given_desc) fprintf(paramfile,"FRAME_RATE 59.94\n"); given_desc->set_frame_rate(59.94); } - + // Make sure that the width and height // are multiples of 8 given_desc->set_w((given_desc->get_w()+4)/8*8); given_desc->set_h((given_desc->get_h()+4)/8*8); - + if(!passthru->set_rend_desc(given_desc)) return false; - + desc=*given_desc; fprintf(paramfile, @@ -181,7 +184,7 @@ bsd_mpeg1::set_rend_desc(RendDesc *given_desc) fclose(paramfile); paramfile=NULL; - + return true; }