background image

Intel

®

 IXP400 Digital Signal 

Processing (DSP) Software 
Version 2.5

API Reference Manual

December 2004

Document Number: 

273811-00

7a

Summary of Contents for IXP400

Page 1: ...Intel IXP400 Digital Signal Processing DSP Software Version 2 5 API Reference Manual December 2004 Document Number 273811 007a...

Page 2: ...aracteristics of any features or instructions marked reserved or undefined Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities ari...

Page 3: ...Mechanism 20 4 1 Message Functions 20 4 2 Message Header Format 21 4 3 Message Type List 22 5 0 Common Control Message 23 5 1 Reset Message 23 5 2 Start Message 23 5 3 Stop Message 24 5 4 Ping Message...

Page 4: ...7 2 Packet Delivery Mechanism 37 8 0 Configuration and Initialization 38 8 1 System Configuration 38 8 2 Adding Tones to Tone Generator 40 8 3 Adding Tones to Tone Detector 41 8 4 Getting DSP Resourc...

Page 5: ...areas of change June 2004 006 Updates for the release of Intel IXP400 DSP Software v2 5 January 2004 005 Updates for the release of Intel IXP400 DSP Software Version 2 4 September 2003 004 Clarified...

Page 6: ...6 API Reference Manual Intel IXP400 Digital Signal Processing DSP Software Version 2 5 This page intentionally left blank...

Page 7: ...n order for a third party de veloper to incorporate the module into a media gateway or server system It provides sufficient de tails of the interfaces so that the user can fully configure and control...

Page 8: ...Intel IXP400 Digital Signal Processing DSP Software Version 2 5 Introduction 8 API Reference Manual NLP Non linear Processing for EC SP Signal Processing VAD Voice Activity Detection...

Page 9: ...MPR components forms a channel for full duplex media processing They are the addressable entities that can be controlled individually by the appli cations Figure 1 Architecture of Intel IXP400 DSP Sof...

Page 10: ...cular set of algorithms it contains Communications of control information to these resource components are through messages defined in this document Some messages are common to all the resources while...

Page 11: ...rce must be reset after setting the parameter R W N XPARMID_NET_ECNLP EC NLP and suppress flag XPARM_OFF XPARM_EC_NLP_ON or XPARM_EC_NLP_SUP_ON Default XPARM_OFF R W N XPARMID_NET_ECFREEZE EC freezing...

Page 12: ...Y XPARMID_DEC_CTYPE Coder type Currently supported types are XCODER_TYPE_G711MU_10MS XCODER_TYPE_G711A_10MS XCODER_TYPE_G729A or XCODE_TYPE_G723 XCODER_TYPE_G722 XCODER_TYPE_G726_40 XCODER_TYPE_G726_...

Page 13: ...s is 96 to 127 Default 96 R W Y XPARMID_DEC_G726_32_RTP_PLD RTP payload type for G 726 32 Kkbps coder The payload type is negotiated and set by the call stack The range of values is 96 to 127 Default...

Page 14: ...and G 722 1 8 for G 723 1 9 for G 726 40 Kbps 1 12 for G 726 32 Kbps 1 16 for G 726 24 Kbps and 1 24 for G 729 and G 726 16 Kbps Default 1 R W N XPARMID_ENC_EVT_PKT Enable packet lost event XPARM_ON...

Page 15: ...RM_TNGEN_FSK_V23 or XPARM_TNGEN_FSK_B202 Default XPARM_TNGEN_FSK_B202 if country code set to COUNTRY_CODE_US or COUNTRY_CODE_PRC otherwise XPARM_TNGEN_FSK_V23 R W Y XPARMID_TNGEN_FSK_CS CS bit length...

Page 16: ...FF R W Y XPARMID_TD_TC_FRAMES Tone Clamping buffer size 0 3 in 10 ms unit Default 3 R W N XPARMID_TD_RPT_EVENTS Tone event enable flag XPARM_OFF XPARM_TD_RPT_TONE_ON XPARM_TD_RPT_TONE_OFF or XPARM_TD_...

Page 17: ...esource Component Resource Type XMPR_MIX XPARMID_TD_FSK_CS Minimum CS bit length required by FSK receiver Default 200 if country code set to COUNTRY_CODE_US or COUNTRY_CODE_PRC otherwise 0 R W Y XPARM...

Page 18: ...Resource Specific Control Messages None Parameters Identifier Description and values Attr Direct Write XPARMID_RES_STATE Current state 0 idle 1 active R N XPARMID_MIX_LP_STREAM The first L Port stream...

Page 19: ...PARM_T38_RATE_NEG_REMOTE Default XPARM_T38_RATE_NEG_REMOTE if packet transferred over UDP otherwise XPARM_T38_RATE_NEG_LOCAL R W N XPARAID_T38_TCF_THRSHLD TCF error threshold in percentage Default 5 R...

Page 20: ...sage to the in bound message queue Input pMsgBuf Pointer to the message buffer Output None Return XSUCC If successful XERROR If errors Caution Message buffer requires 4 byte alignment Note Message buf...

Page 21: ...nstance instance ID 1 0xffff 0 reserved UINT8 resource MPR resource type UINT8 reserved reserved for future UINT16 size total size in bytes UINT8 type message type UINT8 attribute attribute reserved f...

Page 22: ...to get all parameter message XMSG_ACK general acknowledgement message XMSG_ERROR error message from SP resource XMSG_EVENT event message from SP resource XMSG_CODER_START start a codec resource XMSG_...

Page 23: ...res inst XMSG_MAKE_HEAD pMsg trans res inst sizeof XMsgReset_t XMSG_RESET 0 Response General acknowledgement message XMSG_ACK Error message XMSG_ERROR if error Caution Any intermediate results are di...

Page 24: ...inst sizeof XMsgStop_t XMSG_STOP 0 Response Resource returns the processing results or states if any depending on the resources and current actions Type XMSG_PING Direction Inbound Description Verifi...

Page 25: ...Error message XMSG_ERROR if error Type XMSG_SET_MPARMS Direction Inbound Description Set multiple parameters to a resource Format typedef struct XMsgHdr_t head message header UINT16 numParms number o...

Page 26: ...s inst id XMSG_MAKE_HEAD pMsg trans res inst sizeof XMsgGetParm_t XMSG_GET_PARM 0 XMsgGetParm_t pMsg parmId id Response Specific acknowledgement message XMSG_GET_PARM_ACK Error message XMSG_ERROR if e...

Page 27: ...ARMS_ACK Direction Outbound Description Resource returns the parameter inquired Format typedef struct XMsgHdr_t head message header UINT16 numParms number of parameters UINT16 parmIDs XMAX_PARMS_GET a...

Page 28: ...data1 error data1 UINT32 data2 error data2 XMsgError_t Macro define XMSG_FIELD_ERROR pMsg c d1 d2 c XMsgError_t pMsg code d1 XMsgError_t pMsg data1 d2 XMsgError_t pMsg data2 Type XMSG_EVENT Direction...

Page 29: ...define XMSG_MAKE_CODER_START pMsg trans res inst cType fpp XMSG_MAKE_HEAD pMsg trans res inst sizeof XMsgCoderStart_t XMSG_CODER_START 0 XMsgCoderStart_t pMsg codecType cType XMsgCoderStart_t pMsg fr...

Page 30: ...G_MAKE_HEAD pMsg trans XMPR_TNGEN inst sizeof XMsgTGPlay_t XMSG_TG_PLAY 0 XMsgTGPlay_t pMsg numTones num define XMSG_FIELD_TG_PLAY pMsg pToneID pToneID XMsgTGPlay_t pMsg toneId Type MSG_TG_PLAY_FSK Di...

Page 31: ...layCmplt_t pMsg numTones Type XMSG_TD_RCV Direction Inbound Description Require Tone Detector to receive a tone string Format typedef struct XMsgHdr_t head message header UINT16 totalTimeout total tim...

Page 32: ...re the reason may be define XMSG_STOP_REASON_EOD 2 define XMSG_STOP_REASON_TERM 3 define XMSG_STOP_REASON_TIMEOUT 4 Macro define XMSG_FIELD_TD_RCV_CMPLT pMsg rsn num pBuf rsn XMsgTDRcvCmplt_t pMsg rea...

Page 33: ...MsgHdr_t head message header UINT16 reason the reason of completion UINT8 numBytes number of bytes received UINT8 data XMAX_FSKDATASIZE received data XMsgTDRcvFskCmplt_t where the reason may be define...

Page 34: ...of next segment followed XPLY_MEDIA_SEG_EOP means end of play at this segment XPlyMediaDesc_t Macro define XMSG_MAKE_PLY_START pMsg trans inst num XMSG_MAKE_HEAD pMsg trans XMPR_PLY inst sizeof XMsgPl...

Page 35: ...st sizeof XMsgGetJBStat_t XMSG_GET_JBSTAT 0 XMsgGetJBStat_t pMsg reset clr Response Complete message of getting jitter buffer statistics XMSG_GET_JBSTAT_CMPLT Type XMSG_GET_JBSTAT_CMPLT Direction Outb...

Page 36: ...t header and the payload are described as 31 24 23 22 16 15 12 11 8 7 0 Channel ID M Payload Type Media Payload Length Remote Time Stamp Payload 31 24 23 22 16 15 12 11 8 7 0 Channel ID M Payload Type...

Page 37: ...for the next packet i e the packet data may not be valid any more after the callback function returns The packet receiver may perform some data processing in the callback function provided the executi...

Page 38: ...erforms the following procedures Initialize and start HSS port Create TDM termination channels i e Network Endpoint resource instance and link them to the HSS time slots sequentially Error will occur...

Page 39: ...e base priority of DSP module int taskPriOrder the priority ordering of the OS IxHssAccHssPort port HSS port must be Port 0 IxHssAccConfigParams pHssCfgParms HSS configuration parameters IxHssAccTdmSl...

Page 40: ...e created are not specified correctly the default ones are applied which can be retrieved by the xDspGetResConfig function 8 2 Adding Tones to Tone Generator Description This function adds a new tone...

Page 41: ...6 freqA 1st frequency if single or dual frequency wave or the modulated carry frequency if AM wave in 1Hz unit INT16 freqB 2nd frequency if dual frequency wave or the modulating frequency if AM wave i...

Page 42: ...use tight to get lower false detection probability in good SNR UINT16 freqLowA low bound of the 1st frequency in Hz UINT16 freqHighA high bound of the 1st frequency in Hz UINT16 freqLowB low bound of...

Page 43: ...numChIP number of IP termination channels int numPlayers number of player instances int numMixers number of Audio Mixers int numPortsPerMixer number of ports per mixer int numStreams number of total...

Page 44: ...of the resource parmId Parameter ID pParmVal Pointer to the variable that receives the returned parameter value Output Parameter value Return XSUCC if successful Otherwise XERROR Description This func...

Page 45: ...l XHookState_t hookState XUINT32 transId typedef enum XHOOK_STATE_ON 0 XHOOK_STATE_OFF XHOOK_STATE_FLASH XHookState_t Prototype XMediaHandle_t xDspRegCachePrompt XCachePromptDesc_t pDesc Input pDesc T...

Page 46: ...ersion string in ASCII format hard coded in each release uniquely The first two digits give the major version number the 2 digits in the middle give the minor number and the last two digits give the b...

Page 47: ...ERR_INVALID_STREAM_ID 0x0014 invalid stream id define XERR_PARM_READONLY 0x0015 real only parameter define XERR_PARM_SET_FAIL 0x0016 cannot set parameter define XERR_PARM_GET_FAIL 0x0017 cannot get pa...

Page 48: ...D_TONEOFF 0x102 tone off event define XEVT_LOST_PACKET 0x103 lost packet define XEVT_DEC_PACKET_CHNG 0x104 RTP payload type changed define XEVT_NET_HOOK_STATE 0x105 hook state change detected define X...

Page 49: ...e RFC_TID_HOLD 76 define RFC_TID_REC 77 define RFC_TID_CALLER_WT 78 define RFC_TID_CALL_WT 79 define RFC_TID_PAY 80 define RFC_TID_POS_IND 81 define RFC_TID_NEG_IND 82 define RFC_TID_WARNING 83 define...

Page 50: ...efine US_TID_WARN_OPER 110 operator intervening tone define COUNTRY_CODE_PRC 86 China country code define PRC_TID_DIAL RFC_TID_DIAL dial tone define PRC_TID_RING RFC_TID_RING ring back tone define PRC...

Page 51: ..._TYPE_G711A_10MS XCODER_TYPE_G729A XCODER_TYPE_G723 XCODER_TYPE_G722 XCODER_TYPE_G726_40 XCODER_TYPE_G726_32 XCODER_TYPE_G726_24 XCODER_TYPE_G726_16 XCODER_TYPE_G729 17 XCODER_TYPE_UNDEF 1 XCoderType_...

Page 52: ...IGIT_2 0x0004 define XTD_TERM_DIGIT_3 0x0008 define XTD_TERM_DIGIT_4 0x0010 define XTD_TERM_DIGIT_5 0x0020 define XTD_TERM_DIGIT_6 0x0040 define XTD_TERM_DIGIT_7 0x0080 define XTD_TERM_DIGIT_8 0x0100...

Reviews: