[Bf-blender-cvs] [cebea62b477] blender-v3.4-release: Fix T102256: Gamma Cross blend mode causes stripes

Richard Antalik noreply at git.blender.org
Wed Nov 9 22:03:27 CET 2022


Commit: cebea62b4770295ae35d98e1e9e85a457bc05922
Author: Richard Antalik
Date:   Wed Nov 9 21:59:33 2022 +0100
Branches: blender-v3.4-release
https://developer.blender.org/rBcebea62b4770295ae35d98e1e9e85a457bc05922

Fix T102256: Gamma Cross blend mode causes stripes

Function `do_gammacross_effect_float` processed one color channel per
loop iteration instead of whole pixel.

===================================================================

M	source/blender/sequencer/intern/effects.c

===================================================================

diff --git a/source/blender/sequencer/intern/effects.c b/source/blender/sequencer/intern/effects.c
index 8469876ba25..6dd75031f3b 100644
--- a/source/blender/sequencer/intern/effects.c
+++ b/source/blender/sequencer/intern/effects.c
@@ -704,10 +704,13 @@ static void do_gammacross_effect_float(
 
   for (int i = 0; i < y; i++) {
     for (int j = 0; j < x; j++) {
-      *rt = gammaCorrect(mfac * invGammaCorrect(*rt1) + fac * invGammaCorrect(*rt2));
-      rt1++;
-      rt2++;
-      rt++;
+      rt[0] = gammaCorrect(mfac * invGammaCorrect(rt1[0]) + fac * invGammaCorrect(rt2[0]));
+      rt[1] = gammaCorrect(mfac * invGammaCorrect(rt1[1]) + fac * invGammaCorrect(rt2[1]));
+      rt[2] = gammaCorrect(mfac * invGammaCorrect(rt1[2]) + fac * invGammaCorrect(rt2[2]));
+      rt[3] = gammaCorrect(mfac * invGammaCorrect(rt1[3]) + fac * invGammaCorrect(rt2[3]));
+      rt1 += 4;
+      rt2+=4;
+      rt+=4;
     }
   }
 }



More information about the Bf-blender-cvs mailing list