| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 * | 121 * |
| 122 * Output: | 122 * Output: |
| 123 * - encoded : the encoded data vector | 123 * - encoded : the encoded data vector |
| 124 * | 124 * |
| 125 * Return value : >0 - Length (in bytes) of coded data | 125 * Return value : >0 - Length (in bytes) of coded data |
| 126 * 0 - The buffer didn't reach the chosen framesiz
e | 126 * 0 - The buffer didn't reach the chosen framesiz
e |
| 127 * so it keeps buffering speech samples. | 127 * so it keeps buffering speech samples. |
| 128 * -1 - Error | 128 * -1 - Error |
| 129 */ | 129 */ |
| 130 | 130 |
| 131 int16_t WebRtcIsacfix_Encode(ISACFIX_MainStruct *ISAC_main_inst, | 131 int WebRtcIsacfix_Encode(ISACFIX_MainStruct *ISAC_main_inst, |
| 132 const int16_t *speechIn, | 132 const int16_t *speechIn, |
| 133 uint8_t* encoded); | 133 uint8_t* encoded); |
| 134 | 134 |
| 135 | 135 |
| 136 | 136 |
| 137 /**************************************************************************** | 137 /**************************************************************************** |
| 138 * WebRtcIsacfix_EncodeNb(...) | 138 * WebRtcIsacfix_EncodeNb(...) |
| 139 * | 139 * |
| 140 * This function encodes 10ms narrow band (8 kHz sampling) frame(s) and insert
s | 140 * This function encodes 10ms narrow band (8 kHz sampling) frame(s) and insert
s |
| 141 * it into a package. Input speech length has to be 80 samples (10ms). The enc
oder | 141 * it into a package. Input speech length has to be 80 samples (10ms). The enc
oder |
| 142 * interpolates into wide-band (16 kHz sampling) buffers those | 142 * interpolates into wide-band (16 kHz sampling) buffers those |
| 143 * 10ms frames until it reaches the chosen Framesize (480 or 960 wide-band sam
ples | 143 * 10ms frames until it reaches the chosen Framesize (480 or 960 wide-band sam
ples |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 * - encoded : encoded ISAC frame(s) | 244 * - encoded : encoded ISAC frame(s) |
| 245 * - len : bytes in encoded vector | 245 * - len : bytes in encoded vector |
| 246 * | 246 * |
| 247 * Output: | 247 * Output: |
| 248 * - decoded : The decoded vector | 248 * - decoded : The decoded vector |
| 249 * | 249 * |
| 250 * Return value : >0 - number of samples in decoded vector | 250 * Return value : >0 - number of samples in decoded vector |
| 251 * -1 - Error | 251 * -1 - Error |
| 252 */ | 252 */ |
| 253 | 253 |
| 254 int16_t WebRtcIsacfix_Decode(ISACFIX_MainStruct *ISAC_main_inst, | 254 int WebRtcIsacfix_Decode(ISACFIX_MainStruct *ISAC_main_inst, |
| 255 const uint8_t* encoded, | 255 const uint8_t* encoded, |
| 256 int16_t len, | 256 int16_t len, |
| 257 int16_t *decoded, | 257 int16_t *decoded, |
| 258 int16_t *speechType); | 258 int16_t *speechType); |
| 259 | 259 |
| 260 | 260 |
| 261 /**************************************************************************** | 261 /**************************************************************************** |
| 262 * WebRtcIsacfix_DecodeNb(...) | 262 * WebRtcIsacfix_DecodeNb(...) |
| 263 * | 263 * |
| 264 * This function decodes a ISAC frame in narrow-band (8 kHz sampling). | 264 * This function decodes a ISAC frame in narrow-band (8 kHz sampling). |
| 265 * Output speech length will be a multiple of 240 samples: 240 or 480 samples, | 265 * Output speech length will be a multiple of 240 samples: 240 or 480 samples, |
| 266 * depending on the framesize (30 or 60 ms). | 266 * depending on the framesize (30 or 60 ms). |
| 267 * | 267 * |
| 268 * The function is enabled if WEBRTC_ISAC_FIX_NB_CALLS_ENABLED is defined | 268 * The function is enabled if WEBRTC_ISAC_FIX_NB_CALLS_ENABLED is defined |
| 269 * | 269 * |
| 270 * Input: | 270 * Input: |
| 271 * - ISAC_main_inst : ISAC instance. | 271 * - ISAC_main_inst : ISAC instance. |
| 272 * - encoded : encoded ISAC frame(s) | 272 * - encoded : encoded ISAC frame(s) |
| 273 * - len : bytes in encoded vector | 273 * - len : bytes in encoded vector |
| 274 * | 274 * |
| 275 * Output: | 275 * Output: |
| 276 * - decoded : The decoded vector | 276 * - decoded : The decoded vector |
| 277 * | 277 * |
| 278 * Return value : >0 - number of samples in decoded vector | 278 * Return value : >0 - number of samples in decoded vector |
| 279 * -1 - Error | 279 * -1 - Error |
| 280 */ | 280 */ |
| 281 | 281 |
| 282 #ifdef WEBRTC_ISAC_FIX_NB_CALLS_ENABLED | 282 #ifdef WEBRTC_ISAC_FIX_NB_CALLS_ENABLED |
| 283 int16_t WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst, | 283 int WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst, |
| 284 const uint16_t *encoded, | 284 const uint16_t *encoded, |
| 285 int16_t len, | 285 int16_t len, |
| 286 int16_t *decoded, | 286 int16_t *decoded, |
| 287 int16_t *speechType); | 287 int16_t *speechType); |
| 288 #endif // WEBRTC_ISAC_FIX_NB_CALLS_ENABLED | 288 #endif // WEBRTC_ISAC_FIX_NB_CALLS_ENABLED |
| 289 | 289 |
| 290 | 290 |
| 291 /**************************************************************************** | 291 /**************************************************************************** |
| 292 * WebRtcIsacfix_DecodePlcNb(...) | 292 * WebRtcIsacfix_DecodePlcNb(...) |
| 293 * | 293 * |
| 294 * This function conducts PLC for ISAC frame(s) in narrow-band (8kHz sampling)
. | 294 * This function conducts PLC for ISAC frame(s) in narrow-band (8kHz sampling)
. |
| 295 * Output speech length will be "240*noOfLostFrames" samples | 295 * Output speech length will be "240*noOfLostFrames" samples |
| 296 * that equevalent of "30*noOfLostFrames" millisecond. | 296 * that equevalent of "30*noOfLostFrames" millisecond. |
| 297 * | 297 * |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 * - ISAC_main_inst : ISAC instance. | 371 * - ISAC_main_inst : ISAC instance. |
| 372 * - rate : limit on the short-term average bit rate, | 372 * - rate : limit on the short-term average bit rate, |
| 373 * in bits/second (between 10000 and 32000) | 373 * in bits/second (between 10000 and 32000) |
| 374 * - framesize : number of milliseconds per frame (30 or 60) | 374 * - framesize : number of milliseconds per frame (30 or 60) |
| 375 * | 375 * |
| 376 * Return value : 0 - ok | 376 * Return value : 0 - ok |
| 377 * -1 - Error | 377 * -1 - Error |
| 378 */ | 378 */ |
| 379 | 379 |
| 380 int16_t WebRtcIsacfix_Control(ISACFIX_MainStruct *ISAC_main_inst, | 380 int16_t WebRtcIsacfix_Control(ISACFIX_MainStruct *ISAC_main_inst, |
| 381 int16_t rate, | 381 int16_t rate, |
| 382 int16_t framesize); | 382 int framesize); |
| 383 | 383 |
| 384 | 384 |
| 385 | 385 |
| 386 /**************************************************************************** | 386 /**************************************************************************** |
| 387 * WebRtcIsacfix_ControlBwe(...) | 387 * WebRtcIsacfix_ControlBwe(...) |
| 388 * | 388 * |
| 389 * This function sets the initial values of bottleneck and frame-size if | 389 * This function sets the initial values of bottleneck and frame-size if |
| 390 * iSAC is used in channel-adaptive mode. Through this API, users can | 390 * iSAC is used in channel-adaptive mode. Through this API, users can |
| 391 * enforce a frame-size for all values of bottleneck. Then iSAC will not | 391 * enforce a frame-size for all values of bottleneck. Then iSAC will not |
| 392 * automatically change the frame-size. | 392 * automatically change the frame-size. |
| 393 * | 393 * |
| 394 * | 394 * |
| 395 * Input: | 395 * Input: |
| 396 * - ISAC_main_inst : ISAC instance. | 396 * - ISAC_main_inst : ISAC instance. |
| 397 * - rateBPS : initial value of bottleneck in bits/second | 397 * - rateBPS : initial value of bottleneck in bits/second |
| 398 * 10000 <= rateBPS <= 32000 is accepted | 398 * 10000 <= rateBPS <= 32000 is accepted |
| 399 * - frameSizeMs : number of milliseconds per frame (30 or 60) | 399 * - frameSizeMs : number of milliseconds per frame (30 or 60) |
| 400 * - enforceFrameSize : 1 to enforce the given frame-size through out | 400 * - enforceFrameSize : 1 to enforce the given frame-size through out |
| 401 * the adaptation process, 0 to let iSAC change | 401 * the adaptation process, 0 to let iSAC change |
| 402 * the frame-size if required. | 402 * the frame-size if required. |
| 403 * | 403 * |
| 404 * Return value : 0 - ok | 404 * Return value : 0 - ok |
| 405 * -1 - Error | 405 * -1 - Error |
| 406 */ | 406 */ |
| 407 | 407 |
| 408 int16_t WebRtcIsacfix_ControlBwe(ISACFIX_MainStruct *ISAC_main_inst, | 408 int16_t WebRtcIsacfix_ControlBwe(ISACFIX_MainStruct *ISAC_main_inst, |
| 409 int16_t rateBPS, | 409 int16_t rateBPS, |
| 410 int16_t frameSizeMs, | 410 int frameSizeMs, |
| 411 int16_t enforceFrameSize); | 411 int16_t enforceFrameSize); |
| 412 | 412 |
| 413 | 413 |
| 414 | 414 |
| 415 /**************************************************************************** | 415 /**************************************************************************** |
| 416 * WebRtcIsacfix_version(...) | 416 * WebRtcIsacfix_version(...) |
| 417 * | 417 * |
| 418 * This function returns the version number. | 418 * This function returns the version number. |
| 419 * | 419 * |
| 420 * Output: | 420 * Output: |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 627 int16_t WebRtcIsacfix_GetNewFrameLen(ISACFIX_MainStruct *ISAC_main_inst); | 627 int16_t WebRtcIsacfix_GetNewFrameLen(ISACFIX_MainStruct *ISAC_main_inst); |
| 628 | 628 |
| 629 | 629 |
| 630 #if defined(__cplusplus) | 630 #if defined(__cplusplus) |
| 631 } | 631 } |
| 632 #endif | 632 #endif |
| 633 | 633 |
| 634 | 634 |
| 635 | 635 |
| 636 #endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_INTERFACE_ISACFIX_H_ */ | 636 #endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_INTERFACE_ISACFIX_H_ */ |
| OLD | NEW |