]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/cos_tablegen.c
lavf/qsvvpp: bypass vpp if not needed.
[ffmpeg] / libavcodec / cos_tablegen.c
index 5e52c482c66671b56175a17f5d78ee3966d5da1e..92b82953362fc2e3dd72a5e79e562792eadabc1f 100644 (file)
@@ -24,9 +24,6 @@
 #include <string.h>
 #include <math.h>
 
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
 #define BITS 16
 #define FLOATFMT "%.18e"
 #define FIXEDFMT "%6d"
@@ -40,11 +37,16 @@ static int clip_f15(int v)
 
 static void printval(double val, int fixed)
 {
-    if (fixed)
-        printf(" "FIXEDFMT",", clip_f15(lrint(val * (double)(1<<15))));
-    else
-        printf(" "FLOATFMT",", val);
+    if (fixed) {
+        /* lrint() isn't always available, so round and cast manually. */
+        double new_val = val * (double) (1 << 15);
+
+        new_val = new_val >= 0 ? floor(new_val + 0.5) : ceil(new_val - 0.5);
 
+        printf(" "FIXEDFMT",", clip_f15((long int) new_val));
+    } else {
+        printf(" "FLOATFMT",", val);
+    }
 }
 
 int main(int argc, char *argv[])
@@ -55,7 +57,7 @@ int main(int argc, char *argv[])
     double (*func)(double) = do_sin ? sin : cos;
 
     printf("/* This file was automatically generated. */\n");
-    printf("#define CONFIG_FFT_FLOAT %d\n", !fixed);
+    printf("#define FFT_FLOAT %d\n", !fixed);
     printf("#include \"libavcodec/%s\"\n", do_sin ? "rdft.h" : "fft.h");
     for (i = 4; i <= BITS; i++) {
         int m = 1 << i;