blob: 3a1722ac1a3509721effc7be08b5b0bfe7356c3d [file] [log] [blame]
peah19b7b662016-03-20 08:36:28 -07001
peah55850012016-03-19 18:01:09 -07002/*
3 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
4 *
5 * Use of this source code is governed by a BSD-style license
6 * that can be found in the LICENSE file in the root of the source
7 * tree. An additional intellectual property rights grant can be found
8 * in the file PATENTS. All contributing project authors may
9 * be found in the AUTHORS file in the root of the source tree.
10 */
11
12#ifndef WEBRTC_MODULES_AUDIO_PROCESSING_TEST_BITEXACTNESS_TOOLS_H_
13#define WEBRTC_MODULES_AUDIO_PROCESSING_TEST_BITEXACTNESS_TOOLS_H_
14
15#include <string>
16
kwiberg529662a2017-09-04 05:43:17 -070017#include "webrtc/api/array_view.h"
peah55850012016-03-19 18:01:09 -070018#include "webrtc/modules/audio_coding/neteq/tools/input_audio_file.h"
kwiberg77eab702016-09-28 17:42:01 -070019#include "webrtc/test/gtest.h"
peah55850012016-03-19 18:01:09 -070020
21namespace webrtc {
22namespace test {
23
24// Returns test vector to use for the render signal in an
25// APM bitexactness test.
26std::string GetApmRenderTestVectorFileName(int sample_rate_hz);
27
28// Returns test vector to use for the capture signal in an
29// APM bitexactness test.
30std::string GetApmCaptureTestVectorFileName(int sample_rate_hz);
31
32// Extract float samples from a pcm file.
33void ReadFloatSamplesFromStereoFile(size_t samples_per_channel,
34 size_t num_channels,
35 InputAudioFile* stereo_pcm_file,
36 rtc::ArrayView<float> data);
37
38// Verifies a frame against a reference and returns the results as an
39// AssertionResult.
peah7ea928e2016-03-30 08:13:57 -070040::testing::AssertionResult VerifyDeinterleavedArray(
41 size_t samples_per_channel,
42 size_t num_channels,
43 rtc::ArrayView<const float> reference,
44 rtc::ArrayView<const float> output,
45 float element_error_bound);
peah55850012016-03-19 18:01:09 -070046
47// Verifies a vector against a reference and returns the results as an
48// AssertionResult.
peah7ea928e2016-03-30 08:13:57 -070049::testing::AssertionResult VerifyArray(rtc::ArrayView<const float> reference,
50 rtc::ArrayView<const float> output,
51 float element_error_bound);
peah55850012016-03-19 18:01:09 -070052
53} // namespace test
54} // namespace webrtc
55
56#endif // WEBRTC_MODULES_AUDIO_PROCESSING_TEST_BITEXACTNESS_TOOLS_H_