[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44177] trunk/blender/source/blender/ blenkernel/intern/sequencer.c: Build proxy from meta and image strips used resolution used for display,

Sergey Sharybin sergey.vfx at gmail.com
Fri Feb 17 08:32:29 CET 2012


Revision: 44177
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44177
Author:   nazgul
Date:     2012-02-17 07:32:18 +0000 (Fri, 17 Feb 2012)
Log Message:
-----------
Build proxy from meta and image strips used resolution used for display,
not set by building job which leads to unusable proxies.

This change should resolve issues reported in #30229: Sequencer Meta strip Proxy Fails
and probably #30196 will work nicer too.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/sequencer.c

Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c	2012-02-17 06:59:32 UTC (rev 44176)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c	2012-02-17 07:32:18 UTC (rev 44177)
@@ -1192,11 +1192,10 @@
 }
 
 
-static int seq_proxy_get_fname(SeqRenderData context, Sequence * seq, int cfra, char * name)
+static int seq_proxy_get_fname(Sequence * seq, int cfra, int render_size, char * name)
 {
 	int frameno;
 	char dir[PROXY_MAXFILE];
-	int render_size = context.preview_render_size;
 
 	if (!seq->strip->proxy) {
 		return FALSE;
@@ -1226,22 +1225,17 @@
 		return TRUE;
 	}
 
-	/* dirty hack to distinguish 100% render size from PROXY_100 */
-	if (render_size == 99) {
-		render_size = 100;
-	}
-
 	/* generate a separate proxy directory for each preview size */
 
 	if (seq->type == SEQ_IMAGE) {
 		BLI_snprintf(name, PROXY_MAXFILE, "%s/images/%d/%s_proxy", dir,
-		             context.preview_render_size,
+		             render_size,
 		             give_stripelem(seq, cfra)->name);
 		frameno = 1;
 	} else {
 		frameno = (int) give_stripelem_index(seq, cfra) + seq->anim_startofs;
 		BLI_snprintf(name, PROXY_MAXFILE, "%s/proxy_misc/%d/####", dir, 
-		             context.preview_render_size);
+		             render_size);
 	}
 
 	BLI_path_abs(name, G.main->name);
@@ -1258,7 +1252,13 @@
 	IMB_Proxy_Size psize = seq_rendersize_to_proxysize(
 		context.preview_render_size);
 	int size_flags;
+	int render_size = context.preview_render_size;
 
+	/* dirty hack to distinguish 100% render size from PROXY_100 */
+	if (render_size == 99) {
+		render_size = 100;
+	}
+
 	if (!(seq->flag & SEQ_USE_PROXY)) {
 		return NULL;
 	}
@@ -1273,7 +1273,7 @@
 	if (seq->flag & SEQ_USE_PROXY_CUSTOM_FILE) {
 		int frameno = (int) give_stripelem_index(seq, cfra) + seq->anim_startofs;
 		if (seq->strip->proxy->anim == NULL) {
-			if (seq_proxy_get_fname(context, seq, cfra, name)==0) {
+			if (seq_proxy_get_fname(seq, cfra, render_size, name)==0) {
 				return NULL;
 			}
  
@@ -1292,7 +1292,7 @@
 					 IMB_TC_NONE, IMB_PROXY_NONE);
 	}
  
-	if (seq_proxy_get_fname(context, seq, cfra, name) == 0) {
+	if (seq_proxy_get_fname(seq, cfra, render_size, name) == 0) {
 		return NULL;
 	}
 
@@ -1313,7 +1313,7 @@
 	int ok;
 	struct ImBuf * ibuf;
 
-	if (!seq_proxy_get_fname(context, seq, cfra, name)) {
+	if (!seq_proxy_get_fname(seq, cfra, proxy_render_size, name)) {
 		return;
 	}
 




More information about the Bf-blender-cvs mailing list