| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 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 18 matching lines...) Expand all Loading... |
| 29 int output_sampling_khz); | 29 int output_sampling_khz); |
| 30 virtual void SetUp(); | 30 virtual void SetUp(); |
| 31 virtual void TearDown(); | 31 virtual void TearDown(); |
| 32 | 32 |
| 33 // EncodeABlock(...) does the following: | 33 // EncodeABlock(...) does the following: |
| 34 // 1. encodes a block of audio, saved in |in_data|, | 34 // 1. encodes a block of audio, saved in |in_data|, |
| 35 // 2. save the bit stream to |bit_stream| of |max_bytes| bytes in size, | 35 // 2. save the bit stream to |bit_stream| of |max_bytes| bytes in size, |
| 36 // 3. assign |encoded_bytes| with the length of the bit stream (in bytes), | 36 // 3. assign |encoded_bytes| with the length of the bit stream (in bytes), |
| 37 // 4. return the cost of time (in millisecond) spent on actual encoding. | 37 // 4. return the cost of time (in millisecond) spent on actual encoding. |
| 38 virtual float EncodeABlock(int16_t* in_data, uint8_t* bit_stream, | 38 virtual float EncodeABlock(int16_t* in_data, uint8_t* bit_stream, |
| 39 int max_bytes, int* encoded_bytes) = 0; | 39 size_t max_bytes, size_t* encoded_bytes) = 0; |
| 40 | 40 |
| 41 // DecodeABlock(...) does the following: | 41 // DecodeABlock(...) does the following: |
| 42 // 1. decodes the bit stream in |bit_stream| with a length of |encoded_bytes| | 42 // 1. decodes the bit stream in |bit_stream| with a length of |encoded_bytes| |
| 43 // (in bytes), | 43 // (in bytes), |
| 44 // 2. save the decoded audio in |out_data|, | 44 // 2. save the decoded audio in |out_data|, |
| 45 // 3. return the cost of time (in millisecond) spent on actual decoding. | 45 // 3. return the cost of time (in millisecond) spent on actual decoding. |
| 46 virtual float DecodeABlock(const uint8_t* bit_stream, int encoded_bytes, | 46 virtual float DecodeABlock(const uint8_t* bit_stream, size_t encoded_bytes, |
| 47 int16_t* out_data) = 0; | 47 int16_t* out_data) = 0; |
| 48 | 48 |
| 49 // Encoding and decode an audio of |audio_duration| (in seconds) and | 49 // Encoding and decode an audio of |audio_duration| (in seconds) and |
| 50 // record the runtime for encoding and decoding separately. | 50 // record the runtime for encoding and decoding separately. |
| 51 void EncodeDecode(size_t audio_duration); | 51 void EncodeDecode(size_t audio_duration); |
| 52 | 52 |
| 53 int block_duration_ms_; | 53 int block_duration_ms_; |
| 54 int input_sampling_khz_; | 54 int input_sampling_khz_; |
| 55 int output_sampling_khz_; | 55 int output_sampling_khz_; |
| 56 | 56 |
| 57 // Number of samples-per-channel in a frame. | 57 // Number of samples-per-channel in a frame. |
| 58 int input_length_sample_; | 58 int input_length_sample_; |
| 59 | 59 |
| 60 // Expected output number of samples-per-channel in a frame. | 60 // Expected output number of samples-per-channel in a frame. |
| 61 int output_length_sample_; | 61 int output_length_sample_; |
| 62 | 62 |
| 63 rtc::scoped_ptr<int16_t[]> in_data_; | 63 rtc::scoped_ptr<int16_t[]> in_data_; |
| 64 rtc::scoped_ptr<int16_t[]> out_data_; | 64 rtc::scoped_ptr<int16_t[]> out_data_; |
| 65 size_t data_pointer_; | 65 size_t data_pointer_; |
| 66 size_t loop_length_samples_; | 66 size_t loop_length_samples_; |
| 67 rtc::scoped_ptr<uint8_t[]> bit_stream_; | 67 rtc::scoped_ptr<uint8_t[]> bit_stream_; |
| 68 | 68 |
| 69 // Maximum number of bytes in output bitstream for a frame of audio. | 69 // Maximum number of bytes in output bitstream for a frame of audio. |
| 70 int max_bytes_; | 70 size_t max_bytes_; |
| 71 | 71 |
| 72 int encoded_bytes_; | 72 size_t encoded_bytes_; |
| 73 float encoding_time_ms_; | 73 float encoding_time_ms_; |
| 74 float decoding_time_ms_; | 74 float decoding_time_ms_; |
| 75 FILE* out_file_; | 75 FILE* out_file_; |
| 76 | 76 |
| 77 int channels_; | 77 int channels_; |
| 78 | 78 |
| 79 // Bit rate is in bit-per-second. | 79 // Bit rate is in bit-per-second. |
| 80 int bit_rate_; | 80 int bit_rate_; |
| 81 | 81 |
| 82 std::string in_filename_; | 82 std::string in_filename_; |
| 83 | 83 |
| 84 // Determines whether to save the output to file. | 84 // Determines whether to save the output to file. |
| 85 bool save_out_data_; | 85 bool save_out_data_; |
| 86 }; | 86 }; |
| 87 | 87 |
| 88 } // namespace webrtc | 88 } // namespace webrtc |
| 89 | 89 |
| 90 #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_TOOLS_AUDIO_CODEC_SPEED_TEST_H_ | 90 #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_TOOLS_AUDIO_CODEC_SPEED_TEST_H_ |
| OLD | NEW |