libsndfile: update to 1.0.19 (LBSNDF-7)

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0186
http://www.mega-nerd.com/libsndfile/libsndfile-1.0.19.tar.gz

This will likely require a fresh boostrap to updated source checkouts.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13415 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris
2009-05-21 21:09:30 +00:00
parent d875d23de5
commit 77fab7603a
252 changed files with 28081 additions and 6032 deletions

View File

@@ -1,5 +1,5 @@
/*
** Copyright (C) 1999-2005 Erik de Castro Lopo <erikd@mega-nerd.com>
** Copyright (C) 1999-2009 Erik de Castro Lopo <erikd@mega-nerd.com>
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
@@ -32,8 +32,6 @@
#include "dft_cmp.h"
#include "utils.h"
#include "float_cast.h"
#define SAMPLE_RATE 16000
static void float_scaled_test (const char *filename, int allow_exit, int replace_float, int filetype, double target_snr) ;
@@ -50,9 +48,11 @@ static void double_int_big_test (const char * filename) ;
static double double_data [DFT_DATA_LENGTH] ;
static double test_data [DFT_DATA_LENGTH] ;
static double double_test [DFT_DATA_LENGTH] ;
static float float_data [DFT_DATA_LENGTH] ;
static float float_test [DFT_DATA_LENGTH] ;
static double double_data [DFT_DATA_LENGTH] ;
static short short_data [DFT_DATA_LENGTH] ;
static int int_data [DFT_DATA_LENGTH] ;
@@ -110,10 +110,12 @@ main (int argc, char *argv [])
float_scaled_test ("pcm_16.sds", allow_exit, SF_FALSE, SF_FORMAT_SDS | SF_FORMAT_PCM_16, -140.0) ;
float_scaled_test ("pcm_24.sds", allow_exit, SF_FALSE, SF_FORMAT_SDS | SF_FORMAT_PCM_24, -170.0) ;
#ifdef HAVE_FLAC_ALL_H
#if HAVE_EXTERNAL_LIBS
float_scaled_test ("flac_8.flac", allow_exit, SF_FALSE, SF_FORMAT_FLAC | SF_FORMAT_PCM_S8, -39.0) ;
float_scaled_test ("flac_16.flac", allow_exit, SF_FALSE, SF_FORMAT_FLAC | SF_FORMAT_PCM_16, -87.0) ;
float_scaled_test ("flac_24.flac", allow_exit, SF_FALSE, SF_FORMAT_FLAC | SF_FORMAT_PCM_24, -138.0) ;
float_scaled_test ("vorbis.oga", allow_exit, SF_FALSE, SF_FORMAT_OGG | SF_FORMAT_VORBIS, -31.0) ;
#endif
float_scaled_test ("replace_float.raw", allow_exit, SF_TRUE, SF_ENDIAN_LITTLE | SF_FORMAT_RAW | SF_FORMAT_FLOAT, -163.0) ;
@@ -160,10 +162,12 @@ main (int argc, char *argv [])
double_scaled_test ("pcm_16.sds", allow_exit, SF_FALSE, SF_FORMAT_SDS | SF_FORMAT_PCM_16, -140.0) ;
double_scaled_test ("pcm_24.sds", allow_exit, SF_FALSE, SF_FORMAT_SDS | SF_FORMAT_PCM_24, -180.0) ;
#ifdef HAVE_FLAC_ALL_H
#if HAVE_EXTERNAL_LIBS
double_scaled_test ("flac_8.flac", allow_exit, SF_FALSE, SF_FORMAT_FLAC | SF_FORMAT_PCM_S8, -39.0) ;
double_scaled_test ("flac_16.flac", allow_exit, SF_FALSE, SF_FORMAT_FLAC | SF_FORMAT_PCM_16, -87.0) ;
double_scaled_test ("flac_24.flac", allow_exit, SF_FALSE, SF_FORMAT_FLAC | SF_FORMAT_PCM_24, -138.0) ;
double_scaled_test ("vorbis.oga", allow_exit, SF_FALSE, SF_FORMAT_OGG | SF_FORMAT_VORBIS, -29.0) ;
#endif
double_scaled_test ("replace_double.raw", allow_exit, SF_TRUE, SF_FORMAT_RAW | SF_FORMAT_DOUBLE, -300.0) ;
@@ -189,20 +193,13 @@ main (int argc, char *argv [])
static void
float_scaled_test (const char *filename, int allow_exit, int replace_float, int filetype, double target_snr)
{ static float float_orig [DFT_DATA_LENGTH] ;
static float float_test [DFT_DATA_LENGTH] ;
SNDFILE *file ;
{ SNDFILE *file ;
SF_INFO sfinfo ;
int k ;
double snr ;
print_test_name ("float_scaled_test", filename) ;
gen_windowed_sine_double (double_data, DFT_DATA_LENGTH, 1.0) ;
for (k = 0 ; k < DFT_DATA_LENGTH ; k++)
float_orig [k] = double_data [k] ;
gen_windowed_sine_float (float_data, DFT_DATA_LENGTH, 1.0) ;
sfinfo.samplerate = SAMPLE_RATE ;
sfinfo.frames = DFT_DATA_LENGTH ;
@@ -212,7 +209,7 @@ float_scaled_test (const char *filename, int allow_exit, int replace_float, int
file = test_open_file_or_die (filename, SFM_WRITE, &sfinfo, SF_TRUE, __LINE__) ;
sf_command (file, SFC_TEST_IEEE_FLOAT_REPLACE, NULL, replace_float) ;
test_write_float_or_die (file, 0, float_orig, DFT_DATA_LENGTH, __LINE__) ;
test_write_float_or_die (file, 0, float_data, DFT_DATA_LENGTH, __LINE__) ;
sf_close (file) ;
@@ -231,10 +228,7 @@ float_scaled_test (const char *filename, int allow_exit, int replace_float, int
sf_close (file) ;
for (k = 0 ; k < DFT_DATA_LENGTH ; k++)
test_data [k] = float_test [k] ;
snr = dft_cmp (__LINE__, double_data, test_data, DFT_DATA_LENGTH, target_snr, allow_exit) ;
snr = dft_cmp_float (__LINE__, float_data, float_test, DFT_DATA_LENGTH, target_snr, allow_exit) ;
exit_if_true (snr > target_snr, "% 6.1fdB SNR\n\n Error : should be better than % 6.1fdB\n\n", snr, target_snr) ;
@@ -267,7 +261,7 @@ double_scaled_test (const char *filename, int allow_exit, int replace_float, int
sf_close (file) ;
memset (test_data, 0, sizeof (test_data)) ;
memset (double_test, 0, sizeof (double_test)) ;
file = test_open_file_or_die (filename, SFM_READ, &sfinfo, SF_TRUE, __LINE__) ;
sf_command (file, SFC_TEST_IEEE_FLOAT_REPLACE, NULL, replace_float) ;
@@ -278,11 +272,11 @@ double_scaled_test (const char *filename, int allow_exit, int replace_float, int
check_log_buffer_or_die (file, __LINE__) ;
test_read_double_or_die (file, 0, test_data, DFT_DATA_LENGTH, __LINE__) ;
test_read_double_or_die (file, 0, double_test, DFT_DATA_LENGTH, __LINE__) ;
sf_close (file) ;
snr = dft_cmp (__LINE__, double_data, test_data, DFT_DATA_LENGTH, target_snr, allow_exit) ;
snr = dft_cmp_double (__LINE__, double_data, double_test, DFT_DATA_LENGTH, target_snr, allow_exit) ;
exit_if_true (snr > target_snr, "% 6.1fdB SNR\n\n Error : should be better than % 6.1fdB\n\n", snr, target_snr) ;
@@ -335,7 +329,7 @@ float_short_little_test (const char * filename)
max = 0 ;
for (k = 0 ; k < ARRAY_LEN (short_data) ; k++)
if (abs (short_data [k]) > max)
if ((unsigned) abs (short_data [k]) > max)
max = abs (short_data [k]) ;
if (1.0 * abs (max - 0x7FFF) / 0x7FFF > 0.01)
@@ -385,7 +379,7 @@ float_short_big_test (const char * filename)
max = 0 ;
for (k = 0 ; k < ARRAY_LEN (short_data) ; k++)
if (abs (short_data [k]) > max)
if ((unsigned) abs (short_data [k]) > max)
max = abs (short_data [k]) ;
if (1.0 * abs (max - 0x7FFF) / 0x7FFF > 0.01)
@@ -435,7 +429,7 @@ float_int_little_test (const char * filename)
max = 0 ;
for (k = 0 ; k < ARRAY_LEN (int_data) ; k++)
if (abs (int_data [k]) > max)
if ((unsigned) abs (int_data [k]) > max)
max = abs (int_data [k]) ;
if (1.0 * abs (max - 0x7FFFFFFF) / 0x7FFFFFFF > 0.01)
@@ -485,7 +479,7 @@ float_int_big_test (const char * filename)
max = 0 ;
for (k = 0 ; k < ARRAY_LEN (int_data) ; k++)
if (abs (int_data [k]) > max)
if ((unsigned) abs (int_data [k]) > max)
max = abs (int_data [k]) ;
if (1.0 * abs (max - 0x7FFFFFFF) / 0x7FFFFFFF > 0.01)
@@ -535,7 +529,7 @@ double_short_little_test (const char * filename)
max = 0 ;
for (k = 0 ; k < ARRAY_LEN (short_data) ; k++)
if (abs (short_data [k]) > max)
if ((unsigned) abs (short_data [k]) > max)
max = abs (short_data [k]) ;
if (1.0 * abs (max - 0x7FFF) / 0x7FFF > 0.01)
@@ -585,7 +579,7 @@ double_short_big_test (const char * filename)
max = 0 ;
for (k = 0 ; k < ARRAY_LEN (short_data) ; k++)
if (abs (short_data [k]) > max)
if ((unsigned) abs (short_data [k]) > max)
max = abs (short_data [k]) ;
if (1.0 * abs (max - 0x7FFF) / 0x7FFF > 0.01)
@@ -635,7 +629,7 @@ double_int_little_test (const char * filename)
max = 0 ;
for (k = 0 ; k < ARRAY_LEN (int_data) ; k++)
if (abs (int_data [k]) > max)
if ((unsigned) abs (int_data [k]) > max)
max = abs (int_data [k]) ;
if (1.0 * abs (max - 0x7FFFFFFF) / 0x7FFFFFFF > 0.01)
@@ -685,7 +679,7 @@ double_int_big_test (const char * filename)
max = 0 ;
for (k = 0 ; k < ARRAY_LEN (int_data) ; k++)
if (abs (int_data [k]) > max)
if ((unsigned) abs (int_data [k]) > max)
max = abs (int_data [k]) ;
if (1.0 * abs (max - 0x7FFFFFFF) / 0x7FFFFFFF > 0.01)
@@ -698,4 +692,3 @@ double_int_big_test (const char * filename)
} /* double_int_big_test */