[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27462] trunk/blender: Fix [#21351] PROPERTIES: Resolution changes based solely on changing
Matt Ebb
matt at mke3.net
Sat Mar 13 01:18:01 CET 2010
Revision: 27462
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27462
Author: broken
Date: 2010-03-13 01:17:52 +0100 (Sat, 13 Mar 2010)
Log Message:
-----------
Fix [#21351] PROPERTIES: Resolution changes based solely on changing
encoding format
Bypassed existing hardcoded ffmpeg presets that executed when changing
format, replaced with bpy presets.
Leaving old code there for now, haven't got python/rna access to the ffmpeg
id properties.. Anyone know how to do this?
Code snippets here: http://www.pasteall.org/11657/c
Modified Paths:
--------------
trunk/blender/release/scripts/ui/properties_render.py
trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c
trunk/blender/source/blender/makesrna/intern/rna_scene.c
Added Paths:
-----------
trunk/blender/release/scripts/presets/ffmpeg/
trunk/blender/release/scripts/presets/ffmpeg/DV.py
trunk/blender/release/scripts/presets/ffmpeg/DVD.py
trunk/blender/release/scripts/presets/ffmpeg/SVCD.py
trunk/blender/release/scripts/presets/ffmpeg/VCD.py
trunk/blender/release/scripts/presets/ffmpeg/h264.py
trunk/blender/release/scripts/presets/ffmpeg/theora.py
trunk/blender/release/scripts/presets/ffmpeg/xvid.py
Added: trunk/blender/release/scripts/presets/ffmpeg/DV.py
===================================================================
--- trunk/blender/release/scripts/presets/ffmpeg/DV.py (rev 0)
+++ trunk/blender/release/scripts/presets/ffmpeg/DV.py 2010-03-13 00:17:52 UTC (rev 27462)
@@ -0,0 +1,9 @@
+is_ntsc = (bpy.context.scene.render.fps != 25)
+
+bpy.context.scene.render.ffmpeg_format = "DV"
+bpy.context.scene.render.resolution_x = 720
+
+if is_ntsc:
+ bpy.context.scene.render.resolution_y = 480
+else:
+ bpy.context.scene.render.resolution_y = 576
Added: trunk/blender/release/scripts/presets/ffmpeg/DVD.py
===================================================================
--- trunk/blender/release/scripts/presets/ffmpeg/DVD.py (rev 0)
+++ trunk/blender/release/scripts/presets/ffmpeg/DVD.py 2010-03-13 00:17:52 UTC (rev 27462)
@@ -0,0 +1,18 @@
+is_ntsc = (bpy.context.scene.render.fps != 25)
+
+bpy.context.scene.render.ffmpeg_format = "MPEG2"
+bpy.context.scene.render.resolution_x = 720
+
+if is_ntsc:
+ bpy.context.scene.render.resolution_y = 480
+ bpy.context.scene.render.ffmpeg_gopsize = 18
+else:
+ bpy.context.scene.render.resolution_y = 576
+ bpy.context.scene.render.ffmpeg_gopsize = 15
+
+bpy.context.scene.render.ffmpeg_video_bitrate = 6000
+bpy.context.scene.render.ffmpeg_maxrate = 9000
+bpy.context.scene.render.ffmpeg_minrate = 0
+bpy.context.scene.render.ffmpeg_buffersize = 224*8
+bpy.context.scene.render.ffmpeg_packetsize = 2048
+bpy.context.scene.render.ffmpeg_muxrate = 10080000
\ No newline at end of file
Added: trunk/blender/release/scripts/presets/ffmpeg/SVCD.py
===================================================================
--- trunk/blender/release/scripts/presets/ffmpeg/SVCD.py (rev 0)
+++ trunk/blender/release/scripts/presets/ffmpeg/SVCD.py 2010-03-13 00:17:52 UTC (rev 27462)
@@ -0,0 +1,18 @@
+is_ntsc = (bpy.context.scene.render.fps != 25)
+
+bpy.context.scene.render.ffmpeg_format = "MPEG2"
+bpy.context.scene.render.resolution_x = 480
+
+if is_ntsc:
+ bpy.context.scene.render.resolution_y = 480
+ bpy.context.scene.render.ffmpeg_gopsize = 18
+else:
+ bpy.context.scene.render.resolution_y = 576
+ bpy.context.scene.render.ffmpeg_gopsize = 15
+
+bpy.context.scene.render.ffmpeg_video_bitrate = 2040
+bpy.context.scene.render.ffmpeg_maxrate = 2516
+bpy.context.scene.render.ffmpeg_minrate = 0
+bpy.context.scene.render.ffmpeg_buffersize = 224*8
+bpy.context.scene.render.ffmpeg_packetsize = 2324
+bpy.context.scene.render.ffmpeg_muxrate = 0
\ No newline at end of file
Added: trunk/blender/release/scripts/presets/ffmpeg/VCD.py
===================================================================
--- trunk/blender/release/scripts/presets/ffmpeg/VCD.py (rev 0)
+++ trunk/blender/release/scripts/presets/ffmpeg/VCD.py 2010-03-13 00:17:52 UTC (rev 27462)
@@ -0,0 +1,18 @@
+is_ntsc = (bpy.context.scene.render.fps != 25)
+
+bpy.context.scene.render.ffmpeg_format = "MPEG1"
+bpy.context.scene.render.resolution_x = 352
+
+if is_ntsc:
+ bpy.context.scene.render.resolution_y = 240
+ bpy.context.scene.render.ffmpeg_gopsize = 18
+else:
+ bpy.context.scene.render.resolution_y = 288
+ bpy.context.scene.render.ffmpeg_gopsize = 15
+
+bpy.context.scene.render.ffmpeg_video_bitrate = 1150
+bpy.context.scene.render.ffmpeg_maxrate = 1150
+bpy.context.scene.render.ffmpeg_minrate = 1150
+bpy.context.scene.render.ffmpeg_buffersize = 40*8
+bpy.context.scene.render.ffmpeg_packetsize = 2324
+bpy.context.scene.render.ffmpeg_muxrate = 2352 * 75 * 8
\ No newline at end of file
Added: trunk/blender/release/scripts/presets/ffmpeg/h264.py
===================================================================
--- trunk/blender/release/scripts/presets/ffmpeg/h264.py (rev 0)
+++ trunk/blender/release/scripts/presets/ffmpeg/h264.py 2010-03-13 00:17:52 UTC (rev 27462)
@@ -0,0 +1,16 @@
+is_ntsc = (bpy.context.scene.render.fps != 25)
+
+bpy.context.scene.render.ffmpeg_format = "H264"
+bpy.context.scene.render.ffmpeg_codec = "H264"
+
+if is_ntsc:
+ bpy.context.scene.render.ffmpeg_gopsize = 18
+else:
+ bpy.context.scene.render.ffmpeg_gopsize = 15
+
+bpy.context.scene.render.ffmpeg_video_bitrate = 6000
+bpy.context.scene.render.ffmpeg_maxrate = 9000
+bpy.context.scene.render.ffmpeg_minrate = 0
+bpy.context.scene.render.ffmpeg_buffersize = 224*8
+bpy.context.scene.render.ffmpeg_packetsize = 2048
+bpy.context.scene.render.ffmpeg_muxrate = 10080000
\ No newline at end of file
Added: trunk/blender/release/scripts/presets/ffmpeg/theora.py
===================================================================
--- trunk/blender/release/scripts/presets/ffmpeg/theora.py (rev 0)
+++ trunk/blender/release/scripts/presets/ffmpeg/theora.py 2010-03-13 00:17:52 UTC (rev 27462)
@@ -0,0 +1,16 @@
+is_ntsc = (bpy.context.scene.render.fps != 25)
+
+bpy.context.scene.render.ffmpeg_format = "OGG"
+bpy.context.scene.render.ffmpeg_codec = "THEORA"
+
+if is_ntsc:
+ bpy.context.scene.render.ffmpeg_gopsize = 18
+else:
+ bpy.context.scene.render.ffmpeg_gopsize = 15
+
+bpy.context.scene.render.ffmpeg_video_bitrate = 6000
+bpy.context.scene.render.ffmpeg_maxrate = 9000
+bpy.context.scene.render.ffmpeg_minrate = 0
+bpy.context.scene.render.ffmpeg_buffersize = 224*8
+bpy.context.scene.render.ffmpeg_packetsize = 2048
+bpy.context.scene.render.ffmpeg_muxrate = 10080000
\ No newline at end of file
Added: trunk/blender/release/scripts/presets/ffmpeg/xvid.py
===================================================================
--- trunk/blender/release/scripts/presets/ffmpeg/xvid.py (rev 0)
+++ trunk/blender/release/scripts/presets/ffmpeg/xvid.py 2010-03-13 00:17:52 UTC (rev 27462)
@@ -0,0 +1,16 @@
+is_ntsc = (bpy.context.scene.render.fps != 25)
+
+bpy.context.scene.render.ffmpeg_format = "AVI"
+bpy.context.scene.render.ffmpeg_codec = "XVID"
+
+if is_ntsc:
+ bpy.context.scene.render.ffmpeg_gopsize = 18
+else:
+ bpy.context.scene.render.ffmpeg_gopsize = 15
+
+bpy.context.scene.render.ffmpeg_video_bitrate = 6000
+bpy.context.scene.render.ffmpeg_maxrate = 9000
+bpy.context.scene.render.ffmpeg_minrate = 0
+bpy.context.scene.render.ffmpeg_buffersize = 224*8
+bpy.context.scene.render.ffmpeg_packetsize = 2048
+bpy.context.scene.render.ffmpeg_muxrate = 10080000
\ No newline at end of file
Modified: trunk/blender/release/scripts/ui/properties_render.py
===================================================================
--- trunk/blender/release/scripts/ui/properties_render.py 2010-03-13 00:14:36 UTC (rev 27461)
+++ trunk/blender/release/scripts/ui/properties_render.py 2010-03-13 00:17:52 UTC (rev 27462)
@@ -29,6 +29,13 @@
draw = bpy.types.Menu.draw_preset
+class RENDER_MT_ffmpeg_presets(bpy.types.Menu):
+ bl_label = "FFMPEG Presets"
+ preset_subdir = "ffmpeg"
+ preset_operator = "script.python_file_run"
+ draw = bpy.types.Menu.draw_preset
+
+
class RenderButtonsPanel(bpy.types.Panel):
bl_space_type = 'PROPERTIES'
bl_region_type = 'WINDOW'
@@ -379,6 +386,8 @@
rd = context.scene.render
wide_ui = context.region.width > narrowui
+ layout.menu("RENDER_MT_ffmpeg_presets", text="Presets")
+
split = layout.split()
col = split.column()
@@ -627,6 +636,7 @@
classes = [
RENDER_MT_presets,
+ RENDER_MT_ffmpeg_presets,
RENDER_PT_render,
RENDER_PT_layers,
RENDER_PT_dimensions,
Modified: trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c 2010-03-13 00:14:36 UTC (rev 27461)
+++ trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c 2010-03-13 00:17:52 UTC (rev 27462)
@@ -1242,7 +1242,8 @@
rd->ffcodecdata.video_bitrate <= 1) {
rd->ffcodecdata.codec = CODEC_ID_MPEG2VIDEO;
- ffmpeg_set_preset(rd, FFMPEG_PRESET_DVD);
+ /* Don't set preset, disturbs render resolution.
+ * ffmpeg_set_preset(rd, FFMPEG_PRESET_DVD); */
}
audio= 1;
Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c 2010-03-13 00:14:36 UTC (rev 27461)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c 2010-03-13 00:17:52 UTC (rev 27462)
@@ -132,7 +132,7 @@
{R_H264, "H264", ICON_FILE_MOVIE, "H.264", ""},
{R_XVID, "XVID", ICON_FILE_MOVIE, "Xvid", ""},
{R_THEORA, "THEORA", ICON_FILE_MOVIE, "Ogg Theora", ""},
- {R_FFMPEG, "FFMPEG", ICON_FILE_MOVIE, "FFMpeg", ""},
+ {R_FFMPEG, "FFMPEG", ICON_FILE_MOVIE, "MPEG", ""},
#endif
{R_FRAMESERVER, "FRAMESERVER", ICON_FILE_SCRIPT, "Frame Server", ""},
{0, NULL, 0, NULL, NULL}};
More information about the Bf-blender-cvs
mailing list