[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48232] trunk/blender/source/blender/ compositor/operations: Fixes for area of interest in keying nodes: no need to wait for the whole
Sergey Sharybin
sergey.vfx at gmail.com
Sun Jun 24 12:31:48 CEST 2012
Revision: 48232
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48232
Author: nazgul
Date: 2012-06-24 10:31:48 +0000 (Sun, 24 Jun 2012)
Log Message:
-----------
Fixes for area of interest in keying nodes: no need to wait for the whole
input image to be calculated in some cases, use only actual area which is
needed to calculate current tile.
Seems to be giving some % of speedup. Verified result of keying before
this patch and after this patch and they were identical, so hopefully
now area of interest is indeed correct.
Modified Paths:
--------------
trunk/blender/source/blender/compositor/operations/COM_KeyingBlurOperation.cpp
trunk/blender/source/blender/compositor/operations/COM_KeyingClipOperation.cpp
trunk/blender/source/blender/compositor/operations/COM_KeyingOperation.cpp
trunk/blender/source/blender/compositor/operations/COM_KeyingOperation.h
Modified: trunk/blender/source/blender/compositor/operations/COM_KeyingBlurOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_KeyingBlurOperation.cpp 2012-06-24 10:29:26 UTC (rev 48231)
+++ trunk/blender/source/blender/compositor/operations/COM_KeyingBlurOperation.cpp 2012-06-24 10:31:48 UTC (rev 48232)
@@ -79,10 +79,10 @@
{
rcti newInput;
- newInput.xmin = 0;
- newInput.ymin = 0;
- newInput.xmax = this->getWidth();
- newInput.ymax = this->getHeight();
+ newInput.xmin = input->xmin - this->size;
+ newInput.ymin = input->ymin - this->size;
+ newInput.xmax = input->xmax + this->size;
+ newInput.ymax = input->ymax + this->size;
return NodeOperation::determineDependingAreaOfInterest(&newInput, readOperation, output);
}
Modified: trunk/blender/source/blender/compositor/operations/COM_KeyingClipOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_KeyingClipOperation.cpp 2012-06-24 10:29:26 UTC (rev 48231)
+++ trunk/blender/source/blender/compositor/operations/COM_KeyingClipOperation.cpp 2012-06-24 10:31:48 UTC (rev 48232)
@@ -114,10 +114,10 @@
{
rcti newInput;
- newInput.xmin = 0;
- newInput.ymin = 0;
- newInput.xmax = this->getWidth();
- newInput.ymax = this->getHeight();
+ newInput.xmin = input->xmin - this->kernelRadius;
+ newInput.ymin = input->ymin - this->kernelRadius;
+ newInput.xmax = input->xmax + this->kernelRadius;
+ newInput.ymax = input->ymax + this->kernelRadius;
return NodeOperation::determineDependingAreaOfInterest(&newInput, readOperation, output);
}
Modified: trunk/blender/source/blender/compositor/operations/COM_KeyingOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_KeyingOperation.cpp 2012-06-24 10:29:26 UTC (rev 48231)
+++ trunk/blender/source/blender/compositor/operations/COM_KeyingOperation.cpp 2012-06-24 10:31:48 UTC (rev 48232)
@@ -136,15 +136,3 @@
/* apply core matte */
color[0] = MAX2(color[0], coreValue[0]);
}
-
-bool KeyingOperation::determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output)
-{
- rcti newInput;
-
- newInput.xmin = 0;
- newInput.ymin = 0;
- newInput.xmax = this->getWidth();
- newInput.ymax = this->getHeight();
-
- return NodeOperation::determineDependingAreaOfInterest(&newInput, readOperation, output);
-}
Modified: trunk/blender/source/blender/compositor/operations/COM_KeyingOperation.h
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_KeyingOperation.h 2012-06-24 10:29:26 UTC (rev 48231)
+++ trunk/blender/source/blender/compositor/operations/COM_KeyingOperation.h 2012-06-24 10:31:48 UTC (rev 48232)
@@ -52,8 +52,6 @@
void setScreenBalance(float value) {this->screenBalance = value;}
void executePixel(float *color, float x, float y, PixelSampler sampler, MemoryBuffer *inputBuffers[]);
-
- bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output);
};
#endif
More information about the Bf-blender-cvs
mailing list