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:
Michael Jerris 2009-02-21 19:12:38 +00:00
parent f4550d9e6e
commit 2c523830df
17 changed files with 578 additions and 538 deletions

View File

@ -16,7 +16,7 @@
## License along with this program; if not, write to the Free Software
## 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_LDFLAGS = $(COMP_VENDOR_LDFLAGS)
@ -26,34 +26,36 @@ MAINTAINERCLEANFILES = Makefile.in
EXTRA_DIST = floating_fudge.h \
spandsp/version.h.in \
libspandsp.dsp \
libspandsp.2008.sln \
libspandsp.2005.sln \
libspandsp.2008.vcproj \
libtiff.2008.vcproj \
libspandsp.2008.sln \
libspandsp.2005.vcproj \
libspandsp.2008.vcproj \
libtiff.2005.vcproj \
libtiff.2008.vcproj \
msvc/config.h \
msvc/Download_TIFF.2005.vcproj \
msvc/Download_TIFF.2008.vcproj \
msvc/getopt.c \
msvc/gettimeofday.c \
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.2008.vcproj \
msvc/make_modem_filter.2005.vcproj \
msvc/Download_TIFF.2008.vcproj \
msvc/Download_TIFF.2005.vcproj \
msvc/tiff/cleancout \
msvc/make_modem_filter.2008.vcproj \
msvc/spandsp.h \
msvc/unistd.h \
msvc/tgmath.h \
msvc/msvcproj.head \
msvc/msvcproj.foot \
msvc/util.vbs \
msvc/vc8proj.head \
msvc/vc8proj.foot \
msvc/vc9proj.head \
msvc/vc9proj.foot \
msvc/sys/time.h \
msvc/tiff/cleancount \
spandsp/private/README
INCLUDES = -I$(top_builddir)
lib_LTLIBRARIES = libspandsp.la
@ -461,7 +463,7 @@ $(VCPROJ9): msvc/vc9proj.head msvc/vc9proj.foot Makefile.am
for file in $(WIN32HEADERS); do \
echo "<File RelativePath=\""$$file"\"></File>" $(VCPROJOUT9); \
done; \
cat $(srcdir)/msvc/vc8proj.foot $(VCPROJOUT9) )
cat $(srcdir)/msvc/vc9proj.foot $(VCPROJOUT9) )
$(srcdir)/msvc/spandsp.h: spandsp.h.in
echo "creating $(srcdir)/msvc/spandsp.h"

View File

@ -22,7 +22,7 @@
* License along with this program; if not, write to the Free Software
* 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 */
@ -123,8 +123,8 @@ SPAN_DECLARE(void) cvec_lmsi16(const complexi16_t x[], complexi16_t y[], int n,
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].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].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) (((int32_t) x[i].re*(int32_t) error->im - (int32_t) x[i].im*(int32_t) error->re) >> 12);
}
}
/*- End of function --------------------------------------------------------*/

View File

@ -22,7 +22,7 @@
* License along with this program; if not, write to the Free Software
* 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 */
@ -309,8 +309,8 @@ SPAN_DECLARE(complexi16_t) dds_complexi16_mod(uint32_t *phase_acc, int32_t phase
{
complexi16_t amp;
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));
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));
*phase_acc += phase_rate;
return amp;
}

View File

@ -22,7 +22,7 @@
* License along with this program; if not, write to the Free Software
* 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 */
@ -200,7 +200,7 @@ static void v29_rx_status_handler(void *user_data, int status)
}
/*- 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)
{

View File

@ -28,7 +28,7 @@
* Computer Science, Speech Group
* 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 */
@ -214,7 +214,7 @@ static void block4(g722_band_t *s, int16_t dx)
/* UPPOL1 */
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);
wd3 = saturated_sub16(15360, ap[1]);
@ -223,9 +223,9 @@ static void block4(g722_band_t *s, int16_t dx)
/* FILTEP */
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 = (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);
s->r = r;
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--)
{
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);
wd3 = saturated_add16(s->d[i], s->d[i]);
sz += ((int32_t) s->b[i]*(int32_t) wd3) >> 15;

View File

@ -358,4 +358,14 @@
<File RelativePath="spandsp/private/v8.h"></File>
<File RelativePath="spandsp/expose.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>

View File

@ -68,7 +68,7 @@ static int32_t lpc10_random(lpc10_decode_state_t *s)
/* The following is a 16 bit 2's complement addition,
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];
if (--s->k < 0)
s->k = 4;

View File

@ -88,7 +88,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="$(TargetPath) &gt;$(SolutionDir)\at_interpreter_dictionary.h&#x0D;&#x0A;"
CommandLine="&quot;$(TargetPath)&quot; &gt;&quot;$(SolutionDir)\at_interpreter_dictionary.h&quot;&#x0D;&#x0A;"
/>
</Configuration>
</Configurations>

View File

@ -86,7 +86,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="$(TargetPath) &gt;$(SolutionDir)\at_interpreter_dictionary.h"
CommandLine="&quot;$(TargetPath)&quot; &gt;&quot;$(SolutionDir)\at_interpreter_dictionary.h&quot;"
/>
</Configuration>
</Configurations>

View File

@ -86,7 +86,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="$(TargetPath) -m V.17 -i -r &gt;$(SolutionDir)\v17rx_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.17 -r &gt;$(SolutionDir)\v17rx_floating_rrc.h&#x0D;&#x0A;&#x0D;&#x0A;$(TargetPath) -m V.17 -i -t &gt;$(SolutionDir)\v17tx_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.17 -t &gt;$(SolutionDir)\v17tx_floating_rrc.h&#x0D;&#x0A;&#x0D;&#x0A;$(TargetPath) -m V.22bis1200 -i -r &gt;$(SolutionDir)\v22bis_rx_1200_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.22bis2400 -i -r &gt;$(SolutionDir)\v22bis_rx_2400_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.22bis1200 -r &gt;$(SolutionDir)\v22bis_rx_1200_floating_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.22bis2400 -r &gt;$(SolutionDir)\v22bis_rx_2400_floating_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.22bis -i -t &gt;$(SolutionDir)\v22bis_tx_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.22bis -t &gt;$(SolutionDir)\v22bis_tx_floating_rrc.h&#x0D;&#x0A;&#x0D;&#x0A;$(TargetPath) -m V.27ter2400 -i -r &gt;$(SolutionDir)\v27ter_rx_2400_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.27ter4800 -i -r &gt;$(SolutionDir)\v27ter_rx_4800_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.27ter2400 -r &gt;$(SolutionDir)\v27ter_rx_2400_floating_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.27ter4800 -r &gt;$(SolutionDir)\v27ter_rx_4800_floating_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.27ter2400 -i -t &gt;$(SolutionDir)\v27ter_tx_2400_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.27ter4800 -i -t &gt;$(SolutionDir)\v27ter_tx_4800_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.27ter2400 -t &gt;$(SolutionDir)\v27ter_tx_2400_floating_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.27ter4800 -t &gt;$(SolutionDir)\v27ter_tx_4800_floating_rrc.h&#x0D;&#x0A;&#x0D;&#x0A;$(TargetPath) -m V.29 -i -r &gt;$(SolutionDir)\v29rx_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.29 -r &gt;$(SolutionDir)\v29rx_floating_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.29 -i -t &gt;$(SolutionDir)\v29tx_fixed_rrc.h&#x0D;&#x0A;$(TargetPath) -m V.29 -t &gt;$(SolutionDir)\v29tx_floating_rrc.h&#x0D;&#x0A;"
CommandLine="&quot;$(TargetPath)&quot; -m V.17 -i -r &gt;&quot;$(SolutionDir)\v17rx_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.17 -r &gt;&quot;$(SolutionDir)\v17rx_floating_rrc.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.17 -i -t &gt;&quot;$(SolutionDir)\v17tx_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.17 -t &gt;&quot;$(SolutionDir)\v17tx_floating_rrc.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.22bis1200 -i -r &gt;&quot;$(SolutionDir)\v22bis_rx_1200_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.22bis2400 -i -r &gt;&quot;$(SolutionDir)\v22bis_rx_2400_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.22bis1200 -r &gt;&quot;$(SolutionDir)\v22bis_rx_1200_floating_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.22bis2400 -r &gt;&quot;$(SolutionDir)\v22bis_rx_2400_floating_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.22bis -i -t &gt;&quot;$(SolutionDir)\v22bis_tx_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.22bis -t &gt;&quot;$(SolutionDir)\v22bis_tx_floating_rrc.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.27ter2400 -i -r &gt;&quot;$(SolutionDir)\v27ter_rx_2400_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.27ter4800 -i -r &gt;&quot;$(SolutionDir)\v27ter_rx_4800_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.27ter2400 -r &gt;&quot;$(SolutionDir)\v27ter_rx_2400_floating_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.27ter4800 -r &gt;&quot;$(SolutionDir)\v27ter_rx_4800_floating_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.27ter2400 -i -t &gt;&quot;$(SolutionDir)\v27ter_tx_2400_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.27ter4800 -i -t &gt;&quot;$(SolutionDir)\v27ter_tx_4800_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.27ter2400 -t &gt;&quot;$(SolutionDir)\v27ter_tx_2400_floating_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.27ter4800 -t &gt;&quot;$(SolutionDir)\v27ter_tx_4800_floating_rrc.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.29 -i -r &gt;&quot;$(SolutionDir)\v29rx_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.29 -r &gt;&quot;$(SolutionDir)\v29rx_floating_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.29 -i -t &gt;&quot;$(SolutionDir)\v29tx_fixed_rrc.h&quot;&#x0D;&#x0A;&quot;$(TargetPath)&quot; -m V.29 -t &gt;&quot;$(SolutionDir)\v29tx_floating_rrc.h&quot;&#x0D;&#x0A;"
/>
</Configuration>
</Configurations>

View File

@ -178,7 +178,7 @@ static int16_t decode(oki_adpcm_state_t *s, uint8_t adpcm)
e += (ss >> 1);
/*endif*/
if (adpcm & 0x04)
e = (int16_t)(e + ss);
e += ss;
/*endif*/
if (adpcm & 0x08)
e = -e;
@ -193,7 +193,7 @@ static int16_t decode(oki_adpcm_state_t *s, uint8_t adpcm)
/*endif*/
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)
s->step_index = 0;
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)
{
adpcm |= (uint8_t) 0x04;
e = (int16_t)(e - ss);
e -= ss;
}
/*endif*/
if (e >= (ss >> 1))
{
adpcm |= (uint8_t) 0x02;
e = (int16_t)(e - ss);
e -= ss;
}
/*endif*/
if (e >= (ss >> 2))

View File

@ -22,7 +22,7 @@
* License along with this program; if not, write to the Free Software
* 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 */
@ -343,8 +343,8 @@ static __inline__ complexi16_t complex_muli16(const complexi16_t *x, const compl
{
complexi16_t z;
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.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);
return z;
}
/*- End of function --------------------------------------------------------*/
@ -353,8 +353,8 @@ static __inline__ complexi16_t complex_mul_q1_15(const complexi16_t *x, const co
{
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.im = (int16_t)(((int32_t) x->re*(int32_t) y->im + (int32_t) x->im*(int32_t) y->re) >> 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);
return z;
}
/*- End of function --------------------------------------------------------*/

View File

@ -22,7 +22,7 @@
* License along with this program; if not, write to the Free Software
* 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_)
@ -231,7 +231,7 @@ extern "C"
}
#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.
* Therefore implement inline versions of these functions here.
@ -304,18 +304,34 @@ extern "C"
#elif defined(WIN64) || defined(_WIN64)
/* 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)
{
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)
{

View File

@ -30,8 +30,8 @@
/* The date and time of the version are in UTC form. */
#define SPANDSP_RELEASE_DATE 20090220
#define SPANDSP_RELEASE_TIME 124309
#define SPANDSP_RELEASE_DATE 20090221
#define SPANDSP_RELEASE_TIME 054406
#endif
/*- End of file ------------------------------------------------------------*/

View File

@ -24,7 +24,7 @@
* License along with this program; if not, write to the Free Software
* 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;
parm = 0;
TIFFGetField(t->tiff_file, TIFFTAG_IMAGEWIDTH, &parm);
if (s->image_width != (int)parm)
{
printf("Width changed\n");
if (s->image_width != (int) parm)
return 1;
}
x_resolution = 0.0f;
TIFFGetField(t->tiff_file, TIFFTAG_XRESOLUTION, &x_resolution);
y_resolution = 0.0f;
@ -431,20 +428,14 @@ printf("Width changed\n");
break;
}
if (s->x_resolution != x_res_table[i].code)
{
printf("X-res changed\n");
return 1;
}
for (i = 0; y_res_table[i].code > 0; i++)
{
if (test_resolution(res_unit, y_resolution, y_res_table[i].resolution))
break;
}
if (s->y_resolution != y_res_table[i].code)
{
printf("Y-res changed\n");
return 1;
}
return 0;
}
/*- End of function --------------------------------------------------------*/

View File

@ -22,7 +22,7 @@
* License along with this program; if not, write to the Free Software
* 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 */
@ -300,7 +300,7 @@ SPAN_DECLARE(void) vec_lmsi16(const int16_t x[], int16_t y[], int n, int16_t err
int 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 --------------------------------------------------------*/

View File

@ -17,10 +17,11 @@
# License along with this program; if not, write to the Free Software
# 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
MIXEDSIZES_TIF=../test-data/itu/fax/mixed_size_pages.tif
STDOUT_DEST=xyzzy
STDERR_DEST=xyzzy2
@ -181,6 +182,7 @@ echo dtmf_tx_tests completed OK
#echo echo_tests completed OK
echo echo_tests not enabled
#Try the ITU test pages without ECM
rm -f fax_tests_1.tif
./fax_tests >$STDOUT_DEST 2>$STDERR_DEST
RETVAL=$?
@ -198,6 +200,7 @@ then
echo fax_tests failed!
exit $RETVAL
fi
#Try the ITU test pages with ECM
rm -f fax_tests_1.tif
./fax_tests -e >$STDOUT_DEST 2>$STDERR_DEST
RETVAL=$?
@ -215,6 +218,24 @@ then
echo fax_tests -e failed!
exit $RETVAL
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
./fsk_tests >$STDOUT_DEST 2>$STDERR_DEST