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:
@ -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 = [
|
||||
|
@ -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 */
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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 */
|
||||
/**********************************************************************/
|
||||
|
@ -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
|
||||
|
4
modules/third_party/fft/BUILD.gn
vendored
4
modules/third_party/fft/BUILD.gn
vendored
@ -9,12 +9,8 @@
|
||||
import("../../../webrtc.gni")
|
||||
|
||||
rtc_source_set("fft") {
|
||||
poisonous = [ "audio_codecs" ]
|
||||
sources = [
|
||||
"fft.c",
|
||||
"fft.h",
|
||||
]
|
||||
deps = [
|
||||
"../../audio_coding:isac_vad",
|
||||
]
|
||||
}
|
||||
|
2
modules/third_party/fft/README.chromium
vendored
2
modules/third_party/fft/README.chromium
vendored
@ -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
|
||||
|
2
modules/third_party/fft/fft.c
vendored
2
modules/third_party/fft/fft.c
vendored
@ -415,7 +415,7 @@ static int FFTRADIX (REAL Re[],
|
||||
}
|
||||
|
||||
/* test that mfactors is in range */
|
||||
if (mfactor > NFACTOR)
|
||||
if (mfactor > FFT_NFACTOR)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
21
modules/third_party/fft/fft.h
vendored
21
modules/third_party/fft/fft.h
vendored
@ -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_ */
|
||||
|
Reference in New Issue
Block a user