zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
floor1.c File Reference
#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>

Go to the source code of this file.

Macros

#define floor1_rangedB   140 /* floor 1 fixed at -140dB to 0dB range */
 

Typedefs

typedef struct lsfit_acc lsfit_acc
 

Functions

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)
 
int floor1_encode (oggpack_buffer *opb, vorbis_block *vb, vorbis_look_floor1 *look, int *post, int *ilogmask)
 
intfloor1_fit (vorbis_block *vb, vorbis_look_floor1 *look, const float *logmdct, const float *logmask)
 
static void floor1_free_info (vorbis_info_floor *i)
 
static void floor1_free_look (vorbis_look_floor *i)
 
intfloor1_interpolate_fit (vorbis_block *vb, vorbis_look_floor1 *look, int *A, int *B, int del)
 
static voidfloor1_inverse1 (vorbis_block *vb, vorbis_look_floor *in)
 
static int floor1_inverse2 (vorbis_block *vb, vorbis_look_floor *in, void *memo, float *out)
 
static vorbis_look_floorfloor1_look (vorbis_dsp_state *vd, vorbis_info_floor *in)
 
static void floor1_pack (vorbis_info_floor *i, oggpack_buffer *opb)
 
static vorbis_info_floorfloor1_unpack (vorbis_info *vi, oggpack_buffer *opb)
 
static int icomp (const void *a, const void *b)
 
static int ilog (unsigned int v)
 
static int ilog2 (unsigned int v)
 
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)
 
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)
 
static int render_point (int x0, int x1, int y0, int y1, int x)
 
static int vorbis_dBquant (const float *x)
 

Variables

const vorbis_func_floor floor1_exportbundle
 
static const float FLOOR1_fromdB_LOOKUP [256]
 

Macro Definition Documentation

#define floor1_rangedB   140 /* floor 1 fixed at -140dB to 0dB range */

Definition at line 31 of file floor1.c.

Typedef Documentation

typedef struct lsfit_acc lsfit_acc

Function Documentation

static int accumulate_fit ( const float *  flr,
const float *  mdct,
int  x0,
int  x1,
lsfit_acc a,
int  n,
vorbis_info_floor1 info 
)
static

Definition at line 421 of file floor1.c.

References i, memset, vorbis_info_floor1::twofitatten, and vorbis_dBquant().

Referenced by floor1_fit().

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

Definition at line 471 of file floor1.c.

References i, and vorbis_info_floor1::twofitweight.

Referenced by floor1_fit().

static void floor1_free_info ( vorbis_info_floor i)
static

Definition at line 54 of file floor1.c.

References _ogg_free, and memset.

Referenced by floor1_unpack().

static void floor1_free_look ( vorbis_look_floor i)
static

Definition at line 62 of file floor1.c.

References _ogg_free, and memset.

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

Definition at line 746 of file floor1.c.

References _vorbis_block_alloc(), i, NULL, sort_controllers::output, and vorbis_look_floor1::posts.

Referenced by mapping0_forward().

static int icomp ( const void a,
const void b 
)
static

Definition at line 130 of file floor1.c.

Referenced by floor1_look(), and floor1_unpack().

static int ilog ( unsigned int  v)
static

Definition at line 75 of file floor1.c.

References ret.

Referenced by floor1_encode(), and floor1_inverse1().

static int ilog2 ( unsigned int  v)
static

Definition at line 84 of file floor1.c.

References ret.

Referenced by floor1_pack().

static int inspect_error ( int  x0,
int  x1,
int  y0,
int  y1,
const float *  mask,
const float *  mdct,
vorbis_info_floor1 info 
)
static
static int post_Y ( int A,
int B,
int  pos 
)
static

Definition at line 582 of file floor1.c.

Referenced by floor1_fit().

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

Definition at line 362 of file floor1.c.

References FLOOR1_fromdB_LOOKUP.

Referenced by floor1_inverse2().

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

Definition at line 391 of file floor1.c.

Referenced by floor1_encode().

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

Definition at line 272 of file floor1.c.

Referenced by floor1_encode(), floor1_fit(), and floor1_inverse1().

static int vorbis_dBquant ( const float *  x)
static

Definition at line 288 of file floor1.c.

References i.

Referenced by accumulate_fit(), and inspect_error().

Variable Documentation

const vorbis_func_floor floor1_exportbundle
Initial value:
={
}
static vorbis_info_floor * floor1_unpack(vorbis_info *vi, oggpack_buffer *opb)
Definition: floor1.c:134
static void floor1_free_look(vorbis_look_floor *i)
Definition: floor1.c:62
static vorbis_look_floor * floor1_look(vorbis_dsp_state *vd, vorbis_info_floor *in)
Definition: floor1.c:197
static void floor1_pack(vorbis_info_floor *i, oggpack_buffer *opb)
Definition: floor1.c:94
static void * floor1_inverse1(vorbis_block *vb, vorbis_look_floor *in)
Definition: floor1.c:968
static void floor1_free_info(vorbis_info_floor *i)
Definition: floor1.c:54
static int floor1_inverse2(vorbis_block *vb, vorbis_look_floor *in, void *memo, float *out)
Definition: floor1.c:1054

Definition at line 1096 of file floor1.c.

const float FLOOR1_fromdB_LOOKUP[256]
static

Definition at line 295 of file floor1.c.

Referenced by floor1_inverse2(), mapping0_forward(), and render_line().