You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
FFmpegAndroid/app/src/main/cpp/visualizer/execute_fft.h

67 lines
1.1 KiB

//
// Created by frank on 2021/8/16.
//
#ifndef EXECUTE_FFT_H
#define EXECUTE_FFT_H
#include <math.h>
#include <unistd.h>
#include "fft.h"
#include "window.h"
#include "fixed_fft.h"
#ifdef __cplusplus
extern "C" {
#endif
#include "block_queue.h"
#define MIN_FFT_SIZE 128
#define FIXED_FFT 1
typedef struct
{
pthread_t thread;
vlc_queue_t queue;
bool dead;
int i_channels;
int i_prev_nb_samples;
int16_t *p_prev_s16_buff;
/* FFT window parameters */
window_param wind_param;
uint8_t *data;
int data_size;
int nb_samples;
int8_t *output;
int out_samples;
} filter_sys_t;
static void *fft_thread(void *);
int open_visualizer(filter_sys_t *p_sys);
block_t *filter_audio(filter_sys_t *p_sys, void *p_in_buf);
void close_visualizer(filter_sys_t *p_filter);
void fft_once(filter_sys_t *p_sys);
int init_visualizer(filter_sys_t *p_sys);
void release_visualizer(filter_sys_t *p_sys);
int ensure_memory(filter_sys_t *fft_filter, int nb_samples);
void fft_float(filter_sys_t *p_sys);
void fft_fixed(filter_sys_t *p_sys);
#ifdef __cplusplus
}
#endif
#endif //EXECUTE_FFT_H