allow different type arg at gamma_correct_(pixel|channel)