Ignore:
Timestamp:
Apr 18, 2009 2:29:28 PM (15 years ago)
Author:
bennylp
Message:

More ticket #774: optimization for siren7/siren14 codecs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/third_party/g7221/common/stl-files/basop32.h

    r2601 r2616  
    3434 
    3535#define MAX_16 (Word16)0x7fff 
    36 #define MIN_16 (Word16)0x8000 
     36#define MIN_16 ((Word16)0x8000) 
    3737 
    3838#define UMAX_32 (Word32)0xffffffffL 
     
    4545*/ 
    4646 
    47 Word16 add (Word16 var1, Word16 var2);    /* Short add,           1   */ 
    48 Word16 sub (Word16 var1, Word16 var2);    /* Short sub,           1   */ 
    49 Word16 abs_s (Word16 var1);               /* Short abs,           1   */ 
     47PJ_INLINE(Word16) add (Word16 var1, Word16 var2);    /* Short add,           1   */ 
     48PJ_INLINE(Word16) sub (Word16 var1, Word16 var2);    /* Short sub,           1   */ 
     49PJ_INLINE(Word16) abs_s (Word16 var1);               /* Short abs,           1   */ 
    5050Word16 shl (Word16 var1, Word16 var2);    /* Short shift left,    1   */ 
     51PJ_INLINE(Word16) shl_nocheck(Word16 var1, Word16 var2); 
    5152Word16 shr (Word16 var1, Word16 var2);    /* Short shift right,   1   */ 
     53PJ_INLINE(Word16) shr_nocheck(Word16 var1, Word16 var2); 
    5254Word16 mult (Word16 var1, Word16 var2);   /* Short mult,          1   */ 
    53 Word32 L_mult (Word16 var1, Word16 var2); /* Long mult,           1   */ 
    54 Word16 negate (Word16 var1);              /* Short negate,        1   */ 
    55 Word16 extract_h (Word32 L_var1);         /* Extract high,        1   */ 
    56 Word16 extract_l (Word32 L_var1);         /* Extract low,         1   */ 
    57 Word16 itu_round (Word32 L_var1);         /* Round,               1   */ 
    58 Word32 L_mac (Word32 L_var3, Word16 var1, Word16 var2);   /* Mac,  1  */ 
     55PJ_INLINE(Word32) L_mult (Word16 var1, Word16 var2); /* Long mult,           1   */ 
     56PJ_INLINE(Word16) negate (Word16 var1);              /* Short negate,        1   */ 
     57PJ_INLINE(Word16) extract_h (Word32 L_var1);         /* Extract high,        1   */ 
     58PJ_INLINE(Word16) extract_l (Word32 L_var1);         /* Extract low,         1   */ 
     59PJ_INLINE(Word16) itu_round (Word32 L_var1);         /* Round,               1   */ 
     60PJ_INLINE(Word32) L_mac (Word32 L_var3, Word16 var1, Word16 var2);   /* Mac,  1  */ 
    5961Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2);   /* Msu,  1  */ 
    6062Word32 L_macNs (Word32 L_var3, Word16 var1, Word16 var2); /* Mac without 
     
    6264Word32 L_msuNs (Word32 L_var3, Word16 var1, Word16 var2); /* Msu without 
    6365                                                             sat, 1   */ 
    64 Word32 L_add (Word32 L_var1, Word32 L_var2);    /* Long add,        2 */ 
    65 Word32 L_sub (Word32 L_var1, Word32 L_var2);    /* Long sub,        2 */ 
     66//PJ_INLINE(Word32) L_add (Word32 L_var1, Word32 L_var2);    /* Long add,        2 */ 
     67PJ_INLINE(Word32) L_sub (Word32 L_var1, Word32 L_var2);    /* Long sub,        2 */ 
    6668Word32 L_add_c (Word32 L_var1, Word32 L_var2);  /* Long add with c, 2 */ 
    6769Word32 L_sub_c (Word32 L_var1, Word32 L_var2);  /* Long sub with c, 2 */ 
    6870Word32 L_negate (Word32 L_var1);                /* Long negate,     2 */ 
    6971Word16 mult_r (Word16 var1, Word16 var2);       /* Mult with round, 2 */ 
    70 Word32 L_shl (Word32 L_var1, Word16 var2);      /* Long shift left, 2 */ 
    71 Word32 L_shr (Word32 L_var1, Word16 var2);      /* Long shift right, 2*/ 
     72PJ_INLINE(Word32) L_shl (Word32 L_var1, Word16 var2);      /* Long shift left, 2 */ 
     73PJ_INLINE(Word32) L_shr (Word32 L_var1, Word16 var2);      /* Long shift right, 2*/ 
    7274Word16 shr_r (Word16 var1, Word16 var2);        /* Shift right with 
    7375                                                   round, 2           */ 
     
    106108UWord32 LU_shl (UWord32 L_var1, Word16 var2); 
    107109UWord32 LU_shr (UWord32 L_var1, Word16 var2); 
     110 
     111#define INCLUDE_UNSAFE      0 
     112 
     113/* Local */ 
     114PJ_INLINE(Word16) saturate (Word32 L_var1); 
     115 
     116#if INCLUDE_UNSAFE 
     117    extern Flag g7221_Overflow; 
     118    extern Flag g7221_Carry; 
     119#   define SET_OVERFLOW(n)  g7221_Overflow = n 
     120#   define SET_CARRY(n)     g7221_Carry = n 
     121 
     122#else 
     123#   define SET_OVERFLOW(n) 
     124#   define SET_CARRY(n) 
     125#   define GET_OVERFLOW()   0 
     126#   define GET_CARRY()      0 
     127#endif 
     128 
     129#include "basop32_i.h" 
     130 
     131 
     132 
    108133#endif /* BASOP_H_DEFINED */ 
    109134 
Note: See TracChangeset for help on using the changeset viewer.