libavcodec/vorbis_enc.c File Reference

Native Vorbis encoder. More...

#include <float.h>
#include "avcodec.h"
#include "dsputil.h"
#include "fft.h"
#include "vorbis.h"
#include "vorbis_enc_data.h"
#include "put_bits.h"
#include <assert.h>

Go to the source code of this file.

Data Structures

struct  vorbis_enc_codebook
struct  vorbis_enc_floor_class
struct  vorbis_enc_floor
struct  vorbis_enc_residue
struct  vorbis_enc_mapping
struct  vorbis_enc_mode
struct  vorbis_enc_context

Defines

#define BITSTREAM_WRITER_LE

Functions

static void put_codeword (PutBitContext *pb, vorbis_enc_codebook *cb, int entry)
static int cb_lookup_vals (int lookup, int dimentions, int entries)
static void ready_codebook (vorbis_enc_codebook *cb)
static void ready_residue (vorbis_enc_residue *rc, vorbis_enc_context *venc)
static void create_vorbis_context (vorbis_enc_context *venc, AVCodecContext *avccontext)
static void put_float (PutBitContext *pb, float f)
static void put_codebook_header (PutBitContext *pb, vorbis_enc_codebook *cb)
static void put_floor_header (PutBitContext *pb, vorbis_enc_floor *fc)
static void put_residue_header (PutBitContext *pb, vorbis_enc_residue *rc)
static int put_main_header (vorbis_enc_context *venc, uint8_t **out)
static float get_floor_average (vorbis_enc_floor *fc, float *coeffs, int i)
static void floor_fit (vorbis_enc_context *venc, vorbis_enc_floor *fc, float *coeffs, uint_fast16_t *posts, int samples)
static int render_point (int x0, int y0, int x1, int y1, int x)
static void floor_encode (vorbis_enc_context *venc, vorbis_enc_floor *fc, PutBitContext *pb, uint_fast16_t *posts, float *floor, int samples)
static float * put_vector (vorbis_enc_codebook *book, PutBitContext *pb, float *num)
static void residue_encode (vorbis_enc_context *venc, vorbis_enc_residue *rc, PutBitContext *pb, float *coeffs, int samples, int real_ch)
static int apply_window_and_mdct (vorbis_enc_context *venc, signed short *audio, int samples)
static av_cold int vorbis_encode_init (AVCodecContext *avccontext)
static int vorbis_encode_frame (AVCodecContext *avccontext, unsigned char *packets, int buf_size, void *data)
static av_cold int vorbis_encode_close (AVCodecContext *avccontext)

Variables

AVCodec vorbis_encoder


Detailed Description

Native Vorbis encoder.

Author:
Oded Shimon <ods15@ods15.dyndns.org>

Definition in file vorbis_enc.c.


Define Documentation

#define BITSTREAM_WRITER_LE

Definition at line 34 of file vorbis_enc.c.


Function Documentation

static int apply_window_and_mdct ( vorbis_enc_context venc,
signed short *  audio,
int  samples 
) [static]

Definition at line 892 of file vorbis_enc.c.

static int cb_lookup_vals ( int  lookup,
int  dimentions,
int  entries 
) [static]

Definition at line 138 of file vorbis_enc.c.

Referenced by create_vorbis_context(), put_codebook_header(), and ready_codebook().

static void create_vorbis_context ( vorbis_enc_context venc,
AVCodecContext avccontext 
) [static]

Definition at line 217 of file vorbis_enc.c.

Referenced by vorbis_encode_init().

static void floor_encode ( vorbis_enc_context venc,
vorbis_enc_floor fc,
PutBitContext pb,
uint_fast16_t *  posts,
float *  floor,
int  samples 
) [static]

Definition at line 698 of file vorbis_enc.c.

Referenced by vorbis_encode_frame().

static void floor_fit ( vorbis_enc_context venc,
vorbis_enc_floor fc,
float *  coeffs,
uint_fast16_t *  posts,
int  samples 
) [static]

Definition at line 666 of file vorbis_enc.c.

Referenced by vorbis_encode_frame().

static float get_floor_average ( vorbis_enc_floor fc,
float *  coeffs,
int  i 
) [static]

Definition at line 654 of file vorbis_enc.c.

Referenced by floor_fit().

static void put_codebook_header ( PutBitContext pb,
vorbis_enc_codebook cb 
) [static]

Definition at line 394 of file vorbis_enc.c.

Referenced by put_main_header().

static void put_codeword ( PutBitContext pb,
vorbis_enc_codebook cb,
int  entry 
) [inline, static]

Definition at line 129 of file vorbis_enc.c.

Referenced by floor_encode(), put_vector(), and residue_encode().

static void put_float ( PutBitContext pb,
float  f 
) [static]

Definition at line 380 of file vorbis_enc.c.

Referenced by put_codebook_header().

static void put_floor_header ( PutBitContext pb,
vorbis_enc_floor fc 
) [static]

Definition at line 459 of file vorbis_enc.c.

Referenced by put_main_header().

static int put_main_header ( vorbis_enc_context venc,
uint8_t **  out 
) [static]

Definition at line 524 of file vorbis_enc.c.

Referenced by vorbis_encode_init().

static void put_residue_header ( PutBitContext pb,
vorbis_enc_residue rc 
) [static]

Definition at line 492 of file vorbis_enc.c.

Referenced by put_main_header().

static float* put_vector ( vorbis_enc_codebook book,
PutBitContext pb,
float *  num 
) [static]

Definition at line 781 of file vorbis_enc.c.

Referenced by residue_encode().

static void ready_codebook ( vorbis_enc_codebook cb  )  [static]

Definition at line 147 of file vorbis_enc.c.

Referenced by create_vorbis_context().

static void ready_residue ( vorbis_enc_residue rc,
vorbis_enc_context venc 
) [static]

Definition at line 181 of file vorbis_enc.c.

Referenced by create_vorbis_context().

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

Definition at line 693 of file vorbis_enc.c.

Referenced by floor_encode().

static void residue_encode ( vorbis_enc_context venc,
vorbis_enc_residue rc,
PutBitContext pb,
float *  coeffs,
int  samples,
int  real_ch 
) [static]

Definition at line 803 of file vorbis_enc.c.

Referenced by vorbis_encode_frame().

static av_cold int vorbis_encode_close ( AVCodecContext avccontext  )  [static]

Definition at line 1035 of file vorbis_enc.c.

static int vorbis_encode_frame ( AVCodecContext avccontext,
unsigned char *  packets,
int  buf_size,
void *  data 
) [static]

Definition at line 972 of file vorbis_enc.c.

static av_cold int vorbis_encode_init ( AVCodecContext avccontext  )  [static]

Definition at line 945 of file vorbis_enc.c.


Variable Documentation

Initial value:

Definition at line 1095 of file vorbis_enc.c.


Generated on Fri Oct 26 02:36:53 2012 for FFmpeg by  doxygen 1.5.8