Ignore:
Timestamp:
Jan 29, 2010 3:51:09 PM (10 years ago)
Author:
nanang
Message:

Ticket #1028:

  • Updated codecs docs, more detail info about codec settings.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/include/pjmedia-codec/g7221.h

    r2875 r3083  
    2929 
    3030/** 
    31  * @defgroup PJMED_G7221_CODEC G722.1 Codec 
     31 * @defgroup PJMED_G7221_CODEC G.722.1 Codec (Siren7/Siren14) 
    3232 * @ingroup PJMEDIA_CODEC_CODECS 
    33  * @brief Implementation of G722.1 codec 
     33 * @brief Implementation of G.722.1 codec 
    3434 * @{ 
    3535 * 
    36  * <b>G722.1 licensed from Polycom®</b> 
    37  * <b>G722.1 Annex C licensed from Polycom®</b> 
     36 * <b>G.722.1 licensed from Polycom®</b><br /> 
     37 * <b>G.722.1 Annex C licensed from Polycom®</b> 
    3838 * 
    39  * This section describes functions to register and register G722.1 codec 
     39 * This section describes functions to initialize and register G.722.1 codec 
    4040 * factory to the codec manager. After the codec factory has been registered, 
    4141 * application can use @ref PJMEDIA_CODEC API to manipulate the codec. 
     
    4444 * G.722.1 (05/2005) C fixed point implementation including its Annex C. 
    4545 * 
    46  * G722.1 is a low complexity codec that supports for 7kHz and 14kHz bandwidth 
    47  * audio signals working at bitrates ranging from 16kbps to 48kbps. It may be 
     46 * G.722.1 is a low complexity codec that supports 7kHz and 14kHz audio  
     47 * bandwidth working at bitrates ranging from 16kbps to 48kbps. It may be 
    4848 * used with speech or music inputs. 
    4949 * 
    50  * The codec implementation supports for standard and non-standard bitrates. 
    51  * By default, the standard bitrates are enabled upon initialization, i.e.: 
    52  * - 24kbps and 32kbps for audio bandwidth 7 kHz (16kHz sampling rate), 
    53  * - 24kbps, 32kbps, and 48kbps for audio bandwidth 14 kHz (32kHz sampling  
    54  *   rate). 
    55  * The usage of non-standard bitrates must follow this requirements: 
    56  * - for sampling rate 16kHz: 16000 to 32000 bps, it must be a multiple of 400 
    57  * - for sampling rate 32kHz: 24000 to 48000 bps, it must be a multiple of 400 
    58  * Note that currently it is only up to two non-standard modes can be enabled 
    59  * at one time. 
     50 * 
     51 * \section codec_setting Codec Settings 
     52 * 
     53 * \subsection general_setting General Settings 
     54 * 
     55 * General codec settings for this codec such as VAD and PLC can be  
     56 * manipulated through the <tt>setting</tt> field in #pjmedia_codec_param.  
     57 * Please see the documentation of #pjmedia_codec_param for more info. 
     58 * 
     59 * \subsection specific_setting Codec Specific Settings 
     60 * 
     61 * The following settings are applicable for this codec. 
     62 * 
     63 * \subsubsection bitrate Bitrate 
     64 * 
     65 * The codec implementation supports standard and non-standard bitrates. 
     66 * Use #pjmedia_codec_g7221_set_mode() to enable or disable the bitrates. 
     67 * 
     68 * By default, only standard bitrates are enabled upon initialization: 
     69 * - for 7kHz audio bandwidth (16kHz sampling rate): 24kbps and 32kbps, 
     70 * - for 14kHz audio bandwidth (32kHz sampling rate): 24kbps, 32kbps, and 
     71 *   48kbps. 
     72 * 
     73 * The usage of non-standard bitrates must follow these requirements: 
     74 * - for 7kHz audio bandwidth (16kHz sampling rate): 16000 to 32000 bps,  
     75 *   multiplication of 400 
     76 * - for 14kHz audio bandwidth (32kHz sampling rate): 24000 to 48000 bps, 
     77 *   multiplication of 400 
     78 * 
     79 * \note 
     80 * Currently only up to two non-standard modes can be enabled. 
     81 * 
     82 * \remark 
     83 * There is a flaw in the codec manager as currently it could not 
     84 * differentiate G.722.1 codecs by bitrates, hence invoking  
     85 * #pjmedia_codec_mgr_set_default_param() may only affect a G.722.1 codec 
     86 * with the highest priority (or first index found in codec enumeration  
     87 * when they have same priority) and invoking 
     88 * #pjmedia_codec_mgr_set_codec_priority() will set priority of all G.722.1 
     89 * codecs with sampling rate as specified. 
    6090 */ 
    6191 
     
    6393 
    6494/** 
    65  * Initialize and register G722.1 codec factory to pjmedia endpoint. 
     95 * Initialize and register G.722.1 codec factory to pjmedia endpoint. 
    6696 * 
    6797 * @param endpt     The pjmedia endpoint. 
     
    73103 
    74104/** 
    75  * Enable and disable G722.1 mode. By default, the standard modes are  
     105 * Enable and disable G.722.1 mode. By default, the standard modes are  
    76106 * enabled upon initialization, i.e.: 
    77107 * - sampling rate 16kHz, bitrate 24kbps and 32kbps. 
    78108 * - sampling rate 32kHz, bitrate 24kbps, 32kbps, and 48kbps. 
    79109 * This function can also be used for enabling non-standard modes. 
    80  * Note that currently it is only up to two non-standard modes can be  
    81  * enabled at one time. 
     110 * Note that currently only up to two non-standard modes can be enabled 
     111 * at one time. 
    82112 * 
    83113 * @param sample_rate   PCM sampling rate, in Hz, valid values are only  
     
    111141 
    112142/** 
    113  * Unregister G722.1 codecs factory from pjmedia endpoint. 
     143 * Unregister G.722.1 codecs factory from pjmedia endpoint. 
    114144 * 
    115145 * @return          PJ_SUCCESS on success. 
Note: See TracChangeset for help on using the changeset viewer.