mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-05-08 00:33:20 +00:00
update to snapshot spandsp-20090221
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12217 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
f4550d9e6e
commit
2c523830df
@ -16,7 +16,7 @@
|
|||||||
## License along with this program; if not, write to the Free Software
|
## License along with this program; if not, write to the Free Software
|
||||||
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
##
|
##
|
||||||
## $Id: Makefile.am,v 1.124 2009/02/14 15:21:14 steveu Exp $
|
## $Id: Makefile.am,v 1.126 2009/02/21 05:39:08 steveu Exp $
|
||||||
|
|
||||||
AM_CFLAGS = $(COMP_VENDOR_CFLAGS)
|
AM_CFLAGS = $(COMP_VENDOR_CFLAGS)
|
||||||
AM_LDFLAGS = $(COMP_VENDOR_LDFLAGS)
|
AM_LDFLAGS = $(COMP_VENDOR_LDFLAGS)
|
||||||
@ -26,34 +26,36 @@ MAINTAINERCLEANFILES = Makefile.in
|
|||||||
EXTRA_DIST = floating_fudge.h \
|
EXTRA_DIST = floating_fudge.h \
|
||||||
spandsp/version.h.in \
|
spandsp/version.h.in \
|
||||||
libspandsp.dsp \
|
libspandsp.dsp \
|
||||||
libspandsp.2008.sln \
|
|
||||||
libspandsp.2005.sln \
|
libspandsp.2005.sln \
|
||||||
libspandsp.2008.vcproj \
|
libspandsp.2008.sln \
|
||||||
libtiff.2008.vcproj \
|
|
||||||
libspandsp.2005.vcproj \
|
libspandsp.2005.vcproj \
|
||||||
|
libspandsp.2008.vcproj \
|
||||||
libtiff.2005.vcproj \
|
libtiff.2005.vcproj \
|
||||||
|
libtiff.2008.vcproj \
|
||||||
msvc/config.h \
|
msvc/config.h \
|
||||||
|
msvc/Download_TIFF.2005.vcproj \
|
||||||
|
msvc/Download_TIFF.2008.vcproj \
|
||||||
msvc/getopt.c \
|
msvc/getopt.c \
|
||||||
msvc/gettimeofday.c \
|
msvc/gettimeofday.c \
|
||||||
msvc/inttypes.h \
|
msvc/inttypes.h \
|
||||||
msvc/tgmath.h \
|
|
||||||
msvc/unistd.h \
|
|
||||||
msvc/spandsp.h \
|
|
||||||
msvc/sys/time.h \
|
|
||||||
msvc/make_at_dictionary.2008.vcproj \
|
|
||||||
msvc/make_modem_filter.2008.vcproj \
|
|
||||||
msvc/make_at_dictionary.2005.vcproj \
|
msvc/make_at_dictionary.2005.vcproj \
|
||||||
|
msvc/make_at_dictionary.2008.vcproj \
|
||||||
msvc/make_modem_filter.2005.vcproj \
|
msvc/make_modem_filter.2005.vcproj \
|
||||||
msvc/Download_TIFF.2008.vcproj \
|
msvc/make_modem_filter.2008.vcproj \
|
||||||
msvc/Download_TIFF.2005.vcproj \
|
msvc/spandsp.h \
|
||||||
msvc/tiff/cleancout \
|
msvc/unistd.h \
|
||||||
|
msvc/tgmath.h \
|
||||||
msvc/msvcproj.head \
|
msvc/msvcproj.head \
|
||||||
msvc/msvcproj.foot \
|
msvc/msvcproj.foot \
|
||||||
|
msvc/util.vbs \
|
||||||
msvc/vc8proj.head \
|
msvc/vc8proj.head \
|
||||||
msvc/vc8proj.foot \
|
msvc/vc8proj.foot \
|
||||||
msvc/vc9proj.head \
|
msvc/vc9proj.head \
|
||||||
msvc/vc9proj.foot \
|
msvc/vc9proj.foot \
|
||||||
|
msvc/sys/time.h \
|
||||||
|
msvc/tiff/cleancount \
|
||||||
spandsp/private/README
|
spandsp/private/README
|
||||||
|
|
||||||
INCLUDES = -I$(top_builddir)
|
INCLUDES = -I$(top_builddir)
|
||||||
|
|
||||||
lib_LTLIBRARIES = libspandsp.la
|
lib_LTLIBRARIES = libspandsp.la
|
||||||
@ -461,7 +463,7 @@ $(VCPROJ9): msvc/vc9proj.head msvc/vc9proj.foot Makefile.am
|
|||||||
for file in $(WIN32HEADERS); do \
|
for file in $(WIN32HEADERS); do \
|
||||||
echo "<File RelativePath=\""$$file"\"></File>" $(VCPROJOUT9); \
|
echo "<File RelativePath=\""$$file"\"></File>" $(VCPROJOUT9); \
|
||||||
done; \
|
done; \
|
||||||
cat $(srcdir)/msvc/vc8proj.foot $(VCPROJOUT9) )
|
cat $(srcdir)/msvc/vc9proj.foot $(VCPROJOUT9) )
|
||||||
|
|
||||||
$(srcdir)/msvc/spandsp.h: spandsp.h.in
|
$(srcdir)/msvc/spandsp.h: spandsp.h.in
|
||||||
echo "creating $(srcdir)/msvc/spandsp.h"
|
echo "creating $(srcdir)/msvc/spandsp.h"
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
* License along with this program; if not, write to the Free Software
|
* License along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Id: complex_vector_int.c,v 1.7 2009/02/03 16:28:39 steveu Exp $
|
* $Id: complex_vector_int.c,v 1.8 2009/02/21 04:27:46 steveu Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
@ -123,8 +123,8 @@ SPAN_DECLARE(void) cvec_lmsi16(const complexi16_t x[], complexi16_t y[], int n,
|
|||||||
|
|
||||||
for (i = 0; i < n; i++)
|
for (i = 0; i < n; i++)
|
||||||
{
|
{
|
||||||
y[i].re = (int16_t)(y[i].re + (((int32_t) x[i].im*(int32_t) error->im + (int32_t) x[i].re*(int32_t) error->re) >> 12));
|
y[i].re += (int16_t) (((int32_t) x[i].im*(int32_t) error->im + (int32_t) x[i].re*(int32_t) error->re) >> 12);
|
||||||
y[i].im = (int16_t)(y[i].im + (((int32_t) x[i].re*(int32_t) error->im - (int32_t) x[i].im*(int32_t) error->re) >> 12));
|
y[i].im += (int16_t) (((int32_t) x[i].re*(int32_t) error->im - (int32_t) x[i].im*(int32_t) error->re) >> 12);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*- End of function --------------------------------------------------------*/
|
/*- End of function --------------------------------------------------------*/
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
* License along with this program; if not, write to the Free Software
|
* License along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Id: dds_int.c,v 1.15 2009/02/03 16:28:39 steveu Exp $
|
* $Id: dds_int.c,v 1.16 2009/02/21 04:27:46 steveu Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
@ -309,8 +309,8 @@ SPAN_DECLARE(complexi16_t) dds_complexi16_mod(uint32_t *phase_acc, int32_t phase
|
|||||||
{
|
{
|
||||||
complexi16_t amp;
|
complexi16_t amp;
|
||||||
|
|
||||||
amp = complex_seti16((int16_t)(((int32_t) dds_lookup(*phase_acc + phase + (1 << 30))*(int32_t) scale) >> 15),
|
amp = complex_seti16((int16_t) (((int32_t) dds_lookup(*phase_acc + phase + (1 << 30))*(int32_t) scale) >> 15),
|
||||||
(int16_t)(((int32_t) dds_lookup(*phase_acc + phase)*(int32_t) scale) >> 15));
|
(int16_t) (((int32_t) dds_lookup(*phase_acc + phase)*(int32_t) scale) >> 15));
|
||||||
*phase_acc += phase_rate;
|
*phase_acc += phase_rate;
|
||||||
return amp;
|
return amp;
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
* License along with this program; if not, write to the Free Software
|
* License along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Id: fax_modems.c,v 1.2 2009/02/16 09:57:22 steveu Exp $
|
* $Id: fax_modems.c,v 1.3 2009/02/21 04:27:46 steveu Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
@ -200,7 +200,7 @@ static void v29_rx_status_handler(void *user_data, int status)
|
|||||||
}
|
}
|
||||||
/*- End of function --------------------------------------------------------*/
|
/*- End of function --------------------------------------------------------*/
|
||||||
|
|
||||||
void start_fax_modems_rx_modem(fax_modems_state_t *s, int which)
|
SPAN_DECLARE(void) start_fax_modems_rx_modem(fax_modems_state_t *s, int which)
|
||||||
{
|
{
|
||||||
switch (which)
|
switch (which)
|
||||||
{
|
{
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
* Computer Science, Speech Group
|
* Computer Science, Speech Group
|
||||||
* Chengxiang Lu and Alex Hauptmann
|
* Chengxiang Lu and Alex Hauptmann
|
||||||
*
|
*
|
||||||
* $Id: g722.c,v 1.8 2009/02/10 13:06:46 steveu Exp $
|
* $Id: g722.c,v 1.9 2009/02/21 04:27:46 steveu Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
@ -214,7 +214,7 @@ static void block4(g722_band_t *s, int16_t dx)
|
|||||||
|
|
||||||
/* UPPOL1 */
|
/* UPPOL1 */
|
||||||
wd1 = ((p ^ s->p[0]) & 0x8000) ? -192 : 192;
|
wd1 = ((p ^ s->p[0]) & 0x8000) ? -192 : 192;
|
||||||
wd2 = (int16_t)(((int32_t) s->a[0]*(int32_t) 32640) >> 15);
|
wd2 = (int16_t) (((int32_t) s->a[0]*(int32_t) 32640) >> 15);
|
||||||
ap[0] = saturated_add16(wd1, wd2);
|
ap[0] = saturated_add16(wd1, wd2);
|
||||||
|
|
||||||
wd3 = saturated_sub16(15360, ap[1]);
|
wd3 = saturated_sub16(15360, ap[1]);
|
||||||
@ -223,9 +223,9 @@ static void block4(g722_band_t *s, int16_t dx)
|
|||||||
|
|
||||||
/* FILTEP */
|
/* FILTEP */
|
||||||
wd1 = saturated_add16(r, r);
|
wd1 = saturated_add16(r, r);
|
||||||
wd1 = (int16_t)(((int32_t) ap[0]*(int32_t) wd1) >> 15);
|
wd1 = (int16_t) (((int32_t) ap[0]*(int32_t) wd1) >> 15);
|
||||||
wd2 = saturated_add16(s->r, s->r);
|
wd2 = saturated_add16(s->r, s->r);
|
||||||
wd2 = (int16_t)(((int32_t) ap[1]*(int32_t) wd2) >> 15);
|
wd2 = (int16_t) (((int32_t) ap[1]*(int32_t) wd2) >> 15);
|
||||||
sp = saturated_add16(wd1, wd2);
|
sp = saturated_add16(wd1, wd2);
|
||||||
s->r = r;
|
s->r = r;
|
||||||
s->a[1] = ap[1];
|
s->a[1] = ap[1];
|
||||||
@ -242,7 +242,7 @@ static void block4(g722_band_t *s, int16_t dx)
|
|||||||
for (i = 5; i >= 0; i--)
|
for (i = 5; i >= 0; i--)
|
||||||
{
|
{
|
||||||
wd2 = ((s->d[i + 1] ^ dx) & 0x8000) ? -wd1 : wd1;
|
wd2 = ((s->d[i + 1] ^ dx) & 0x8000) ? -wd1 : wd1;
|
||||||
wd3 = (int16_t)(((int32_t) s->b[i]*(int32_t) 32640) >> 15);
|
wd3 = (int16_t) (((int32_t) s->b[i]*(int32_t) 32640) >> 15);
|
||||||
s->b[i] = saturated_add16(wd2, wd3);
|
s->b[i] = saturated_add16(wd2, wd3);
|
||||||
wd3 = saturated_add16(s->d[i], s->d[i]);
|
wd3 = saturated_add16(s->d[i], s->d[i]);
|
||||||
sz += ((int32_t) s->b[i]*(int32_t) wd3) >> 15;
|
sz += ((int32_t) s->b[i]*(int32_t) wd3) >> 15;
|
||||||
|
@ -358,4 +358,14 @@
|
|||||||
<File RelativePath="spandsp/private/v8.h"></File>
|
<File RelativePath="spandsp/private/v8.h"></File>
|
||||||
<File RelativePath="spandsp/expose.h"></File>
|
<File RelativePath="spandsp/expose.h"></File>
|
||||||
<File RelativePath="spandsp.h"></File>
|
<File RelativePath="spandsp.h"></File>
|
||||||
</Filter> <Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" > </Filter> </Files> <Globals> </Globals></VisualStudioProject>
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||||
|
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
||||||
|
@ -68,7 +68,7 @@ static int32_t lpc10_random(lpc10_decode_state_t *s)
|
|||||||
|
|
||||||
/* The following is a 16 bit 2's complement addition,
|
/* The following is a 16 bit 2's complement addition,
|
||||||
with overflow checking disabled */
|
with overflow checking disabled */
|
||||||
s->y[s->k] = (int16_t)(s->y[s->k] + s->y[s->j]);
|
s->y[s->k] += s->y[s->j];
|
||||||
ret_val = s->y[s->k];
|
ret_val = s->y[s->k];
|
||||||
if (--s->k < 0)
|
if (--s->k < 0)
|
||||||
s->k = 4;
|
s->k = 4;
|
||||||
|
@ -88,7 +88,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
CommandLine="$(TargetPath) >$(SolutionDir)\at_interpreter_dictionary.h
"
|
CommandLine=""$(TargetPath)" >"$(SolutionDir)\at_interpreter_dictionary.h"
"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
CommandLine="$(TargetPath) >$(SolutionDir)\at_interpreter_dictionary.h"
|
CommandLine=""$(TargetPath)" >"$(SolutionDir)\at_interpreter_dictionary.h""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
CommandLine="$(TargetPath) -m V.17 -i -r >$(SolutionDir)\v17rx_fixed_rrc.h
$(TargetPath) -m V.17 -r >$(SolutionDir)\v17rx_floating_rrc.h

$(TargetPath) -m V.17 -i -t >$(SolutionDir)\v17tx_fixed_rrc.h
$(TargetPath) -m V.17 -t >$(SolutionDir)\v17tx_floating_rrc.h

$(TargetPath) -m V.22bis1200 -i -r >$(SolutionDir)\v22bis_rx_1200_fixed_rrc.h
$(TargetPath) -m V.22bis2400 -i -r >$(SolutionDir)\v22bis_rx_2400_fixed_rrc.h
$(TargetPath) -m V.22bis1200 -r >$(SolutionDir)\v22bis_rx_1200_floating_rrc.h
$(TargetPath) -m V.22bis2400 -r >$(SolutionDir)\v22bis_rx_2400_floating_rrc.h
$(TargetPath) -m V.22bis -i -t >$(SolutionDir)\v22bis_tx_fixed_rrc.h
$(TargetPath) -m V.22bis -t >$(SolutionDir)\v22bis_tx_floating_rrc.h

$(TargetPath) -m V.27ter2400 -i -r >$(SolutionDir)\v27ter_rx_2400_fixed_rrc.h
$(TargetPath) -m V.27ter4800 -i -r >$(SolutionDir)\v27ter_rx_4800_fixed_rrc.h
$(TargetPath) -m V.27ter2400 -r >$(SolutionDir)\v27ter_rx_2400_floating_rrc.h
$(TargetPath) -m V.27ter4800 -r >$(SolutionDir)\v27ter_rx_4800_floating_rrc.h
$(TargetPath) -m V.27ter2400 -i -t >$(SolutionDir)\v27ter_tx_2400_fixed_rrc.h
$(TargetPath) -m V.27ter4800 -i -t >$(SolutionDir)\v27ter_tx_4800_fixed_rrc.h
$(TargetPath) -m V.27ter2400 -t >$(SolutionDir)\v27ter_tx_2400_floating_rrc.h
$(TargetPath) -m V.27ter4800 -t >$(SolutionDir)\v27ter_tx_4800_floating_rrc.h

$(TargetPath) -m V.29 -i -r >$(SolutionDir)\v29rx_fixed_rrc.h
$(TargetPath) -m V.29 -r >$(SolutionDir)\v29rx_floating_rrc.h
$(TargetPath) -m V.29 -i -t >$(SolutionDir)\v29tx_fixed_rrc.h
$(TargetPath) -m V.29 -t >$(SolutionDir)\v29tx_floating_rrc.h
"
|
CommandLine=""$(TargetPath)" -m V.17 -i -r >"$(SolutionDir)\v17rx_fixed_rrc.h"
"$(TargetPath)" -m V.17 -r >"$(SolutionDir)\v17rx_floating_rrc.h"

"$(TargetPath)" -m V.17 -i -t >"$(SolutionDir)\v17tx_fixed_rrc.h"
"$(TargetPath)" -m V.17 -t >"$(SolutionDir)\v17tx_floating_rrc.h"

"$(TargetPath)" -m V.22bis1200 -i -r >"$(SolutionDir)\v22bis_rx_1200_fixed_rrc.h"
"$(TargetPath)" -m V.22bis2400 -i -r >"$(SolutionDir)\v22bis_rx_2400_fixed_rrc.h"
"$(TargetPath)" -m V.22bis1200 -r >"$(SolutionDir)\v22bis_rx_1200_floating_rrc.h"
"$(TargetPath)" -m V.22bis2400 -r >"$(SolutionDir)\v22bis_rx_2400_floating_rrc.h"
"$(TargetPath)" -m V.22bis -i -t >"$(SolutionDir)\v22bis_tx_fixed_rrc.h"
"$(TargetPath)" -m V.22bis -t >"$(SolutionDir)\v22bis_tx_floating_rrc.h"

"$(TargetPath)" -m V.27ter2400 -i -r >"$(SolutionDir)\v27ter_rx_2400_fixed_rrc.h"
"$(TargetPath)" -m V.27ter4800 -i -r >"$(SolutionDir)\v27ter_rx_4800_fixed_rrc.h"
"$(TargetPath)" -m V.27ter2400 -r >"$(SolutionDir)\v27ter_rx_2400_floating_rrc.h"
"$(TargetPath)" -m V.27ter4800 -r >"$(SolutionDir)\v27ter_rx_4800_floating_rrc.h"
"$(TargetPath)" -m V.27ter2400 -i -t >"$(SolutionDir)\v27ter_tx_2400_fixed_rrc.h"
"$(TargetPath)" -m V.27ter4800 -i -t >"$(SolutionDir)\v27ter_tx_4800_fixed_rrc.h"
"$(TargetPath)" -m V.27ter2400 -t >"$(SolutionDir)\v27ter_tx_2400_floating_rrc.h"
"$(TargetPath)" -m V.27ter4800 -t >"$(SolutionDir)\v27ter_tx_4800_floating_rrc.h"

"$(TargetPath)" -m V.29 -i -r >"$(SolutionDir)\v29rx_fixed_rrc.h"
"$(TargetPath)" -m V.29 -r >"$(SolutionDir)\v29rx_floating_rrc.h"
"$(TargetPath)" -m V.29 -i -t >"$(SolutionDir)\v29tx_fixed_rrc.h"
"$(TargetPath)" -m V.29 -t >"$(SolutionDir)\v29tx_floating_rrc.h"
"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
|
@ -178,7 +178,7 @@ static int16_t decode(oki_adpcm_state_t *s, uint8_t adpcm)
|
|||||||
e += (ss >> 1);
|
e += (ss >> 1);
|
||||||
/*endif*/
|
/*endif*/
|
||||||
if (adpcm & 0x04)
|
if (adpcm & 0x04)
|
||||||
e = (int16_t)(e + ss);
|
e += ss;
|
||||||
/*endif*/
|
/*endif*/
|
||||||
if (adpcm & 0x08)
|
if (adpcm & 0x08)
|
||||||
e = -e;
|
e = -e;
|
||||||
@ -193,7 +193,7 @@ static int16_t decode(oki_adpcm_state_t *s, uint8_t adpcm)
|
|||||||
/*endif*/
|
/*endif*/
|
||||||
|
|
||||||
s->last = linear;
|
s->last = linear;
|
||||||
s->step_index = (int16_t)(s->step_index + step_adjustment[adpcm & 0x07]);
|
s->step_index += step_adjustment[adpcm & 0x07];
|
||||||
if (s->step_index < 0)
|
if (s->step_index < 0)
|
||||||
s->step_index = 0;
|
s->step_index = 0;
|
||||||
else if (s->step_index > 48)
|
else if (s->step_index > 48)
|
||||||
@ -222,13 +222,13 @@ static uint8_t encode(oki_adpcm_state_t *s, int16_t linear)
|
|||||||
if (e >= ss)
|
if (e >= ss)
|
||||||
{
|
{
|
||||||
adpcm |= (uint8_t) 0x04;
|
adpcm |= (uint8_t) 0x04;
|
||||||
e = (int16_t)(e - ss);
|
e -= ss;
|
||||||
}
|
}
|
||||||
/*endif*/
|
/*endif*/
|
||||||
if (e >= (ss >> 1))
|
if (e >= (ss >> 1))
|
||||||
{
|
{
|
||||||
adpcm |= (uint8_t) 0x02;
|
adpcm |= (uint8_t) 0x02;
|
||||||
e = (int16_t)(e - ss);
|
e -= ss;
|
||||||
}
|
}
|
||||||
/*endif*/
|
/*endif*/
|
||||||
if (e >= (ss >> 2))
|
if (e >= (ss >> 2))
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
* License along with this program; if not, write to the Free Software
|
* License along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Id: complex.h,v 1.19 2009/02/10 17:16:57 steveu Exp $
|
* $Id: complex.h,v 1.20 2009/02/21 05:39:08 steveu Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
@ -343,8 +343,8 @@ static __inline__ complexi16_t complex_muli16(const complexi16_t *x, const compl
|
|||||||
{
|
{
|
||||||
complexi16_t z;
|
complexi16_t z;
|
||||||
|
|
||||||
z.re = (int16_t)((int32_t) x->re*(int32_t) y->re - (int32_t) x->im*(int32_t) y->im);
|
z.re = (int16_t) ((int32_t) x->re*(int32_t) y->re - (int32_t) x->im*(int32_t) y->im);
|
||||||
z.im = (int16_t)((int32_t) x->re*(int32_t) y->im + (int32_t) x->im*(int32_t) y->re);
|
z.im = (int16_t) ((int32_t) x->re*(int32_t) y->im + (int32_t) x->im*(int32_t) y->re);
|
||||||
return z;
|
return z;
|
||||||
}
|
}
|
||||||
/*- End of function --------------------------------------------------------*/
|
/*- End of function --------------------------------------------------------*/
|
||||||
@ -353,8 +353,8 @@ static __inline__ complexi16_t complex_mul_q1_15(const complexi16_t *x, const co
|
|||||||
{
|
{
|
||||||
complexi16_t z;
|
complexi16_t z;
|
||||||
|
|
||||||
z.re = (int16_t)(((int32_t) x->re*(int32_t) y->re - (int32_t) x->im*(int32_t) y->im) >> 15);
|
z.re = (int16_t) (((int32_t) x->re*(int32_t) y->re - (int32_t) x->im*(int32_t) y->im) >> 15);
|
||||||
z.im = (int16_t)(((int32_t) x->re*(int32_t) y->im + (int32_t) x->im*(int32_t) y->re) >> 15);
|
z.im = (int16_t) (((int32_t) x->re*(int32_t) y->im + (int32_t) x->im*(int32_t) y->re) >> 15);
|
||||||
return z;
|
return z;
|
||||||
}
|
}
|
||||||
/*- End of function --------------------------------------------------------*/
|
/*- End of function --------------------------------------------------------*/
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
* License along with this program; if not, write to the Free Software
|
* License along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Id: fast_convert.h,v 1.3 2009/02/10 13:06:47 steveu Exp $
|
* $Id: fast_convert.h,v 1.4 2009/02/21 05:39:09 steveu Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if !defined(_SPANDSP_FAST_CONVERT_H_)
|
#if !defined(_SPANDSP_FAST_CONVERT_H_)
|
||||||
@ -231,7 +231,7 @@ extern "C"
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#elif (defined(WIN32) || defined(_WIN32)) && !defined(_WIN64)
|
#elif (defined(WIN32) || defined(_WIN32)) && !defined(_WIN64)
|
||||||
/*
|
/*
|
||||||
* Win32 doesn't seem to have the lrint() and lrintf() functions.
|
* Win32 doesn't seem to have the lrint() and lrintf() functions.
|
||||||
* Therefore implement inline versions of these functions here.
|
* Therefore implement inline versions of these functions here.
|
||||||
@ -304,18 +304,34 @@ extern "C"
|
|||||||
#elif defined(WIN64) || defined(_WIN64)
|
#elif defined(WIN64) || defined(_WIN64)
|
||||||
/* x86_64 machines will do best with a simple assignment. */
|
/* x86_64 machines will do best with a simple assignment. */
|
||||||
|
|
||||||
|
__inline long int lrint(double x)
|
||||||
|
{
|
||||||
|
long int i;
|
||||||
|
|
||||||
|
_asm
|
||||||
|
{
|
||||||
|
fld x
|
||||||
|
fistp i
|
||||||
|
};
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
__inline long int lrintf(float x)
|
||||||
|
{
|
||||||
|
long int i;
|
||||||
|
|
||||||
|
_asm
|
||||||
|
{
|
||||||
|
fld x
|
||||||
|
fistp i
|
||||||
|
};
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
__inline long int lfastrint(double x)
|
__inline long int lfastrint(double x)
|
||||||
{
|
{
|
||||||
return (long int) (x);
|
return (long int) (x);
|
||||||
}
|
}
|
||||||
__inline__ long int lrint(double x)
|
|
||||||
{
|
|
||||||
return (long int) (x);
|
|
||||||
}
|
|
||||||
__inline__ long int lrintf(float x)
|
|
||||||
{
|
|
||||||
return (long int) (x);
|
|
||||||
}
|
|
||||||
|
|
||||||
__inline long int lfastrintf(float x)
|
__inline long int lfastrintf(float x)
|
||||||
{
|
{
|
||||||
|
@ -30,8 +30,8 @@
|
|||||||
|
|
||||||
/* The date and time of the version are in UTC form. */
|
/* The date and time of the version are in UTC form. */
|
||||||
|
|
||||||
#define SPANDSP_RELEASE_DATE 20090220
|
#define SPANDSP_RELEASE_DATE 20090221
|
||||||
#define SPANDSP_RELEASE_TIME 124309
|
#define SPANDSP_RELEASE_TIME 054406
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
/*- End of file ------------------------------------------------------------*/
|
/*- End of file ------------------------------------------------------------*/
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
* License along with this program; if not, write to the Free Software
|
* License along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Id: t4.c,v 1.126 2009/02/20 12:34:20 steveu Exp $
|
* $Id: t4.c,v 1.127 2009/02/21 04:27:46 steveu Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -410,11 +410,8 @@ static int test_tiff_directory_info(t4_state_t *s)
|
|||||||
return -1;
|
return -1;
|
||||||
parm = 0;
|
parm = 0;
|
||||||
TIFFGetField(t->tiff_file, TIFFTAG_IMAGEWIDTH, &parm);
|
TIFFGetField(t->tiff_file, TIFFTAG_IMAGEWIDTH, &parm);
|
||||||
if (s->image_width != (int)parm)
|
if (s->image_width != (int) parm)
|
||||||
{
|
|
||||||
printf("Width changed\n");
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
|
||||||
x_resolution = 0.0f;
|
x_resolution = 0.0f;
|
||||||
TIFFGetField(t->tiff_file, TIFFTAG_XRESOLUTION, &x_resolution);
|
TIFFGetField(t->tiff_file, TIFFTAG_XRESOLUTION, &x_resolution);
|
||||||
y_resolution = 0.0f;
|
y_resolution = 0.0f;
|
||||||
@ -431,20 +428,14 @@ printf("Width changed\n");
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (s->x_resolution != x_res_table[i].code)
|
if (s->x_resolution != x_res_table[i].code)
|
||||||
{
|
|
||||||
printf("X-res changed\n");
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
|
||||||
for (i = 0; y_res_table[i].code > 0; i++)
|
for (i = 0; y_res_table[i].code > 0; i++)
|
||||||
{
|
{
|
||||||
if (test_resolution(res_unit, y_resolution, y_res_table[i].resolution))
|
if (test_resolution(res_unit, y_resolution, y_res_table[i].resolution))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (s->y_resolution != y_res_table[i].code)
|
if (s->y_resolution != y_res_table[i].code)
|
||||||
{
|
|
||||||
printf("Y-res changed\n");
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/*- End of function --------------------------------------------------------*/
|
/*- End of function --------------------------------------------------------*/
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
* License along with this program; if not, write to the Free Software
|
* License along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Id: vector_int.c,v 1.24 2009/02/03 16:28:40 steveu Exp $
|
* $Id: vector_int.c,v 1.25 2009/02/21 04:27:46 steveu Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
@ -300,7 +300,7 @@ SPAN_DECLARE(void) vec_lmsi16(const int16_t x[], int16_t y[], int n, int16_t err
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < n; i++)
|
for (i = 0; i < n; i++)
|
||||||
y[i] = (int16_t) (y[i] + (((int32_t) x[i]*(int32_t) error) >> 15));
|
y[i] += (int16_t) (((int32_t) x[i]*(int32_t) error) >> 15);
|
||||||
}
|
}
|
||||||
/*- End of function --------------------------------------------------------*/
|
/*- End of function --------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -17,10 +17,11 @@
|
|||||||
# License along with this program; if not, write to the Free Software
|
# License along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
# $Id: regression_tests.sh,v 1.54 2009/01/12 17:20:59 steveu Exp $
|
# $Id: regression_tests.sh,v 1.55 2009/02/20 14:04:40 steveu Exp $
|
||||||
#
|
#
|
||||||
|
|
||||||
ITUTESTS_TIF=../test-data/itu/fax/itutests.tif
|
ITUTESTS_TIF=../test-data/itu/fax/itutests.tif
|
||||||
|
MIXEDSIZES_TIF=../test-data/itu/fax/mixed_size_pages.tif
|
||||||
STDOUT_DEST=xyzzy
|
STDOUT_DEST=xyzzy
|
||||||
STDERR_DEST=xyzzy2
|
STDERR_DEST=xyzzy2
|
||||||
|
|
||||||
@ -181,6 +182,7 @@ echo dtmf_tx_tests completed OK
|
|||||||
#echo echo_tests completed OK
|
#echo echo_tests completed OK
|
||||||
echo echo_tests not enabled
|
echo echo_tests not enabled
|
||||||
|
|
||||||
|
#Try the ITU test pages without ECM
|
||||||
rm -f fax_tests_1.tif
|
rm -f fax_tests_1.tif
|
||||||
./fax_tests >$STDOUT_DEST 2>$STDERR_DEST
|
./fax_tests >$STDOUT_DEST 2>$STDERR_DEST
|
||||||
RETVAL=$?
|
RETVAL=$?
|
||||||
@ -198,6 +200,7 @@ then
|
|||||||
echo fax_tests failed!
|
echo fax_tests failed!
|
||||||
exit $RETVAL
|
exit $RETVAL
|
||||||
fi
|
fi
|
||||||
|
#Try the ITU test pages with ECM
|
||||||
rm -f fax_tests_1.tif
|
rm -f fax_tests_1.tif
|
||||||
./fax_tests -e >$STDOUT_DEST 2>$STDERR_DEST
|
./fax_tests -e >$STDOUT_DEST 2>$STDERR_DEST
|
||||||
RETVAL=$?
|
RETVAL=$?
|
||||||
@ -215,6 +218,24 @@ then
|
|||||||
echo fax_tests -e failed!
|
echo fax_tests -e failed!
|
||||||
exit $RETVAL
|
exit $RETVAL
|
||||||
fi
|
fi
|
||||||
|
#Try some mixed sized test pages without ECM
|
||||||
|
rm -f fax_tests_1.tif
|
||||||
|
./fax_tests -i ${MIXEDSIZES_TIF} >$STDOUT_DEST 2>$STDERR_DEST
|
||||||
|
RETVAL=$?
|
||||||
|
if [ $RETVAL != 0 ]
|
||||||
|
then
|
||||||
|
echo fax_tests failed!
|
||||||
|
exit $RETVAL
|
||||||
|
fi
|
||||||
|
# Now use tiffcmp to check the results. It will return non-zero if any page images differ. The -t
|
||||||
|
# option means the normal differences in tags will be ignored.
|
||||||
|
tiffcmp -t ${MIXEDSIZES_TIF} fax_tests_1.tif >/dev/null
|
||||||
|
RETVAL=$?
|
||||||
|
if [ $RETVAL != 0 ]
|
||||||
|
then
|
||||||
|
echo fax_tests failed!
|
||||||
|
exit $RETVAL
|
||||||
|
fi
|
||||||
echo fax_tests completed OK
|
echo fax_tests completed OK
|
||||||
|
|
||||||
./fsk_tests >$STDOUT_DEST 2>$STDERR_DEST
|
./fsk_tests >$STDOUT_DEST 2>$STDERR_DEST
|
||||||
|
Loading…
x
Reference in New Issue
Block a user