Added Lossless Output option for h264 codec.
[blender.git] / source / blender / blenkernel / BKE_writeffmpeg.h
index 07e0e01..e99dece 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
 #ifndef BKE_WRITEFFMPEG_H
 #define BKE_WRITEFFMPEG_H
 
+/** \file BKE_writeffmpeg.h
+ *  \ingroup bke
+ */
+
 #ifdef WITH_FFMPEG
 
 #ifdef __cplusplus
@@ -45,6 +49,8 @@ extern "C" {
 #define FFMPEG_FLV      8
 #define FFMPEG_MKV      9
 #define FFMPEG_OGG      10
+#define FFMPEG_WAV      11
+#define FFMPEG_MP3      12
 
 #define FFMPEG_PRESET_NONE             0
 #define FFMPEG_PRESET_DVD              1
@@ -57,16 +63,20 @@ extern "C" {
 
 struct IDProperty;
 struct RenderData;     
+struct ReportList;
 struct Scene;
 
-extern void start_ffmpeg(struct Scene *scene, struct RenderData *rd, int rectx, int recty);
+extern int start_ffmpeg(struct Scene *scene, struct RenderData *rd, int rectx, int recty, struct ReportList *reports);
 extern void end_ffmpeg(void);
-extern void append_ffmpeg(struct RenderData *rd, int frame, int *pixels, int rectx, int recty);
+extern int append_ffmpeg(struct RenderData *rd, int start_frame, int frame, int *pixels,
+                         int rectx, int recty, struct ReportList *reports);
+void filepath_ffmpeg(char* string, struct RenderData* rd);
 
 extern void ffmpeg_set_preset(struct RenderData *rd, int preset);
-extern void ffmpeg_verify_image_type(struct RenderData *rd);
+extern void ffmpeg_verify_image_type(struct RenderData *rd, struct ImageFormatData *imf);
+extern void ffmpeg_verify_lossless_format(struct RenderData *rd, struct ImageFormatData *imf);
 
-extern struct IDProperty *ffmpeg_property_add(struct RenderData *Rd, char *type, int opt_index, int parent_index);
+extern struct IDProperty *ffmpeg_property_add(struct RenderData *Rd, const 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_);