2011-02-18 13:05:18 +00:00
|
|
|
/*
|
2008-04-16 22:40:48 +00:00
|
|
|
* ***** BEGIN GPL LICENSE BLOCK *****
|
2006-02-05 19:14:46 +00:00
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
2008-04-16 22:40:48 +00:00
|
|
|
* of the License, or (at your option) any later version.
|
2006-02-05 19:14:46 +00:00
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* 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.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software Foundation,
|
2010-02-12 13:34:04 +00:00
|
|
|
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
2006-02-05 19:14:46 +00:00
|
|
|
*
|
|
|
|
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* The Original Code is: all of this file.
|
|
|
|
*
|
|
|
|
* Contributor(s): none yet.
|
|
|
|
*
|
2008-04-16 22:40:48 +00:00
|
|
|
* ***** END GPL LICENSE BLOCK *****
|
2006-02-05 19:14:46 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef BKE_WRITEFFMPEG_H
|
|
|
|
#define BKE_WRITEFFMPEG_H
|
|
|
|
|
2011-02-18 13:05:18 +00:00
|
|
|
/** \file BKE_writeffmpeg.h
|
|
|
|
* \ingroup bke
|
|
|
|
*/
|
|
|
|
|
2006-02-05 19:14:46 +00:00
|
|
|
#ifdef WITH_FFMPEG
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define FFMPEG_MPEG1 0
|
|
|
|
#define FFMPEG_MPEG2 1
|
|
|
|
#define FFMPEG_MPEG4 2
|
|
|
|
#define FFMPEG_AVI 3
|
|
|
|
#define FFMPEG_MOV 4
|
|
|
|
#define FFMPEG_DV 5
|
2006-06-09 19:48:50 +00:00
|
|
|
#define FFMPEG_H264 6
|
|
|
|
#define FFMPEG_XVID 7
|
2008-04-13 18:50:16 +00:00
|
|
|
#define FFMPEG_FLV 8
|
2008-05-12 09:01:15 +00:00
|
|
|
#define FFMPEG_MKV 9
|
2008-10-05 17:31:33 +00:00
|
|
|
#define FFMPEG_OGG 10
|
2010-02-07 23:41:17 +00:00
|
|
|
#define FFMPEG_WAV 11
|
|
|
|
#define FFMPEG_MP3 12
|
2006-02-05 19:14:46 +00:00
|
|
|
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
#define FFMPEG_PRESET_NONE 0
|
|
|
|
#define FFMPEG_PRESET_DVD 1
|
|
|
|
#define FFMPEG_PRESET_SVCD 2
|
|
|
|
#define FFMPEG_PRESET_VCD 3
|
|
|
|
#define FFMPEG_PRESET_DV 4
|
|
|
|
#define FFMPEG_PRESET_H264 5
|
|
|
|
#define FFMPEG_PRESET_THEORA 6
|
|
|
|
#define FFMPEG_PRESET_XVID 7
|
2006-02-05 19:14:46 +00:00
|
|
|
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
struct IDProperty;
|
2006-02-05 19:14:46 +00:00
|
|
|
struct RenderData;
|
2009-12-22 12:01:32 +00:00
|
|
|
struct ReportList;
|
2009-08-09 21:16:39 +00:00
|
|
|
struct Scene;
|
2006-02-05 19:14:46 +00:00
|
|
|
|
2009-12-22 12:01:32 +00:00
|
|
|
extern int start_ffmpeg(struct Scene *scene, struct RenderData *rd, int rectx, int recty, struct ReportList *reports);
|
2006-02-05 19:14:46 +00:00
|
|
|
extern void end_ffmpeg(void);
|
2009-12-22 12:01:32 +00:00
|
|
|
extern int append_ffmpeg(struct RenderData *rd, int frame, int *pixels, int rectx, int recty, struct ReportList *reports);
|
2010-01-08 13:52:38 +00:00
|
|
|
void filepath_ffmpeg(char* string, struct RenderData* rd);
|
2006-02-05 19:14:46 +00:00
|
|
|
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
extern void ffmpeg_set_preset(struct RenderData *rd, int preset);
|
|
|
|
extern void ffmpeg_verify_image_type(struct RenderData *rd);
|
|
|
|
|
|
|
|
extern struct IDProperty *ffmpeg_property_add(struct RenderData *Rd, char *type, int opt_index, int parent_index);
|
|
|
|
extern int ffmpeg_property_add_string(struct RenderData *rd, const char *type, const char *str);
|
|
|
|
extern void ffmpeg_property_del(struct RenderData *rd, void *type, void *prop_);
|
|
|
|
|
2006-02-05 19:14:46 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|