Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <j.bakker@atmind.nl>2013-02-17 01:21:04 +0400
committerJeroen Bakker <j.bakker@atmind.nl>2013-02-17 01:21:04 +0400
commit772a3b1e1e536e88ca141b404eacc1fbecb73bbf (patch)
tree5c62b40488451f6b0b48c38313061e5ca78fca68 /source/blender/compositor
parent9cd01c6a5c68543ed40bfe33d5faa564006b0717 (diff)
Fix for [#34182] Movie Distortion and Bilateral Blur doesn't work together
* added area of interest based on a radius around the input tile. If someone can implement a correct formula (based on K1, K2 and K3) and send it to me, I will be happy to apply it! - At Mind -
Diffstat (limited to 'source/blender/compositor')
-rw-r--r--source/blender/compositor/operations/COM_MovieDistortionOperation.cpp13
-rw-r--r--source/blender/compositor/operations/COM_MovieDistortionOperation.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp b/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp
index 68a61dff801..cf379d91652 100644
--- a/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp
+++ b/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp
@@ -112,3 +112,16 @@ void MovieDistortionOperation::executePixel(float output[4], float x, float y, P
this->m_inputOperation->read(output, x, y, COM_PS_BILINEAR);
}
}
+
+bool MovieDistortionOperation::determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output)
+{
+ const int marginX = this->m_width*0.15;
+ const int marginY = this->m_height*0.15;
+
+ rcti newInput;
+ newInput.xmin = input->xmin - marginX;
+ newInput.ymin = input->ymin - marginY;
+ newInput.xmax = input->xmax + marginX;
+ newInput.ymax = input->ymax + marginY;
+ return NodeOperation::determineDependingAreaOfInterest(&newInput, readOperation, output);
+}
diff --git a/source/blender/compositor/operations/COM_MovieDistortionOperation.h b/source/blender/compositor/operations/COM_MovieDistortionOperation.h
index 9f8aa065e3e..4596fbd555b 100644
--- a/source/blender/compositor/operations/COM_MovieDistortionOperation.h
+++ b/source/blender/compositor/operations/COM_MovieDistortionOperation.h
@@ -162,6 +162,8 @@ public:
void setMovieClip(MovieClip *clip) { this->m_movieClip = clip; }
void setFramenumber(int framenumber) { this->m_framenumber = framenumber; }
+ bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output);
+
};
void deintializeDistortionCache(void);