OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 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 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 double loFiltGain[SUBFRAMES]; | 421 double loFiltGain[SUBFRAMES]; |
422 double hiFiltGain[SUBFRAMES]; | 422 double hiFiltGain[SUBFRAMES]; |
423 /* Upper boundary of interval W */ | 423 /* Upper boundary of interval W */ |
424 uint32_t W_upper; | 424 uint32_t W_upper; |
425 uint32_t streamval; | 425 uint32_t streamval; |
426 /* Index to the current position in bytestream */ | 426 /* Index to the current position in bytestream */ |
427 uint32_t stream_index; | 427 uint32_t stream_index; |
428 uint8_t stream[3]; | 428 uint8_t stream[3]; |
429 } transcode_obj; | 429 } transcode_obj; |
430 | 430 |
| 431 typedef struct { |
| 432 // TODO(kwiberg): The size of these tables could be reduced by storing floats |
| 433 // instead of doubles, and by making use of the identity cos(x) = |
| 434 // sin(x+pi/2). They could also be made global constants that we fill in at |
| 435 // compile time. |
| 436 double costab1[FRAMESAMPLES_HALF]; |
| 437 double sintab1[FRAMESAMPLES_HALF]; |
| 438 double costab2[FRAMESAMPLES_QUARTER]; |
| 439 double sintab2[FRAMESAMPLES_QUARTER]; |
| 440 } TransformTables; |
431 | 441 |
432 typedef struct { | 442 typedef struct { |
433 // lower-band codec instance | 443 // lower-band codec instance |
434 ISACLBStruct instLB; | 444 ISACLBStruct instLB; |
435 // upper-band codec instance | 445 // upper-band codec instance |
436 ISACUBStruct instUB; | 446 ISACUBStruct instUB; |
437 | 447 |
438 // Bandwidth Estimator and model for the rate. | 448 // Bandwidth Estimator and model for the rate. |
439 BwEstimatorstr bwestimator_obj; | 449 BwEstimatorstr bwestimator_obj; |
440 RateModel rate_data_obj; | 450 RateModel rate_data_obj; |
(...skipping 29 matching lines...) Expand all Loading... |
470 // Maximum allowed rate, measured in Bytes per 30 ms. | 480 // Maximum allowed rate, measured in Bytes per 30 ms. |
471 int16_t maxRateBytesPer30Ms; | 481 int16_t maxRateBytesPer30Ms; |
472 // Maximum allowed payload-size, measured in Bytes. | 482 // Maximum allowed payload-size, measured in Bytes. |
473 int16_t maxPayloadSizeBytes; | 483 int16_t maxPayloadSizeBytes; |
474 /* The expected sampling rate of the input signal. Valid values are 16000, | 484 /* The expected sampling rate of the input signal. Valid values are 16000, |
475 * 32000 and 48000. This is not the operation sampling rate of the codec. | 485 * 32000 and 48000. This is not the operation sampling rate of the codec. |
476 * Input signals at 48 kHz are resampled to 32 kHz, then encoded. */ | 486 * Input signals at 48 kHz are resampled to 32 kHz, then encoded. */ |
477 uint16_t in_sample_rate_hz; | 487 uint16_t in_sample_rate_hz; |
478 /* State for the input-resampler. It is only used for 48 kHz input signals. */ | 488 /* State for the input-resampler. It is only used for 48 kHz input signals. */ |
479 int16_t state_in_resampler[SIZE_RESAMPLER_STATE]; | 489 int16_t state_in_resampler[SIZE_RESAMPLER_STATE]; |
| 490 |
| 491 // Trig tables for WebRtcIsac_Time2Spec and WebRtcIsac_Spec2time. |
| 492 TransformTables transform_tables; |
480 } ISACMainStruct; | 493 } ISACMainStruct; |
481 | 494 |
482 #endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_STRUCTS_H_ */ | 495 #endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_STRUCTS_H_ */ |
OLD | NEW |