Commit: ef109f9032e9f0d145a4f3b9d234a7022d9c0f83
Author: Dalai Felinto
Date:   Thu Nov 20 09:18:58 2014 -0200
Branches: multiview
https://developer.blender.org/rBef109f9032e9f0d145a4f3b9d234a7022d9c0f83

Sequencer: small refactoring of the multiview image rendering code

===================================================================

M       source/blender/blenkernel/intern/sequencer.c

===================================================================

diff --git a/source/blender/blenkernel/intern/sequencer.c 
b/source/blender/blenkernel/intern/sequencer.c
index 0900910..8128061 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -2888,19 +2888,27 @@ static ImBuf *do_render_strip_uncached(const 
SeqRenderData *context, Sequence *s
                                char *ext = NULL;
                                int i;
 
+                               if (totfiles > 1) {
+                                       
BKE_scene_view_get_prefix(context->scene, name, prefix, &ext);
+                                       if (prefix[0] == '\0') {
+                                               goto monoview;
+                                       }
+                               }
+
                                ibufs = MEM_callocN(sizeof(ImBuf *) * totviews, 
"Sequence Image Views Imbufs");
-                               BKE_scene_view_get_prefix(context->scene, name, 
prefix, &ext);
 
                                for (i = 0; i < totfiles; i++) {
-                                       const char *viewname = 
BKE_scene_render_view_name(&context->scene->r, i);
-                                       const char *suffix = 
BKE_scene_view_get_suffix(&context->scene->r, viewname);
-                                       char str[FILE_MAX] = {'\0'};
-
-                                       sprintf(str, "%s%s%s", prefix, suffix, 
ext);
+                                       if (prefix[0] != '\0') {
+                                               char str[FILE_MAX] = {'\0'};
+                                               const char *viewname = 
BKE_scene_render_view_name(&context->scene->r, i);
+                                               const char *suffix = 
BKE_scene_view_get_suffix(&context->scene->r, viewname);
+                                               sprintf(str, "%s%s%s", prefix, 
suffix, ext);
 
-                                       ibufs[i] = IMB_loadiffname(str, flag, 
seq->strip->colorspace_settings.name);
-                                       if (ibufs[i] == NULL)
+                                               ibufs[i] = IMB_loadiffname(str, 
flag, seq->strip->colorspace_settings.name);
+                                       }
+                                       else {
                                                ibufs[i] = 
IMB_loadiffname(name, flag, seq->strip->colorspace_settings.name);
+                                       }
 
                                        if (ibufs[i]) {
                                                /* we don't need both (speed 
reasons)! */
@@ -2940,6 +2948,7 @@ static ImBuf *do_render_strip_uncached(const 
SeqRenderData *context, Sequence *s
                                MEM_freeN(ibufs);
                        }
                        else {
+monoview:
                                if ((ibuf = IMB_loadiffname(name, flag, 
seq->strip->colorspace_settings.name))) {
                                        /* we don't need both (speed reasons)! 
*/
                                        if (ibuf->rect_float && ibuf->rect)

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to