godot/thirdparty/libvorbis/floor1.c

/********************************************************************
 *                                                                  *
 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
 *                                                                  *
 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015             *
 * by the Xiph.Org Foundation https://xiph.org/                     *
 *                                                                  *
 ********************************************************************

 function: floor backend 1 implementation

 ********************************************************************/

#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <ogg/ogg.h>
#include "vorbis/codec.h"
#include "codec_internal.h"
#include "registry.h"
#include "codebook.h"
#include "misc.h"
#include "scales.h"

#include <stdio.h>

#define floor1_rangedB

lsfit_acc;

/***********************************************/

static void floor1_free_info(vorbis_info_floor *i){}

static void floor1_free_look(vorbis_look_floor *i){}

static void floor1_pack (vorbis_info_floor *i,oggpack_buffer *opb){}

static int icomp(const void *a,const void *b){}

static vorbis_info_floor *floor1_unpack (vorbis_info *vi,oggpack_buffer *opb){}

static vorbis_look_floor *floor1_look(vorbis_dsp_state *vd,
                                      vorbis_info_floor *in){}

static int render_point(int x0,int x1,int y0,int y1,int x){}

static int vorbis_dBquant(const float *x){}

static const float FLOOR1_fromdB_LOOKUP[256]=;

static void render_line(int n, int x0,int x1,int y0,int y1,float *d){}

static void render_line0(int n, int x0,int x1,int y0,int y1,int *d){}

/* the floor has already been filtered to only include relevant sections */
static int accumulate_fit(const float *flr,const float *mdct,
                          int x0, int x1,lsfit_acc *a,
                          int n,vorbis_info_floor1 *info){}

static int fit_line(lsfit_acc *a,int fits,int *y0,int *y1,
                    vorbis_info_floor1 *info){}

static int inspect_error(int x0,int x1,int y0,int y1,const float *mask,
                         const float *mdct,
                         vorbis_info_floor1 *info){}

static int post_Y(int *A,int *B,int pos){}

int *floor1_fit(vorbis_block *vb,vorbis_look_floor1 *look,
                          const float *logmdct,   /* in */
                          const float *logmask){}

int *floor1_interpolate_fit(vorbis_block *vb,vorbis_look_floor1 *look,
                          int *A,int *B,
                          int del){}


int floor1_encode(oggpack_buffer *opb,vorbis_block *vb,
                  vorbis_look_floor1 *look,
                  int *post,int *ilogmask){}

static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in){}

static int floor1_inverse2(vorbis_block *vb,vorbis_look_floor *in,void *memo,
                          float *out){}

/* export hooks */
const vorbis_func_floor floor1_exportbundle=;