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:
Diffstat (limited to 'source/blender/nodes/intern/CMP_util.c')
-rw-r--r--source/blender/nodes/intern/CMP_util.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/nodes/intern/CMP_util.c b/source/blender/nodes/intern/CMP_util.c
index 78025f4d964..a763f34a644 100644
--- a/source/blender/nodes/intern/CMP_util.c
+++ b/source/blender/nodes/intern/CMP_util.c
@@ -132,7 +132,7 @@ void compbuf_set_node(CompBuf *cbuf, bNode *node)
if (cbuf) cbuf->node = node;
}
-/* used for disabling node (similar code in drawnode.c for disable line) */
+/* used for disabling node (similar code in node_draw.c for disable line and node_edit for untangling nodes) */
void node_compo_pass_on(bNode *node, bNodeStack **nsin, bNodeStack **nsout)
{
CompBuf *valbuf= NULL, *colbuf= NULL, *vecbuf= NULL;
@@ -1320,6 +1320,12 @@ void IIR_gauss(CompBuf* src, float sigma, int chan, int xy)
if ((xy < 1) || (xy > 3)) xy = 3;
+ // XXX The YVV macro defined below explicitely expects sources of at least 3x3 pixels,
+ // so just skiping blur along faulty direction if src's def is below that limit!
+ if (src->x < 3) xy &= ~(int) 1;
+ if (src->y < 3) xy &= ~(int) 2;
+ if (xy < 1) return;
+
// see "Recursive Gabor Filtering" by Young/VanVliet
// all factors here in double.prec. Required, because for single.prec it seems to blow up if sigma > ~200
if (sigma >= 3.556)