diff options
author | Aki <please@ignore.pl> | 2021-09-29 22:52:49 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2021-09-29 22:52:49 +0200 |
commit | 760f65d35df281b04d99843958623d99ab35dcaf (patch) | |
tree | 76f6f05695822256bbf8097fa0aa6b5d2a34369b /vorbis/test/util.c | |
parent | bdb934044a10bcccdea4ae5e9b067a2e764e0e7f (diff) | |
parent | 74f4b1bc3b627ba4c7e03498234d88cacdfbe97b (diff) | |
download | starshatter-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.c | 52 |
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 ; +} |