Untangle fft third party lib from dependon WebRTC

TBR=phoglund

Bug: webrtc:9558
Change-Id: I6cc1936549f008694c3617c1d990524c34da16e3
Reviewed-on: https://webrtc-review.googlesource.com/90411
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24115}
This commit is contained in:
Artem Titov
2018-07-26 15:07:33 +02:00
committed by Commit Bot
parent 3e5281f2b3
commit 75caa597a3
9 changed files with 25 additions and 26 deletions

View File

@ -498,6 +498,7 @@ rtc_source_set("isac_vad") {
"../../rtc_base:compile_assert_c",
"../../rtc_base/system:arch",
"../../rtc_base/system:ignore_warnings",
"../third_party/fft",
]
}
@ -559,7 +560,7 @@ rtc_static_library("isac_c") {
"../../rtc_base:compile_assert_c",
"../../rtc_base:rtc_base_approved",
"../../rtc_base/system:arch",
"../third_party/fft:fft",
"../third_party/fft",
]
}
@ -676,6 +677,7 @@ rtc_source_set("isac_fix_c") {
"../../rtc_base:rtc_base_approved",
"../../rtc_base:sanitizer",
"../../system_wrappers:cpu_features_api",
"../third_party/fft",
]
public_deps = [

View File

@ -18,6 +18,7 @@
#include "modules/audio_coding/codecs/isac/fix/source/codec.h"
#include "modules/audio_coding/codecs/isac/fix/source/fft.h"
#include "modules/audio_coding/codecs/isac/fix/source/settings.h"
#include "modules/third_party/fft/fft.h"
/* Tables are defined in transform_tables.c file or ARM assembly files. */
/* Cosine table 1 in Q14 */

View File

@ -22,6 +22,7 @@
#include <stddef.h>
#include "modules/audio_coding/codecs/isac/main/source/structs.h"
#include "modules/third_party/fft/fft.h"
void WebRtcIsac_ResetBitstream(Bitstr* bit_stream);

View File

@ -24,9 +24,6 @@
/* number of samples per frame (either 320 (20ms), 480 (30ms) or 960 (60ms)) */
#define INITIAL_FRAMESAMPLES 960
#define MAXFFTSIZE 2048
#define NFACTOR 11
/* do not modify the following; this will have to be modified if we
* have a 20ms framesize option */
/**********************************************************************/

View File

@ -20,6 +20,7 @@
#include "modules/audio_coding/codecs/isac/bandwidth_info.h"
#include "modules/audio_coding/codecs/isac/main/source/settings.h"
#include "modules/third_party/fft/fft.h"
typedef struct Bitstreamstruct {
uint8_t stream[STREAM_SIZE_MAX];
@ -228,18 +229,6 @@ typedef struct {
} RateModel;
typedef struct {
unsigned int SpaceAlloced;
unsigned int MaxPermAlloced;
double Tmp0[MAXFFTSIZE];
double Tmp1[MAXFFTSIZE];
double Tmp2[MAXFFTSIZE];
double Tmp3[MAXFFTSIZE];
int Perm[MAXFFTSIZE];
int factor[NFACTOR];
} FFTstr;
/* The following strutc is used to store data from encoding, to make it
fast and easy to construct a new bitstream with a different Bandwidth
estimate. All values (except framelength and minBytes) is double size to

View File

@ -9,12 +9,8 @@
import("../../../webrtc.gni")
rtc_source_set("fft") {
poisonous = [ "audio_codecs" ]
sources = [
"fft.c",
"fft.h",
]
deps = [
"../../audio_coding:isac_vad",
]
}

View File

@ -2,7 +2,7 @@ Name: fft
Short Name: fft
URL:
Version: 0
Date: 2018-02-01
Date: 2018-07-26
License: Custom license
License File: LICENSE
Security Critical: yes

View File

@ -415,7 +415,7 @@ static int FFTRADIX (REAL Re[],
}
/* test that mfactors is in range */
if (mfactor > NFACTOR)
if (mfactor > FFT_NFACTOR)
{
return -1;
}

View File

@ -27,10 +27,23 @@
* See the comments in the code for correct usage!
*/
#ifndef MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_FFT_H_
#define MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_FFT_H_
#ifndef MODULES_THIRD_PARTY_FFT_FFT_H_
#define MODULES_THIRD_PARTY_FFT_FFT_H_
#include "modules/audio_coding/codecs/isac/main/source/structs.h"
#define FFT_MAXFFTSIZE 2048
#define FFT_NFACTOR 11
typedef struct {
unsigned int SpaceAlloced;
unsigned int MaxPermAlloced;
double Tmp0[FFT_MAXFFTSIZE];
double Tmp1[FFT_MAXFFTSIZE];
double Tmp2[FFT_MAXFFTSIZE];
double Tmp3[FFT_MAXFFTSIZE];
int Perm[FFT_MAXFFTSIZE];
int factor[FFT_NFACTOR];
} FFTstr;
/* double precision routine */
@ -42,4 +55,4 @@ int WebRtcIsac_Fftns(unsigned int ndim,
double scaling,
FFTstr* fftstate);
#endif /* MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_FFT_H_ */
#endif /* MODULES_THIRD_PARTY_FFT_FFT_H_ */