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/cb_search_bfin.h

    r278 r628  
    6262            "LOOP_END inner%=;\n\t" 
    6363            "R0 = A0;\n\t" 
    64             "R0 >>>= 11;\n\t" 
     64            "R0 >>>= 13;\n\t" 
    6565            "A1 += R0.L*R0.L (IS);\n\t" 
    6666            "W[P3++] = R0;\n\t" 
     
    7373         : 
    7474      : "m" (subvect_size), "m" (shape_cb), "m" (r), "m" (resp), "m" (E) 
    75       : "A0", "P0", "P1", "P2", "P3", "P4", "R0", "R1", "R2", "I0", "I1", "L0", "L1", "A0", "A1", "memory" 
     75      : "A0", "P0", "P1", "P2", "P3", "P4", "R0", "R1", "R2", "I0", "I1", "L0",  
     76        "L1", "A0", "A1", "memory", "LC0", "LC1" 
    7677      ); 
    7778      shape_cb += subvect_size; 
     
    8485static inline void target_update(spx_word16_t *t, spx_word16_t g, spx_word16_t *r, int len) 
    8586{ 
     87   if (!len) 
     88      return; 
    8689   __asm__ __volatile__ 
    8790         ( 
     
    9093         "L0 = 0;\n\t" 
    9194         "L1 = 0;\n\t" 
     95         "R2 = 4096;\n\t" 
    9296         "LOOP tupdate%= LC0 = %3;\n\t" 
    9397         "LOOP_BEGIN tupdate%=;\n\t" 
    9498            "R0.L = W[I0] || R1.L = W[I1++];\n\t" 
    9599            "R1 = (A1 = R1.L*%2.L) (IS);\n\t" 
    96             "R1 >>>= 11;\n\t" 
     100            "R1 = R1 + R2;\n\t" 
     101            "R1 >>>= 13;\n\t" 
    97102            "R0.L = R0.L - R1.L;\n\t" 
    98103            "W[I0++] = R0.L;\n\t" 
     
    100105   : 
    101106   : "a" (t), "a" (r), "d" (g), "a" (len) 
    102    : "R0", "R1", "A1", "I0", "I1", "L0", "L1" 
     107   : "R0", "R1", "R2", "A1", "I0", "I1", "L0", "L1" 
    103108         ); 
    104109} 
    105  
Note: See TracChangeset for help on using the changeset viewer.