mirror of
https://github.com/xiph/opus.git
synced 2025-06-07 07:50:51 +00:00
fixed-point: overflow debugging now works again.
This commit is contained in:
parent
8600f69f79
commit
2aaa0fee93
3 changed files with 10 additions and 5 deletions
|
@ -61,12 +61,15 @@ struct kiss_fft_state{
|
|||
#define TRIG_UPSCALE 65536
|
||||
#define TWID_MAX 2147483647
|
||||
#endif
|
||||
#define EXT32(a) (a)
|
||||
|
||||
#else /* DOUBLE_PRECISION */
|
||||
|
||||
# define FRACBITS 15
|
||||
# define SAMPPROD celt_int32_t
|
||||
#define SAMP_MAX 32767
|
||||
#define TRIG_UPSCALE 1
|
||||
#define EXT32(a) EXTEND32(a)
|
||||
|
||||
#endif /* !DOUBLE_PRECISION */
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 2003 Jean-Marc Valin */
|
||||
/* Copyright (C) 2003-2008 Jean-Marc Valin */
|
||||
/**
|
||||
@file fixed_debug.h
|
||||
@brief Fixed-point operations with debugging
|
||||
|
@ -171,6 +171,8 @@ static inline int SHL32(long long a, int shift)
|
|||
#define SATURATE16(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
|
||||
#define SATURATE32(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
|
||||
|
||||
#define ROUND(x,a) (EXTRACT16(PSHR32((x),(a))))
|
||||
|
||||
//#define SHR(a,shift) ((a) >> (shift))
|
||||
//#define SHL(a,shift) ((a) << (shift))
|
||||
|
||||
|
|
|
@ -109,11 +109,11 @@ void kiss_fftr(kiss_fftr_cfg st,const kiss_fft_scalar *timedata,kiss_fft_scalar
|
|||
|
||||
for ( k=1;k <= ncfft/2 ; ++k )
|
||||
{
|
||||
f2k.r = SHR32(SUB32(EXTEND32(freqdata[2*k]), EXTEND32(freqdata[2*(ncfft-k)])),1);
|
||||
f2k.i = PSHR32(ADD32(EXTEND32(freqdata[2*k+1]), EXTEND32(freqdata[2*(ncfft-k)+1])),1);
|
||||
f2k.r = SHR32(SUB32(EXT32(freqdata[2*k]), EXT32(freqdata[2*(ncfft-k)])),1);
|
||||
f2k.i = PSHR32(ADD32(EXT32(freqdata[2*k+1]), EXT32(freqdata[2*(ncfft-k)+1])),1);
|
||||
|
||||
f1k.r = SHR32(ADD32(EXTEND32(freqdata[2*k]), EXTEND32(freqdata[2*(ncfft-k)])),1);
|
||||
f1k.i = SHR32(SUB32(EXTEND32(freqdata[2*k+1]), EXTEND32(freqdata[2*(ncfft-k)+1])),1);
|
||||
f1k.r = SHR32(ADD32(EXT32(freqdata[2*k]), EXT32(freqdata[2*(ncfft-k)])),1);
|
||||
f1k.i = SHR32(SUB32(EXT32(freqdata[2*k+1]), EXT32(freqdata[2*(ncfft-k)+1])),1);
|
||||
|
||||
C_MULC( tw , f2k , st->super_twiddles[k]);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue