Changeset 2731


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

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

Location:
pjproject/trunk/third_party
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/third_party/build/g7221/libg7221codec.vcproj

    r2678 r2731  
    32173217                                </File> 
    32183218                                <File 
     3219                                        RelativePath="..\..\g7221\common\config.h" 
     3220                                        > 
     3221                                </File> 
     3222                                <File 
    32193223                                        RelativePath="..\..\g7221\common\count.h" 
    32203224                                        > 
  • pjproject/trunk/third_party/g7221/common/basic_op.c

    r2660 r2731  
     1#include "config.h" 
     2 
     3#if !PJMEDIA_LIBG7221_FUNCS_INLINED || \ 
     4    (PJMEDIA_LIBG7221_FUNCS_INLINED && defined(__BASIC_OP_H__)) 
     5 
    16/*___________________________________________________________________________ 
    27 |                                                                           | 
     
    7378 |___________________________________________________________________________| 
    7479*/ 
    75 Word16 shr (Word16 var1, Word16 var2) 
     80LIBG7221_DEF(Word16) shr (Word16 var1, Word16 var2) 
    7681{ 
    7782    if (var2 < 0) 
     
    123128 |___________________________________________________________________________| 
    124129*/ 
    125 Word16 shl (Word16 var1, Word16 var2) 
     130LIBG7221_DEF(Word16) shl (Word16 var1, Word16 var2) 
    126131{ 
    127132    if (var2 < 0) 
     
    172177 |___________________________________________________________________________| 
    173178*/ 
    174 Word16 mult (Word16 var1, Word16 var2) 
     179LIBG7221_DEF(Word16) mult (Word16 var1, Word16 var2) 
    175180{ 
    176181    Word16 var_out; 
     
    229234 |___________________________________________________________________________| 
    230235*/ 
    231 Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2) 
     236LIBG7221_DEF(Word32) L_msu (Word32 L_var3, Word16 var1, Word16 var2) 
    232237{ 
    233238    Word32 L_var_out; 
     
    290295 |___________________________________________________________________________| 
    291296*/ 
    292 Word32 L_macNs (Word32 L_var3, Word16 var1, Word16 var2) 
     297LIBG7221_DEF(Word32) L_macNs (Word32 L_var3, Word16 var1, Word16 var2) 
    293298{ 
    294299    Word32 L_var_out; 
     
    351356 |___________________________________________________________________________| 
    352357*/ 
    353 Word32 L_msuNs (Word32 L_var3, Word16 var1, Word16 var2) 
     358LIBG7221_DEF(Word32) L_msuNs (Word32 L_var3, Word16 var1, Word16 var2) 
    354359{ 
    355360    Word32 L_var_out; 
     
    409414 |___________________________________________________________________________| 
    410415*/ 
    411 Word32 L_add_c (Word32 L_var1, Word32 L_var2) 
     416LIBG7221_DEF(Word32) L_add_c (Word32 L_var1, Word32 L_var2) 
    412417{ 
    413418    Word32 L_var_out; 
     
    525530 |___________________________________________________________________________| 
    526531*/ 
    527 Word32 L_sub_c (Word32 L_var1, Word32 L_var2) 
     532LIBG7221_DEF(Word32) L_sub_c (Word32 L_var1, Word32 L_var2) 
    528533{ 
    529534    Word32 L_var_out; 
     
    618623 |___________________________________________________________________________| 
    619624*/ 
    620 Word32 L_negate (Word32 L_var1) 
     625LIBG7221_DEF(Word32) L_negate (Word32 L_var1) 
    621626{ 
    622627    Word32 L_var_out; 
     
    664669 |___________________________________________________________________________| 
    665670*/ 
    666 Word16 mult_r (Word16 var1, Word16 var2) 
     671LIBG7221_DEF(Word16) mult_r (Word16 var1, Word16 var2) 
    667672{ 
    668673    Word16 var_out; 
     
    729734 |___________________________________________________________________________| 
    730735*/ 
    731 Word16 shr_r (Word16 var1, Word16 var2) 
     736LIBG7221_DEF(Word16) shr_r (Word16 var1, Word16 var2) 
    732737{ 
    733738    Word16 var_out; 
     
    798803 |___________________________________________________________________________| 
    799804*/ 
    800 Word16 mac_r (Word32 L_var3, Word16 var1, Word16 var2) 
     805LIBG7221_DEF(Word16) mac_r (Word32 L_var3, Word16 var1, Word16 var2) 
    801806{ 
    802807    Word16 var_out; 
     
    858863 |___________________________________________________________________________| 
    859864*/ 
    860 Word16 msu_r (Word32 L_var3, Word16 var1, Word16 var2) 
     865LIBG7221_DEF(Word16) msu_r (Word32 L_var3, Word16 var1, Word16 var2) 
    861866{ 
    862867    Word16 var_out; 
     
    908913 |___________________________________________________________________________| 
    909914*/ 
    910 Word32 L_deposit_h (Word16 var1) 
     915LIBG7221_DEF(Word32) L_deposit_h (Word16 var1) 
    911916{ 
    912917    Word32 L_var_out; 
     
    949954 |___________________________________________________________________________| 
    950955*/ 
    951 Word32 L_deposit_l (Word16 var1) 
     956LIBG7221_DEF(Word32) L_deposit_l (Word16 var1) 
    952957{ 
    953958    Word32 L_var_out; 
     
    10031008 |___________________________________________________________________________| 
    10041009*/ 
    1005 Word32 L_shr_r (Word32 L_var1, Word16 var2) 
     1010LIBG7221_DEF(Word32) L_shr_r (Word32 L_var1, Word16 var2) 
    10061011{ 
    10071012    Word32 L_var_out; 
     
    10611066 |___________________________________________________________________________| 
    10621067*/ 
    1063 Word32 L_abs (Word32 L_var1) 
     1068LIBG7221_DEF(Word32) L_abs (Word32 L_var1) 
    10641069{ 
    10651070    Word32 L_var_out; 
     
    11211126 |___________________________________________________________________________| 
    11221127*/ 
    1123 Word16 norm_s (Word16 var1) 
     1128LIBG7221_DEF(Word16) norm_s (Word16 var1) 
    11241129{ 
    11251130    Word16 var_out; 
     
    11311136    else 
    11321137    { 
    1133         if (var1 == (Word16) 0xffff) 
     1138        if (var1 == (UWord16)0xffff) 
    11341139        { 
    11351140            var_out = 15; 
     
    11921197 |___________________________________________________________________________| 
    11931198*/ 
    1194 Word16 div_s (Word16 var1, Word16 var2) 
     1199LIBG7221_DEF(Word16) div_s (Word16 var1, Word16 var2) 
    11951200{ 
    11961201    Word16 var_out = 0; 
     
    12921297 |___________________________________________________________________________| 
    12931298*/ 
    1294 Word16 norm_l (Word32 L_var1) 
     1299LIBG7221_DEF(Word16) norm_l (Word32 L_var1) 
    12951300{ 
    12961301    Word16 var_out; 
     
    13731378 |___________________________________________________________________________| 
    13741379*/ 
    1375 Word32 L_mls (Word32 Lv, Word16 v) 
     1380LIBG7221_DEF(Word32) L_mls (Word32 Lv, Word16 v) 
    13761381{ 
    13771382   Word32   Temp  ; 
     
    14321437|___________________________________________________________________________| 
    14331438*/ 
    1434 Word16 div_l (Word32  L_num, Word16 den) 
     1439LIBG7221_DEF(Word16) div_l (Word32  L_num, Word16 den) 
    14351440{ 
    14361441    Word16   var_out = (Word16)0; 
     
    15201525|___________________________________________________________________________| 
    15211526*/ 
    1522 Word16 i_mult (Word16 a, Word16 b) 
     1527LIBG7221_DEF(Word16) i_mult (Word16 a, Word16 b) 
    15231528{ 
    15241529#ifdef ORIGINAL_G7231 
     
    15691574 |___________________________________________________________________________ 
    15701575*/ 
    1571 Word32 L_mult0 (Word16 var1,Word16 var2) 
     1576LIBG7221_DEF(Word32) L_mult0 (Word16 var1,Word16 var2) 
    15721577{ 
    15731578  Word32 L_var_out; 
     
    16131618 |___________________________________________________________________________ 
    16141619*/ 
    1615 Word32 L_mac0 (Word32 L_var3, Word16 var1, Word16 var2) 
     1620LIBG7221_DEF(Word32) L_mac0 (Word32 L_var3, Word16 var1, Word16 var2) 
    16161621{ 
    16171622  Word32 L_var_out; 
     
    16611666 |___________________________________________________________________________ 
    16621667*/ 
    1663 Word32 L_msu0 (Word32 L_var3, Word16 var1, Word16 var2) 
     1668LIBG7221_DEF(Word32) L_msu0 (Word32 L_var3, Word16 var1, Word16 var2) 
    16641669{ 
    16651670  Word32 L_var_out; 
     
    17121717 |___________________________________________________________________________| 
    17131718*/ 
    1714 UWord32 LU_shl (UWord32 L_var1, Word16 var2) 
     1719LIBG7221_DEF(UWord32) LU_shl (UWord32 L_var1, Word16 var2) 
    17151720{ 
    17161721    Word16 neg_var2; 
     
    17431748                { 
    17441749                    SET_OVERFLOW(1); 
    1745                     L_var_out = MIN_32; 
     1750                    L_var_out = (UWord32)MIN_32; 
    17461751                    break; 
    17471752                } 
     
    17921797 |___________________________________________________________________________| 
    17931798*/ 
    1794 UWord32 LU_shr (UWord32 L_var1, Word16 var2) 
     1799LIBG7221_DEF(UWord32) LU_shr (UWord32 L_var1, Word16 var2) 
    17951800{ 
    17961801    Word16  neg_var2; 
     
    18261831/* ------------------------- End of LU_shr() ------------------------- */ 
    18271832 
     1833#endif /* PJMEDIA_LIBG7221_FUNCS_INLINED */ 
    18281834 
    18291835/* ************************** END OF BASOP32.C ************************** */ 
  • 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.