1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 /**************************************************************************************** 19 Portions of this file are derived from the following 3GPP standard: 20 21 3GPP TS 26.073 22 ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec 23 Available from http://www.3gpp.org 24 25 (C) 2004, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC) 26 Permission to distribute, modify and use this file under the standard license 27 terms listed above has been obtained from the copyright holder. 28 ****************************************************************************************/ 29 /* 30 ***************************************************************************** 31 * 32 * GSM AMR-NB speech codec R98 Version 7.5.0 March 2, 2001 33 * R99 Version 3.2.0 34 * REL-4 Version 4.0.0 35 * 36 ***************************************************************************** 37 * 38 * File : frame.h 39 * Purpose : Declaration of received and transmitted frame types 40 * 41 ***************************************************************************** 42 */ 43 #ifndef frame_h 44 #define frame_h "$Id $" 45 46 /* 47 ***************************************************************************** 48 * INCLUDE FILES 49 ***************************************************************************** 50 */ 51 52 53 #ifdef __cplusplus 54 extern "C" 55 { 56 #endif 57 58 /* 59 ***************************************************************************** 60 * DEFINITION OF DATA TYPES 61 ***************************************************************************** 62 * Note: The order of the TX and RX_Type identifiers has been chosen in 63 * the way below to be compatible to an earlier version of the 64 * AMR-NB C reference program. 65 ***************************************************************************** 66 */ 67 68 enum RXFrameType { RX_SPEECH_GOOD = 0, 69 RX_SPEECH_DEGRADED, 70 RX_ONSET, 71 RX_SPEECH_BAD, 72 RX_SID_FIRST, 73 RX_SID_UPDATE, 74 RX_SID_BAD, 75 RX_NO_DATA, 76 RX_N_FRAMETYPES /* number of frame types */ 77 }; 78 79 enum TXFrameType { TX_SPEECH_GOOD = 0, 80 TX_SID_FIRST, 81 TX_SID_UPDATE, 82 TX_NO_DATA, 83 TX_SPEECH_DEGRADED, 84 TX_SPEECH_BAD, 85 TX_SID_BAD, 86 TX_ONSET, 87 TX_N_FRAMETYPES /* number of frame types */ 88 }; 89 90 91 /* Channel decoded frame type */ 92 enum CHDECFrameType { CHDEC_SID_FIRST = 0, 93 CHDEC_SID_FIRST_INCOMPLETE, 94 CHDEC_SID_UPDATE_INCOMPLETE, 95 CHDEC_SID_UPDATE, 96 CHDEC_SPEECH, 97 CHDEC_SPEECH_ONSET, 98 CHDEC_ESCAPE_MARKER, 99 CHDEC_ESCAPE_DATA, 100 CHDEC_NO_DATA 101 }; 102 103 /* Channel decoded frame quality */ 104 enum CHDECFrameQuality { CHDEC_GOOD = 0, 105 CHDEC_PROBABLY_DEGRADED, 106 CHDEC_PROBABLY_BAD, 107 CHDEC_BAD 108 }; 109 110 #ifdef __cplusplus 111 } 112 #endif 113 114 #endif 115