📄 g729ev_main_prm.c
字号:
#if(WMOPS) move16(); move16();#endif /* Get 8k bistream */ /* --> first subframe (80 bits) */ IF(sub(decstat->decStG729.g729b_bst, 1) != 0) { *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 8); bit_ptr += 8; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 10); bit_ptr += 10; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 8); bit_ptr += 8; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 1); bit_ptr += 1; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7;#if(WMOPS) move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16();#endif } ELSE { /* G.729 mode */ IF(sub(decstat->decStG729.ftyp[0], 1) == 0) { /* speech frame (80 bits) */ *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 8); bit_ptr += 8; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 10); bit_ptr += 10; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 8); bit_ptr += 8; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 1); bit_ptr += 1; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7;#if(WMOPS) move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16();#endif } ELSE if (sub(decstat->decStG729.ftyp[0], 2) == 0) { /* SID frame (15 bits) */ *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 1); bit_ptr += 1; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; prm_ptr += 7;#if(WMOPS) move16(); move16(); move16(); move16(); move16();#endif } ELSE if (sub(decstat->decStG729.ftyp[0], 0) == 0) { /* not transmited frame (0 bit) */ prm_ptr += 11;#if(WMOPS) move16();#endif } } if (sub(decstat->g729b_bst, 1) == 0) { bit_ptr += 2; /* Bypass syncword and number of bits in g729 second frame */#if(WMOPS) move16();#endif } /* --> second subframe (80 bits) */ prm_ptr += 6; /* jump to beginning of 2nd 8k subframe coder parameters */#if(WMOPS) move16();#endif IF(sub(decstat->decStG729.g729b_bst, 1) != 0) { *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 8); bit_ptr += 8; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 10); bit_ptr += 10; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 8); bit_ptr += 8; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 1); bit_ptr += 1; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7;#if(WMOPS) move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16();#endif } ELSE { /* G.729B mode */ IF(sub(decstat->decStG729.ftyp[1], 1) == 0) { /* speech frame (80 bits) */ *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 8); bit_ptr += 8; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 10); bit_ptr += 10; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 8); bit_ptr += 8; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 1); bit_ptr += 1; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7;#if(WMOPS) move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16();#endif } ELSE if (sub(decstat->decStG729.ftyp[1], 2) == 0) { /* SID frame (15 bits) */ *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 1); bit_ptr += 1; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; prm_ptr += 7;#if(WMOPS) move16(); move16(); move16(); move16();#endif } ELSE if (sub(decstat->decStG729.ftyp[1], 0) == 0) { /* not transmited frame (0 bit) */ prm_ptr += 11;#if(WMOPS) move16();#endif } } IF(rate >= 12000) { /* Get 12k bitstream */ /* --> first subframe (40 bits) */ prm_ptr -= 17; /* jump to the beginning of the 1st 12k subframe coder parameters */ *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 3); bit_ptr += 3; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 3); bit_ptr += 3; /* --> second subframe (40 bits) */ prm_ptr += 11; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 3); bit_ptr += 3; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 13); bit_ptr += 13; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 3); bit_ptr += 3; /* --> get FEC information */ bit_FEC[0] = itu_192_bitstream[197]; bit_FEC[1] = itu_192_bitstream[237]; ind_FER[0] = G729EV_MAIN_bin2int(bit_FEC, 2);#if(WMOPS) move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16();#endif } IF(rate >= 14000) { /* Get 14k bitstream (33 bits) */ /* prm_ptr -= 8; jump to TDBWE coder parameters */ *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4; ind_FER[2] = G729EV_MAIN_bin2int(bit_ptr, 7); bit_ptr += 7;#if(WMOPS) move16(); move16(); move16(); move16(); move16(); move16(); move16(); move16();#endif } IF(rate >= 16000) { ind_FER[1] = G729EV_MAIN_bin2int(bit_ptr, 5); bit_ptr += 5; *prm_ptr++ = G729EV_MAIN_bin2int(bit_ptr, 4); bit_ptr += 4;#if(WMOPS) move16(); move16();#endif /* TDAC bitstream is read in TDAC decoder */ }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -