mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-14 14:20:45 +01:00

The audio processing code is using parts of the iSAC codec to do voice activity detection (VAD), but it's undesirable for it to pull in the entire iSAC codec as a dependency. So this CL factors out the parts of iSAC that's needed for VAD to a separate build target. Bug: webrtc:8396 Change-Id: I884e25d8fd0bc815fca664352b0573b4b173880e Reviewed-on: https://webrtc-review.googlesource.com/69640 Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org> Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23110}
45 lines
1.8 KiB
C
45 lines
1.8 KiB
C
/*
|
|
* Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#ifndef MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_ISAC_VAD_H_
|
|
#define MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_ISAC_VAD_H_
|
|
|
|
#include <stddef.h>
|
|
|
|
#include "modules/audio_coding/codecs/isac/main/source/structs.h"
|
|
|
|
void WebRtcIsac_InitPitchFilter(PitchFiltstr* pitchfiltdata);
|
|
void WebRtcIsac_InitPitchAnalysis(PitchAnalysisStruct* state);
|
|
void WebRtcIsac_InitPreFilterbank(PreFiltBankstr* prefiltdata);
|
|
|
|
double WebRtcIsac_LevDurb(double* a, double* k, double* r, size_t order);
|
|
|
|
/* The number of all-pass filter factors in an upper or lower channel*/
|
|
#define NUMBEROFCHANNELAPSECTIONS 2
|
|
|
|
/* The upper channel all-pass filter factors */
|
|
extern const float WebRtcIsac_kUpperApFactorsFloat[2];
|
|
|
|
/* The lower channel all-pass filter factors */
|
|
extern const float WebRtcIsac_kLowerApFactorsFloat[2];
|
|
|
|
void WebRtcIsac_AllPassFilter2Float(float* InOut,
|
|
const float* APSectionFactors,
|
|
int lengthInOut,
|
|
int NumberOfSections,
|
|
float* FilterState);
|
|
void WebRtcIsac_SplitAndFilterFloat(float* in,
|
|
float* LP,
|
|
float* HP,
|
|
double* LP_la,
|
|
double* HP_la,
|
|
PreFiltBankstr* prefiltdata);
|
|
|
|
#endif // MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_ISAC_VAD_H_
|