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