Ignore:
Timestamp:
Jul 26, 2006 5:04:54 PM (18 years ago)
Author:
bennylp
Message:
  • Bring speex codec up to date with their SVN trunk
  • Speex codec should work in FIXED_POINT mode when PJ_HAS_FLOATING_POINT is set to zero.
  • ulaw2linear will return zero if zero is given (this would make the VAD works better, and it also fixed click noise when call is established/hangup).
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia-codec/speex/fixed_debug.h

    r278 r628  
    4141#define MIPS_INC spx_mips++, 
    4242 
    43 #define QCONST16(x,bits) ((spx_word16_t)((x)*(1<<(bits))+(1<<((bits)-1)))) 
    44 #define QCONST32(x,bits) ((spx_word32_t)((x)*(1<<(bits))+(1<<((bits)-1)))) 
     43#define QCONST16(x,bits) ((spx_word16_t)(.5+(x)*(((spx_word32_t)1)<<(bits)))) 
     44#define QCONST32(x,bits) ((spx_word32_t)(.5+(x)*(((spx_word32_t)1)<<(bits)))) 
     45 
    4546 
    4647#define VERIFY_SHORT(x) ((x)<=32767&&(x)>=-32768) 
     
    170171   res = a+b; 
    171172   if (!VERIFY_SHORT(res)) 
    172       fprintf (stderr, "ADD16: output is not short: %d\n", res); 
     173      fprintf (stderr, "ADD16: output is not short: %d+%d=%d\n", a,b,res); 
    173174   spx_mips++; 
    174175   return res; 
     
    197198   res = a+b; 
    198199   if (!VERIFY_INT(res)) 
     200   { 
    199201      fprintf (stderr, "ADD32: output is not int: %d\n", (int)res); 
     202   } 
    200203   spx_mips++; 
    201204   return res; 
     
    252255#define MAC16_16_Q11(c,a,b)     (ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),11)))) 
    253256#define MAC16_16_Q13(c,a,b)     (ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),13)))) 
     257#define MAC16_16_P13(c,a,b)     (ADD32((c),SHR(ADD32(4096,MULT16_16((a),(b))),13))) 
     258 
    254259 
    255260static inline int MULT16_32_QX(int a, long long b, int Q) 
     
    438443   return res; 
    439444} 
    440  
    441  
     445#define PDIV32(a,b) DIV32(ADD32((a),(b)>>1),b) 
     446#define PDIV32_16(a,b) DIV32_16(ADD32((a),(b)>>1),b) 
    442447 
    443448#endif 
Note: See TracChangeset for help on using the changeset viewer.