#ifndef _SINEWIN_H_c665ef39_ #define _SINEWIN_H_c665ef39_ /* * This file was stolen from ffmpeg and modified for usability here. * The original is * * Copyright (c) 2008 Robert Swain * * This version is a derivative work of that version. It is not free * software; it is licensed under the GNU Lesser General Public * License version 2.1, which places nontrivial restrictions on what * may be done with it. (I'm not terribly happy about that, but for * my purposes accepting LGPL-infected code is a lower price than * reimplementing it all myself.) * * The LGPL v2.1 as distributed with ffmpeg is in the accompanying file * `LGPL-v2.1'. */ #include "config.h" #include "avutil-mem.h" #if CONFIG_HARDCODED_TABLES # define SINETABLE_CONST const #else # define SINETABLE_CONST #endif #define SINETABLE(size) \ SINETABLE_CONST DECLARE_ALIGNED(16, float, ff_sine_##size)[size] /** * Generate a sine window. * @param window pointer to half window * @param n size of half window */ void ff_sine_window_init(float *window, int n); /** * initialize the specified entry of ff_sine_windows */ void ff_init_ff_sine_windows(int index); extern SINETABLE( 32); extern SINETABLE( 64); extern SINETABLE( 128); extern SINETABLE( 256); extern SINETABLE( 512); extern SINETABLE(1024); extern SINETABLE(2048); extern SINETABLE(4096); extern SINETABLE(8192); extern SINETABLE_CONST float * const ff_sine_windows[14]; #endif