⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basop32.c

📁 最新的ITU-T的宽带语音编解码标准G.729.1,是对原先的G.729的最好的调整.码流输出速率可以进行自适应调整.满足未来通信要求.希望对大家有所帮助.
💻 C
📖 第 1 页 / 共 5 页
字号:
 |    L_var1                                                                 | |             32 bit long signed integer (Word32 ) whose value falls in the | |             range : 0x8000 0000 <= L_var1 <= 0x7fff ffff.                 | |                                                                           | |   Outputs :                                                               | |                                                                           | |    none                                                                   | |                                                                           | |   Return Value :                                                          | |                                                                           | |    var_out                                                                | |             16 bit short signed integer (Word16) whose value falls in the | |             range : 0xffff 8000 <= var_out <= 0x0000 7fff.                | |___________________________________________________________________________|*/Word16 round (Word32 L_var1){    Word16 var_out;    Word32 L_rounded;    L_rounded = L_add (L_var1, (Word32) 0x00008000L);    var_out = extract_h (L_rounded);#if (WMOPS)	multiCounter[currCounter].L_add--;    multiCounter[currCounter].extract_h--;    multiCounter[currCounter].round++;#endif    return (var_out);}/*___________________________________________________________________________ |                                                                           | |   Function Name : L_mac                                                   | |                                                                           | |   Purpose :                                                               | |                                                                           | |   Multiply var1 by var2 and shift the result left by 1. Add the 32 bit    | |   result to L_var3 with saturation, return a 32 bit result:               | |        L_mac(L_var3,var1,var2) = L_add(L_var3,L_mult(var1,var2)).         | |                                                                           | |   Complexity weight : 1                                                   | |                                                                           | |   Inputs :                                                                | |                                                                           | |    L_var3   32 bit long signed integer (Word32) whose value falls in the  | |             range : 0x8000 0000 <= L_var3 <= 0x7fff ffff.                 | |                                                                           | |    var1                                                                   | |             16 bit short signed integer (Word16) whose value falls in the | |             range : 0xffff 8000 <= var1 <= 0x0000 7fff.                   | |                                                                           | |    var2                                                                   | |             16 bit short signed integer (Word16) whose value falls in the | |             range : 0xffff 8000 <= var1 <= 0x0000 7fff.                   | |                                                                           | |   Outputs :                                                               | |                                                                           | |    none                                                                   | |                                                                           | |   Return Value :                                                          | |                                                                           | |    L_var_out                                                              | |             32 bit long signed integer (Word32) whose value falls in the  | |             range : 0x8000 0000 <= L_var_out <= 0x7fff ffff.              | |___________________________________________________________________________|*/Word32 L_mac (Word32 L_var3, Word16 var1, Word16 var2){    Word32 L_var_out;    Word32 L_product;    L_product = L_mult (var1, var2);    L_var_out = L_add (L_var3, L_product);#if (WMOPS)    multiCounter[currCounter].L_mult--;    multiCounter[currCounter].L_add--;    multiCounter[currCounter].L_mac++;#endif    return (L_var_out);}/*___________________________________________________________________________ |                                                                           | |   Function Name : L_msu                                                   | |                                                                           | |   Purpose :                                                               | |                                                                           | |   Multiply var1 by var2 and shift the result left by 1. Subtract the 32   | |   bit result from L_var3 with saturation, return a 32 bit result:         | |        L_msu(L_var3,var1,var2) = L_sub(L_var3,L_mult(var1,var2)).         | |                                                                           | |   Complexity weight : 1                                                   | |                                                                           | |   Inputs :                                                                | |                                                                           | |    L_var3   32 bit long signed integer (Word32) whose value falls in the  | |             range : 0x8000 0000 <= L_var3 <= 0x7fff ffff.                 | |                                                                           | |    var1                                                                   | |             16 bit short signed integer (Word16) whose value falls in the | |             range : 0xffff 8000 <= var1 <= 0x0000 7fff.                   | |                                                                           | |    var2                                                                   | |             16 bit short signed integer (Word16) whose value falls in the | |             range : 0xffff 8000 <= var1 <= 0x0000 7fff.                   | |                                                                           | |   Outputs :                                                               | |                                                                           | |    none                                                                   | |                                                                           | |   Return Value :                                                          | |                                                                           | |    L_var_out                                                              | |             32 bit long signed integer (Word32) whose value falls in the  | |             range : 0x8000 0000 <= L_var_out <= 0x7fff ffff.              | |___________________________________________________________________________|*/Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2){    Word32 L_var_out;    Word32 L_product;    L_product = L_mult (var1, var2);    L_var_out = L_sub (L_var3, L_product);#if (WMOPS)	multiCounter[currCounter].L_mult--;    multiCounter[currCounter].L_sub--;    multiCounter[currCounter].L_msu++;#endif    return (L_var_out);}/*___________________________________________________________________________ |                                                                           | |   Function Name : L_macNs                                                 | |                                                                           | |   Purpose :                                                               | |                                                                           | |   Multiply var1 by var2 and shift the result left by 1. Add the 32 bit    | |   result to L_var3 without saturation, return a 32 bit result. Generate   | |   carry and overflow values :                                             | |        L_macNs(L_var3,var1,var2) = L_add_c(L_var3,L_mult(var1,var2)).     | |                                                                           | |   Complexity weight : 1                                                   | |                                                                           | |   Inputs :                                                                | |                                                                           | |    L_var3   32 bit long signed integer (Word32) whose value falls in the  | |             range : 0x8000 0000 <= L_var3 <= 0x7fff ffff.                 | |                                                                           | |    var1                                                                   | |             16 bit short signed integer (Word16) whose value falls in the | |             range : 0xffff 8000 <= var1 <= 0x0000 7fff.                   | |                                                                           | |    var2                                                                   | |             16 bit short signed integer (Word16) whose value falls in the | |             range : 0xffff 8000 <= var1 <= 0x0000 7fff.                   | |                                                                           | |   Outputs :                                                               | |                                                                           | |    none                                                                   | |                                                                           | |   Return Value :                                                          | |                                                                           | |    L_var_out                                                              | |             32 bit long signed integer (Word32) whose value falls in the  | |             range : 0x8000 0000 <= L_var_out <= 0x7fff ffff.              | |                                                                           | |   Caution :                                                               | |                                                                           | |    In some cases the Carry flag has to be cleared or set before using     | |    operators which take into account its value.                           | |___________________________________________________________________________|*/Word32 L_macNs (Word32 L_var3, Word16 var1, Word16 var2){    Word32 L_var_out;    L_var_out = L_mult (var1, var2);    L_var_out = L_add_c (L_var3, L_var_out);#if (WMOPS)    multiCounter[currCounter].L_mult--;    multiCounter[currCounter].L_add_c--;    multiCounter[currCounter].L_macNs++;#endif    return (L_var_out);}/*___________________________________________________________________________ |                                                                           | |   Function Name : L_msuNs                                                 | |                                                                           | |   Purpose :                                                               | |                                                                           | |   Multiply var1 by var2 and shift the result left by 1. Subtract the 32   | |   bit result from L_var3 without saturation, return a 32 bit result. Ge-  | |   nerate carry and overflow values :                                      | |        L_msuNs(L_var3,var1,var2) = L_sub_c(L_var3,L_mult(var1,var2)).     | |                                                                           | |   Complexity weight : 1                                                   | |                                                                           | |   Inputs :                                                                | |                                                                           | |    L_var3   32 bit long signed integer (Word32) whose value falls in the  | |             range : 0x8000 0000 <= L_var3 <= 0x7fff ffff.                 | |                                                                           | |    var1                                                                   | |             16 bit short signed integer (Word16) whose value falls in the | |             range : 0xffff 8000 <= var1 <= 0x0000 7fff.                   | |                                                                           | |    var2                                                                   | |             16 bit short signed integer (Word16) whose value falls in the | |             range : 0xffff 8000 <= var1 <= 0x0000 7fff.                   | |                                                                           | |   Outputs :                                                               | |                                                                           | |    none                                                                   | |                                                                           | |   Return Value :                                                          | |                                                                           | |    L_var_out                                                              | |             32 bit long signed integer (Word32) whose value falls in the  | |             range : 0x8000 0000 <= L_var_out <= 0x7fff ffff.              | |                                                                           | |   Caution :                                                               | |                                                                           | |    In some cases the Carry flag has to be cleared or set before using     | |    operators which take into account its value.                           | |___________________________________________________________________________|*/Word32 L_msuNs (Word32 L_var3, Word16 var1, Word16 var2){    Word32 L_var_out;    L_var_out = L_mult (var1, var2);    L_var_out = L_sub_c (L_var3, L_var_out);#if (WMOPS)    multiCounter[currCounter].L_mult--;    multiCounter[currCounter].L_sub_c--;    multiCounter[currCounter].L_msuNs++;#endif    return (L_var_out);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -