]> git.sesse.net Git - movit/blobdiff - fft_pass_effect.cpp
Make all fp16 routines work with fp32 as input instead of fp64, since that is what...
[movit] / fft_pass_effect.cpp
index 434ce22a79d7baf7877e61a0bb3b00bce3414421..b0006087cd2779282af2ec3750d5ba7761d084f5 100644 (file)
@@ -167,10 +167,10 @@ void FFTPassEffect::generate_support_texture()
                        support_texture_index = subfft_size - support_texture_index - 1;
                        sign = -1.0;
                }
-               tmp[support_texture_index * 4 + 0] = fp64_to_fp16(sign * (src1 - i * stride) / double(input_size));
-               tmp[support_texture_index * 4 + 1] = fp64_to_fp16(sign * (src2 - i * stride) / double(input_size));
-               tmp[support_texture_index * 4 + 2] = fp64_to_fp16(twiddle_real);
-               tmp[support_texture_index * 4 + 3] = fp64_to_fp16(twiddle_imag);
+               tmp[support_texture_index * 4 + 0] = fp32_to_fp16(sign * (src1 - i * stride) / double(input_size));
+               tmp[support_texture_index * 4 + 1] = fp32_to_fp16(sign * (src2 - i * stride) / double(input_size));
+               tmp[support_texture_index * 4 + 2] = fp32_to_fp16(twiddle_real);
+               tmp[support_texture_index * 4 + 3] = fp32_to_fp16(twiddle_imag);
        }
 
        // Supposedly FFTs are very sensitive to inaccuracies in the twiddle factors,