Did you read the Wiki FAQ on Darkening in Place
. The same caution listed there applies to gamma correction. I do not suggest using In-Place modifications as design method as it will induce quantization and you will get some strange effects. Further, due to only a few "NeoMethods" actually use a secondary buffer, there is no translation exposed as it would causing orphan functionality for others and make porting between them imposible.
The design model I suggest is that pixel values are calculated and applied. Not knowing what your source or what you put into the strip I can't suggest an exact plan; but in general, look at the animation support for some samples on how to do this.