Ignore:
Timestamp:
Nov 11, 2008 11:25:13 AM (15 years ago)
Author:
nanang
Message:

Ticket #670: Minor update on naming of AMR helper and updated AMR in IPP codecs to enable octet-align from FMTP settings.

File:
1 edited

Legend:

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

    r2359 r2363  
    613613 * This structure describes AMR settings. 
    614614 */ 
    615 typedef struct pjmedia_codec_amr_settings { 
    616     pj_bool_t  amr_nb;          /**< TRUE for AMR-NB, FALSE for AMR-WB. */ 
    617     pj_bool_t  reorder;         /**< Reorder bitstream into descending  
     615typedef struct pjmedia_codec_amr_pack_setting { 
     616    pj_uint8_t amr_nb:1;        /**< Set 1 for AMR-NB, 0 for AMR-WB.    */ 
     617    pj_uint8_t reorder:1;       /**< Reorder bitstream into descending  
    618618                                     sensitivity order or vice versa.   */ 
    619     pj_uint8_t octet_aligned;   /**< TRUE if payload is in octet-aligned mode, 
     619    pj_uint8_t octet_aligned:1; /**< TRUE if payload is in octet-aligned mode, 
    620620                                     FALSE if payload is in bandwidth  
    621621                                     efficient mode.                    */ 
    622     pj_uint8_t CMR;             /**< Change Mode Request for remote 
     622    pj_uint8_t cmr:4;           /**< Change Mode Request for remote 
    623623                                     encoder.                           */ 
    624 } pjmedia_codec_amr_settings; 
     624} pjmedia_codec_amr_pack_setting; 
    625625 
    626626 
     
    686686 * @param amr_nb    Set PJ_TRUE for AMR-NB and PJ_FALSE for AMR-WB. 
    687687 * @param in        Input frame. 
    688  * @param setting   Settings, see @pjmedia_codec_amr_settings. 
     688 * @param setting   Settings, see @pjmedia_codec_amr_pack_setting. 
    689689 * @param out       Output frame. 
    690690 * 
     
    692692 */ 
    693693PJ_INLINE(pj_status_t) pjmedia_codec_amr_predecode( 
    694                                     const pjmedia_frame *in, 
    695                                     const pjmedia_codec_amr_settings *setting, 
    696                                     pjmedia_frame *out) 
     694                            const pjmedia_frame *in, 
     695                            const pjmedia_codec_amr_pack_setting *setting, 
     696                            pjmedia_frame *out) 
    697697{ 
    698698    pj_int8_t    amr_bits[477 + 7] = {0}; 
     
    758758        out_info->mode = in_info->frame_type; 
    759759        out->size = framelen_tbl[out_info->mode]; 
    760         PJ_ASSERT_RETURN(out->size <= in->size, PJMEDIA_CODEC_EFRMINLEN); 
    761760 
    762761        pj_bzero(out->buf, out->size); 
     
    826825 * @param frames    AMR frames to be packed. 
    827826 * @param nframes   Number of frames to be packed. 
    828  * @param setting   Settings, see @pjmedia_codec_amr_settings. 
     827 * @param setting   Settings, see @pjmedia_codec_amr_pack_setting. 
    829828 * @param pkt       Payload. 
    830829 * @param pkt_size  Payload size, as input this specifies payload maximum size, 
     
    834833 */ 
    835834PJ_INLINE (pj_status_t) pjmedia_codec_amr_pack( 
    836                                     const pjmedia_frame frames[], 
    837                                     unsigned nframes, 
    838                                     const pjmedia_codec_amr_settings *setting, 
    839                                     void *pkt,  
    840                                     pj_size_t *pkt_size) 
     835                            const pjmedia_frame frames[], 
     836                            unsigned nframes, 
     837                            const pjmedia_codec_amr_pack_setting *setting, 
     838                            void *pkt,  
     839                            pj_size_t *pkt_size) 
    841840{ 
    842841    /* Write cursor */ 
     
    876875 
    877876    /* Code Mode Request, 4 bits */ 
    878     *w = (pj_uint8_t)(setting->CMR << 4); 
     877    *w = (pj_uint8_t)(setting->cmr << 4); 
    879878    w_bitptr = 4; 
    880879    if (setting->octet_aligned) { 
     
    10431042 * @param pkt_size  Payload size. 
    10441043 * @param ts        Base timestamp. 
    1045  * @param setting   Settings, see @pjmedia_codec_amr_settings. 
     1044 * @param setting   Settings, see @pjmedia_codec_amr_pack_setting. 
    10461045 * @param frames    Frames parsed. 
    10471046 * @param nframes   Number of frames parsed. 
    1048  * @param CMR       Change Mode Request message for local encoder. 
     1047 * @param cmr       Change Mode Request message for local encoder. 
    10491048 * 
    10501049 * @return          PJ_SUCCESS on success. 
    10511050 */ 
    10521051PJ_INLINE(pj_status_t) pjmedia_codec_amr_parse( 
    1053                                      void *pkt,  
    1054                                      pj_size_t pkt_size,  
    1055                                      const pj_timestamp *ts, 
    1056                                      const pjmedia_codec_amr_settings* setting, 
    1057                                      pjmedia_frame frames[],  
    1058                                      unsigned *nframes, 
    1059                                      pj_uint8_t *CMR) 
     1052                             void *pkt,  
     1053                             pj_size_t pkt_size,  
     1054                             const pj_timestamp *ts, 
     1055                             const pjmedia_codec_amr_pack_setting* setting, 
     1056                             pjmedia_frame frames[],  
     1057                             unsigned *nframes, 
     1058                             pj_uint8_t *cmr) 
    10601059{ 
    10611060    unsigned cnt = 0; 
     
    10901089 
    10911090    /* Code Mode Request, 4 bits */ 
    1092     *CMR = (pj_uint8_t)((*r >> 4) & 0x0F); 
     1091    *cmr = (pj_uint8_t)((*r >> 4) & 0x0F); 
    10931092    r_bitptr = 4; 
    10941093    if (setting->octet_aligned) { 
Note: See TracChangeset for help on using the changeset viewer.