summaryrefslogtreecommitdiffhomepage
path: root/vorbis/test/util.c
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2021-09-29 22:52:49 +0200
committerAki <please@ignore.pl>2021-09-29 22:52:49 +0200
commit760f65d35df281b04d99843958623d99ab35dcaf (patch)
tree76f6f05695822256bbf8097fa0aa6b5d2a34369b /vorbis/test/util.c
parentbdb934044a10bcccdea4ae5e9b067a2e764e0e7f (diff)
parent74f4b1bc3b627ba4c7e03498234d88cacdfbe97b (diff)
downloadstarshatter-760f65d35df281b04d99843958623d99ab35dcaf.zip
starshatter-760f65d35df281b04d99843958623d99ab35dcaf.tar.gz
starshatter-760f65d35df281b04d99843958623d99ab35dcaf.tar.bz2
Merge commit '74f4b1bc3b627ba4c7e03498234d88cacdfbe97b' as 'vorbis'
Diffstat (limited to 'vorbis/test/util.c')
-rw-r--r--vorbis/test/util.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/vorbis/test/util.c b/vorbis/test/util.c
new file mode 100644
index 0000000..2ab7483
--- /dev/null
+++ b/vorbis/test/util.c
@@ -0,0 +1,52 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: utility functions for vorbis codec test suite.
+
+ ********************************************************************/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+#include <errno.h>
+
+#include <vorbis/codec.h>
+#include <vorbis/vorbisenc.h>
+
+#include "util.h"
+
+void
+gen_windowed_sine (float *data, int len, float maximum)
+{ int k ;
+
+ memset (data, 0, len * sizeof (float)) ;
+
+ len /= 2 ;
+
+ for (k = 0 ; k < len ; k++)
+ { data [k] = sin (2.0 * k * M_PI * 1.0 / 32.0 + 0.4) ;
+
+ /* Apply Hanning Window. */
+ data [k] *= maximum * (0.5 - 0.5 * cos (2.0 * M_PI * k / ((len) - 1))) ;
+ }
+
+ return ;
+}
+
+void
+set_data_in (float * data, unsigned len, float value)
+{ unsigned k ;
+
+ for (k = 0 ; k < len ; k++)
+ data [k] = value ;
+}