Revision: 30081 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30081 Author: campbellbarton Date: 2010-07-07 17:06:57 +0200 (Wed, 07 Jul 2010)
Log Message: ----------- fix for numeric problems for color balance in the sequencer (same check as in compositor). for optimized builds this gave crazy colors. Modified Paths: -------------- trunk/blender/source/blender/blenkernel/intern/sequencer.c trunk/blender/source/blender/editors/space_sequencer/sequencer_draw.c Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c =================================================================== --- trunk/blender/source/blender/blenkernel/intern/sequencer.c 2010-07-07 14:52:55 UTC (rev 30080) +++ trunk/blender/source/blender/blenkernel/intern/sequencer.c 2010-07-07 15:06:57 UTC (rev 30081) @@ -1536,9 +1536,14 @@ } /* note: lift is actually 2-lift */ -MINLINE float color_balance_fl(float v, const float lift, const float gain, const float gamma, const float mul) +MINLINE float color_balance_fl(float in, const float lift, const float gain, const float gamma, const float mul) { - return powf((((v - 1.0f) * lift) + 1.0f) * gain, gamma) * mul; + float x= (((in - 1.0f) * lift) + 1.0f) * gain; + + /* prevent NaN */ + if (x < 0.f) x = 0.f; + + return powf(x, gamma) * mul; } static void make_cb_table_byte(float lift, float gain, float gamma, Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_draw.c =================================================================== --- trunk/blender/source/blender/editors/space_sequencer/sequencer_draw.c 2010-07-07 14:52:55 UTC (rev 30080) +++ trunk/blender/source/blender/editors/space_sequencer/sequencer_draw.c 2010-07-07 15:06:57 UTC (rev 30081) @@ -369,17 +369,17 @@ { float x1, x2, y1, y2, pixely, a; char col[3], blendcol[3]; - View2D *v2d; + View2D *v2d= &sseq->v2d; if(seq->type >= SEQ_EFFECT) return; + if(v2d->mask.ymax == v2d->mask.ymin) return; /* avoid divide by zero */ x1= seq->startdisp; x2= seq->enddisp; y1= seq->machine+SEQ_STRIP_OFSBOTTOM; y2= seq->machine+SEQ_STRIP_OFSTOP; - - v2d = &sseq->v2d; + pixely = (v2d->cur.ymax - v2d->cur.ymin)/(v2d->mask.ymax - v2d->mask.ymin); blendcol[0] = blendcol[1] = blendcol[2] = 120; _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs