== FFMPEG ==
authorPeter Schlaile <peter@schlaile.de>
Mon, 12 May 2008 09:01:15 +0000 (09:01 +0000)
committerPeter Schlaile <peter@schlaile.de>
Mon, 12 May 2008 09:01:15 +0000 (09:01 +0000)
Added (disabled) MKV support. Might come handy later, if someone finds
out, why it instantly crashes after 2 frames.

Made it impossible to set min_rate higher than max_rate in render buttons
panel.

source/blender/blenkernel/BKE_writeffmpeg.h
source/blender/blenkernel/intern/writeffmpeg.c
source/blender/src/buttons_scene.c

index 86ad67f76b02734a73b1d04dbd8409c0805a2196..7819919fba888e4b8ec4ca40ddd25ff887cb3662 100644 (file)
@@ -43,6 +43,7 @@ extern "C" {
 #define FFMPEG_H264     6
 #define FFMPEG_XVID     7
 #define FFMPEG_FLV      8
+#define FFMPEG_MKV      9
 
 #define FFMPEG_CODEC_MPEG1 0
 #define FFMPEG_CODEC_MPEG2 1
index 51ab7365c014e1455729a009ffcaff0fd6fd20ae..c95e3d2044259fc9f5e5c0cdcc73db79778b4515 100644 (file)
@@ -226,6 +226,10 @@ static const char** get_file_extensions(int format)
                static const char * rv[] = { ".flv", NULL };
                return rv;
        }
+       case FFMPEG_MKV: {
+               static const char * rv[] = { ".mkv", NULL };
+               return rv;
+       }
        default:
                return NULL;
        }
index d3311af51e0f8b2cd06e7d78b2f33b596a6fc260..239710ed7858f86fcc4c7c4c62ca47398f49ce51 100644 (file)
@@ -2789,8 +2789,10 @@ static void render_panel_ffmpeg_video(void)
                          &G.scene->r.ffcodecdata.video_bitrate, 
                          1, 14000, 0, 0, "Video bitrate(kb/s)");
        uiDefButI(block, NUM, B_DIFF, "Min Rate", 
-                         xcol1, yofs+22, 110, 20, &G.scene->r.ffcodecdata.rc_min_rate, 
-                         0, 14000, 0, 0, "Rate control: min rate(kb/s)");
+                 xcol1, yofs+22, 110, 20, 
+                 &G.scene->r.ffcodecdata.rc_min_rate, 
+                 0, G.scene->r.ffcodecdata.rc_max_rate, 
+                 0, 0, "Rate control: min rate(kb/s)");
        uiDefButI(block, NUM, B_DIFF, "Max Rate", 
                          xcol1, yofs, 110, 20, &G.scene->r.ffcodecdata.rc_max_rate, 
                          1, 14000, 0, 0, "Rate control: max rate(kb/s)");
@@ -2823,7 +2825,8 @@ static void render_panel_ffmpeg_video(void)
                                 0, 1, 0,0, "Autosplit output at 2GB boundary.");
        
        
-       if (ELEM(G.scene->r.ffcodecdata.type, FFMPEG_AVI, FFMPEG_MOV)) {
+       if (ELEM3(G.scene->r.ffcodecdata.type, FFMPEG_AVI, 
+                 FFMPEG_MOV, FFMPEG_MKV)) {
                uiDefBut(block, LABEL, 0, "Codec", 
                                xcol1, yofs-44, 110, 20, 0, 0, 0, 0, 0, "");
                uiDefButI(block, MENU,B_REDR, ffmpeg_codec_pup(),