Ignore:
Timestamp:
Jun 1, 2009 4:43:45 PM (15 years ago)
Author:
nanang
Message:

Ticket #841: Added config to expand G722.1 functions as inline, default value is 1/true (expand as inline).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/third_party/g7221/common/basic_op.h

    r2660 r2731  
    11#ifndef __BASIC_OP_H__ 
    22#define __BASIC_OP_H__ 
     3 
     4#include "config.h" 
    35 
    46/*___________________________________________________________________________ 
    57 |                                                                           | 
    68 |   Constants and Globals                                                   | 
    7  |                                                                           | 
    8  | $Id $ 
    99 |___________________________________________________________________________| 
    1010*/ 
     
    2828PJ_INLINE(Word16) sub (Word16 var1, Word16 var2);    /* Short sub,           1   */ 
    2929PJ_INLINE(Word16) abs_s (Word16 var1);               /* Short abs,           1   */ 
    30 Word16 shl (Word16 var1, Word16 var2);    /* Short shift left,    1   */ 
     30LIBG7221_DECL(Word16) shl (Word16 var1, Word16 var2);    /* Short shift left,    1   */ 
    3131PJ_INLINE(Word16) shl_nocheck(Word16 var1, Word16 var2); 
    32 Word16 shr (Word16 var1, Word16 var2);    /* Short shift right,   1   */ 
     32LIBG7221_DECL(Word16) shr (Word16 var1, Word16 var2);    /* Short shift right,   1   */ 
    3333PJ_INLINE(Word16) shr_nocheck(Word16 var1, Word16 var2); 
    34 Word16 mult (Word16 var1, Word16 var2);   /* Short mult,          1   */ 
     34LIBG7221_DECL(Word16) mult (Word16 var1, Word16 var2);   /* Short mult,          1   */ 
    3535PJ_INLINE(Word32) L_mult (Word16 var1, Word16 var2); /* Long mult,           1   */ 
    3636PJ_INLINE(Word16) negate (Word16 var1);              /* Short negate,        1   */ 
     
    3939PJ_INLINE(Word16) itu_round (Word32 L_var1);         /* Round,               1   */ 
    4040PJ_INLINE(Word32) L_mac (Word32 L_var3, Word16 var1, Word16 var2);   /* Mac,  1  */ 
    41 Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2);   /* Msu,  1  */ 
    42 Word32 L_macNs (Word32 L_var3, Word16 var1, Word16 var2); /* Mac without 
    43                                                              sat, 1   */ 
    44 Word32 L_msuNs (Word32 L_var3, Word16 var1, Word16 var2); /* Msu without 
    45                                                              sat, 1   */ 
     41LIBG7221_DECL(Word32) L_msu (Word32 L_var3, Word16 var1, Word16 var2);   /* Msu,  1  */ 
     42LIBG7221_DECL(Word32) L_macNs (Word32 L_var3, Word16 var1, Word16 var2); /* Mac without 
     43                                                                       sat, 1   */ 
     44LIBG7221_DECL(Word32) L_msuNs (Word32 L_var3, Word16 var1, Word16 var2); /* Msu without 
     45                                                                       sat, 1   */ 
    4646//PJ_INLINE(Word32) L_add (Word32 L_var1, Word32 L_var2);    /* Long add,        2 */ 
    4747PJ_INLINE(Word32) L_sub (Word32 L_var1, Word32 L_var2);    /* Long sub,        2 */ 
    48 Word32 L_add_c (Word32 L_var1, Word32 L_var2);  /* Long add with c, 2 */ 
    49 Word32 L_sub_c (Word32 L_var1, Word32 L_var2);  /* Long sub with c, 2 */ 
    50 Word32 L_negate (Word32 L_var1);                /* Long negate,     2 */ 
    51 Word16 mult_r (Word16 var1, Word16 var2);       /* Mult with round, 2 */ 
     48LIBG7221_DECL(Word32) L_add_c (Word32 L_var1, Word32 L_var2);  /* Long add with c, 2 */ 
     49LIBG7221_DECL(Word32) L_sub_c (Word32 L_var1, Word32 L_var2);  /* Long sub with c, 2 */ 
     50LIBG7221_DECL(Word32) L_negate (Word32 L_var1);                /* Long negate,     2 */ 
     51LIBG7221_DECL(Word16) mult_r (Word16 var1, Word16 var2);       /* Mult with round, 2 */ 
    5252PJ_INLINE(Word32) L_shl (Word32 L_var1, Word16 var2);      /* Long shift left, 2 */ 
    5353PJ_INLINE(Word32) L_shr (Word32 L_var1, Word16 var2);      /* Long shift right, 2*/ 
    54 Word16 shr_r (Word16 var1, Word16 var2);        /* Shift right with 
    55                                                    round, 2           */ 
    56 Word16 mac_r (Word32 L_var3, Word16 var1, Word16 var2); /* Mac with 
     54LIBG7221_DECL(Word16) shr_r (Word16 var1, Word16 var2);        /* Shift right with 
     55                                                             round, 2           */ 
     56LIBG7221_DECL(Word16) mac_r (Word32 L_var3, Word16 var1, Word16 var2); /* Mac with 
    5757                                                           rounding,2 */ 
    58 Word16 msu_r (Word32 L_var3, Word16 var1, Word16 var2); /* Msu with 
     58LIBG7221_DECL(Word16) msu_r (Word32 L_var3, Word16 var1, Word16 var2); /* Msu with 
    5959                                                           rounding,2 */ 
    60 Word32 L_deposit_h (Word16 var1);        /* 16 bit var1 -> MSB,     2 */ 
    61 Word32 L_deposit_l (Word16 var1);        /* 16 bit var1 -> LSB,     2 */ 
     60LIBG7221_DECL(Word32) L_deposit_h (Word16 var1);        /* 16 bit var1 -> MSB,     2 */ 
     61LIBG7221_DECL(Word32) L_deposit_l (Word16 var1);        /* 16 bit var1 -> LSB,     2 */ 
    6262 
    63 Word32 L_shr_r (Word32 L_var1, Word16 var2); /* Long shift right with 
    64                                                 round,  3             */ 
    65 Word32 L_abs (Word32 L_var1);            /* Long abs,              3  */ 
    66 Word32 L_sat (Word32 L_var1);            /* Long saturation,       4  */ 
    67 Word16 norm_s (Word16 var1);             /* Short norm,           15  */ 
    68 Word16 div_s (Word16 var1, Word16 var2); /* Short division,       18  */ 
    69 Word16 norm_l (Word32 L_var1);           /* Long norm,            30  */    
     63LIBG7221_DECL(Word32) L_shr_r (Word32 L_var1, Word16 var2); /* Long shift right with 
     64                                                          round,  3             */ 
     65LIBG7221_DECL(Word32) L_abs (Word32 L_var1);            /* Long abs,              3  */ 
     66LIBG7221_DECL(Word32) L_sat (Word32 L_var1);            /* Long saturation,       4  */ 
     67LIBG7221_DECL(Word16) norm_s (Word16 var1);             /* Short norm,           15  */ 
     68LIBG7221_DECL(Word16) div_s (Word16 var1, Word16 var2); /* Short division,       18  */ 
     69LIBG7221_DECL(Word16) norm_l (Word32 L_var1);           /* Long norm,            30  */    
    7070 
    7171/* 
    7272   Additional G.723.1 operators 
    7373*/ 
    74 Word32 L_mls( Word32, Word16 ) ;    /* Weight FFS; currently assigned 1 */ 
    75 Word16 div_l( Word32, Word16 ) ;    /* Weight FFS; currently assigned 1 */ 
    76 Word16 i_mult(Word16 a, Word16 b);  /* Weight FFS; currently assigned 1 */ 
     74LIBG7221_DECL(Word32) L_mls( Word32, Word16 ) ;    /* Weight FFS; currently assigned 1 */ 
     75LIBG7221_DECL(Word16) div_l( Word32, Word16 ) ;    /* Weight FFS; currently assigned 1 */ 
     76LIBG7221_DECL(Word16) i_mult(Word16 a, Word16 b);  /* Weight FFS; currently assigned 1 */ 
    7777 
    7878/*  
    7979    New shiftless operators, not used in G.729/G.723.1 
    8080*/ 
    81 Word32 L_mult0(Word16 v1, Word16 v2); /* 32-bit Multiply w/o shift         1 */ 
    82 Word32 L_mac0(Word32 L_v3, Word16 v1, Word16 v2); /* 32-bit Mac w/o shift  1 */ 
    83 Word32 L_msu0(Word32 L_v3, Word16 v1, Word16 v2); /* 32-bit Msu w/o shift  1 */ 
     81LIBG7221_DECL(Word32) L_mult0(Word16 v1, Word16 v2); /* 32-bit Multiply w/o shift         1 */ 
     82LIBG7221_DECL(Word32) L_mac0(Word32 L_v3, Word16 v1, Word16 v2); /* 32-bit Mac w/o shift  1 */ 
     83LIBG7221_DECL(Word32) L_msu0(Word32 L_v3, Word16 v1, Word16 v2); /* 32-bit Msu w/o shift  1 */ 
    8484 
    8585/*  
    8686    Additional G.722.1 operators 
    8787*/ 
    88 UWord32 LU_shl (UWord32 L_var1, Word16 var2); 
    89 UWord32 LU_shr (UWord32 L_var1, Word16 var2); 
     88LIBG7221_DECL(UWord32) LU_shl (UWord32 L_var1, Word16 var2); 
     89LIBG7221_DECL(UWord32) LU_shr (UWord32 L_var1, Word16 var2); 
    9090 
    9191#define INCLUDE_UNSAFE      0 
     
    109109#include "basic_op_i.h" 
    110110 
    111  
     111#if PJMEDIA_LIBG7221_FUNCS_INLINED 
     112#   include "basic_op.c" 
     113#endif 
    112114 
    113115#endif /* __BASIC_OP_H__ */ 
Note: See TracChangeset for help on using the changeset viewer.