9 | | * '''AMR NB''' (4.75 to 12.2 Kbps) |
10 | | * '''AMB WB''' (6.6 to 23.85 Kbps |
11 | | * '''G.722.1''' (16/24/32/40 Kbps) |
12 | | * '''G.723.1''' (5.3/6.3 Kbps) |
13 | | * '''G.726''' (16/24/32/40 Kbps) |
14 | | * '''G.728''' (16 Kbps) |
15 | | * '''G.729A''' (8 Kbps) with Annex B, and annex D/E support for decoding only. |
| 9 | |
| 10 | || '''Codec''' || '''Bitrate (Kbps)''' || '''Clock rate/'''[[BR]]'''frame ptime''' || '''default'''[[BR]]'''frames/pkt''' || '''default'''[[BR]]'''bitrate''' || '''VAD/DTX''' || '''PLC''' || '''Note''' || |
| 11 | || '''AMR NB''' || 4.75 to 12.2 || 8000/160 || 4 || 5900 || internal || internal || || |
| 12 | || '''AMR WB''' || 6.6 to 23.85 || 16000/320 || 1 || 15850 || internal || internal || || |
| 13 | || '''G.722.1''' || 16, 24, 32, 40 || 16000/320 || 1 || 16000 || pjmedia || internal || || |
| 14 | || '''G.723.1''' || 5.3, 6.3 || 8000/240 || 1 || 5300 || internal || internal || || |
| 15 | || '''G.726''' || 16, 24, 32, 40 || 8000/80 || 2 || - || pjmedia || pjmedia || The bitrate is negotiated in SDP || |
| 16 | || '''G.728''' || 16 || 8000/80 || 2 || 16000 || pjmedia || internal || || |
| 17 | || '''G.729A''' || 8 || 8000/80 || 2 || 8000 || pjmedia || internal || 1) G.729 VAD (Annex B) is currently disabled.[[BR]] 2) Annex D and Annex E is supported for receive direction. || |
| 85 | == Using in Application == |
| 86 | |
| 87 | === Codec Registration === |
| 88 | |
| 89 | Before application can use any of the IPP codecs above, the IPP codec factory must be registered to the codec manager. If application is using PJSUA-LIB, this will be done automatically by PJSUA-LIB. If application is using PJMEDIA directly, then it must register the IPP codec factory by calling: |
| 90 | |
| 91 | {{{ |
| 92 | pjmedia_codec_ipp_init(media_endpt); |
| 93 | }}} |
| 94 | |
| 95 | Or alternatively, to register all codec factories that are enabled at compile time to the codec manager: |
| 96 | |
| 97 | {{{ |
| 98 | pjmedia_init_all_codecs(media_endpt); |
| 99 | }}} |
| 100 | |
| 101 | Note that if the use of {{{pjmedia_init_all_codecs}}} to register all codec will result in linking to all codec libraries that are enabled at compile time and this will increase application's footprint/executable size. |
| 102 | |
| 103 | |
| 104 | |
| 105 | |