I don't think I can use "::benchmark::DoNotOptimize(...)" here as the functions return void and DoNotOptimize forces the compiler to flush pending writes to memory.
Can you change inpImage/outImage to use C99 array parameter syntax?
I suggest to leave it as is for the moment. If we found a canonical approach, we can change this and the other benchmarks afterwards.
Could you add a comment that this is supposed keep the compiler to optimize the computation away?