libavcodec/vorbis_enc.c File Reference

Native Vorbis encoder. More...

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

Go to the source code of this file.

Data Structures

struct  codebook_t
struct  floor_class_t
struct  floor_t
struct  residue_t
struct  mapping_t
struct  vorbis_mode_t
struct  venc_context_t
struct  PutBitContext

Functions

static void init_put_bits (PutBitContext *pb, uint8_t *buf, int buffer_len)
static void put_bits (PutBitContext *pb, int bits, uint64_t val)
static void flush_put_bits (PutBitContext *pb)
static int put_bits_count (PutBitContext *pb)
static void put_codeword (PutBitContext *pb, codebook_t *cb, int entry)
static int cb_lookup_vals (int lookup, int dimentions, int entries)
static void ready_codebook (codebook_t *cb)
static void ready_residue (residue_t *rc, venc_context_t *venc)
static void create_vorbis_context (venc_context_t *venc, AVCodecContext *avccontext)
static void put_float (PutBitContext *pb, float f)
static void put_codebook_header (PutBitContext *pb, codebook_t *cb)
static void put_floor_header (PutBitContext *pb, floor_t *fc)
static void put_residue_header (PutBitContext *pb, residue_t *rc)
static int put_main_header (venc_context_t *venc, uint8_t **out)
static float get_floor_average (floor_t *fc, float *coeffs, int i)
static void floor_fit (venc_context_t *venc, floor_t *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 (venc_context_t *venc, floor_t *fc, PutBitContext *pb, uint_fast16_t *posts, float *floor, int samples)
static float * put_vector (codebook_t *book, PutBitContext *pb, float *num)
static void residue_encode (venc_context_t *venc, residue_t *rc, PutBitContext *pb, float *coeffs, int samples, int real_ch)
static int apply_window_and_mdct (venc_context_t *venc, signed short *audio, int samples)
static int vorbis_encode_init (AVCodecContext *avccontext)
static int vorbis_encode_frame (AVCodecContext *avccontext, unsigned char *packets, int buf_size, void *data)
static 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.


Function Documentation

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

Definition at line 885 of file vorbis_enc.c.

Referenced by encode_superframe(), and vorbis_encode_frame().

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

Definition at line 176 of file vorbis_enc.c.

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

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

Definition at line 247 of file vorbis_enc.c.

Referenced by vorbis_encode_init().

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

Definition at line 707 of file vorbis_enc.c.

Referenced by vorbis_encode_frame().

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

Definition at line 679 of file vorbis_enc.c.

Referenced by vorbis_encode_frame().

static void flush_put_bits ( PutBitContext pb  )  [inline, static]

Definition at line 162 of file vorbis_enc.c.

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

Definition at line 668 of file vorbis_enc.c.

Referenced by floor_fit().

static void init_put_bits ( PutBitContext pb,
uint8_t buf,
int  buffer_len 
) [inline, static]

Definition at line 130 of file vorbis_enc.c.

static void put_bits ( PutBitContext pb,
int  bits,
uint64_t  val 
) [static]

Definition at line 137 of file vorbis_enc.c.

Referenced by adts_write_frame_header(), align_put_bits(), asv1_encode_block(), asv1_put_level(), asv2_encode_block(), asv2_put_bits(), asv2_put_level(), bit_copy(), dca_convert_bitstream(), dnxhd_encode_block(), dnxhd_encode_dc(), dnxhd_encode_thread(), dv_encode_ac(), dv_encode_video_segment(), encode_bitstream(), encode_block(), encode_dc(), encode_exp_vlc(), encode_ext_header(), encode_frame(), encode_mb_skip_run(), encode_picture_ls(), encode_superframe(), escape_FF(), ff_copy_bits(), ff_h261_encode_mb(), ff_h261_encode_picture_header(), ff_h263_encode_mba(), ff_mjpeg_decode_frame(), ff_mjpeg_encode_dc(), ff_mjpeg_encode_picture_header(), ff_mjpeg_encode_stuffing(), ff_mpeg1_encode_slice_header(), ff_msmpeg4_encode_block(), ff_put_string(), ff_wmv2_encode_mb(), ff_wmv2_encode_picture_header(), ff_write_quant_matrix(), floor_encode(), h261_encode_block(), h261_encode_gob_header(), h261_encode_motion(), h264_write_nal_unit(), jpeg_put_comments(), jpeg_table_header(), ls_encode_run(), ls_store_lse(), mpeg1_encode_block(), mpeg1_encode_mb_internal(), mpeg1_encode_motion(), mpeg1_encode_picture_header(), mpeg1_encode_sequence_header(), MPV_encode_picture(), msmpeg4_encode_dc(), output_audio_block(), output_frame_footer(), output_frame_header(), output_residual(), output_subframe_lpc(), output_subframes(), put_cabac_bit(), put_codebook_header(), put_codeword(), put_float(), put_floor_header(), put_header(), put_huffman_table(), put_main_header(), put_marker(), put_mb_modes(), put_pack_header(), put_qscale(), put_residue_header(), put_sbits(), put_system_header(), set_te_golomb(), set_ue_golomb(), set_ur_golomb(), set_ur_golomb_jpegls(), svq1_encode_frame(), svq1_encode_plane(), svq1_write_header(), vorbis_encode_frame(), write_streaminfo(), write_utf8(), and writeCode().

static int put_bits_count ( PutBitContext pb  )  [inline, static]

Definition at line 165 of file vorbis_enc.c.

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

Definition at line 417 of file vorbis_enc.c.

Referenced by put_main_header().

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

Definition at line 169 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 407 of file vorbis_enc.c.

Referenced by put_codebook_header().

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

Definition at line 476 of file vorbis_enc.c.

Referenced by put_main_header().

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

Definition at line 539 of file vorbis_enc.c.

Referenced by vorbis_encode_init().

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

Definition at line 508 of file vorbis_enc.c.

Referenced by put_main_header().

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

Definition at line 781 of file vorbis_enc.c.

Referenced by residue_encode().

static void ready_codebook ( codebook_t cb  )  [static]

Definition at line 182 of file vorbis_enc.c.

Referenced by create_vorbis_context().

static void ready_residue ( residue_t rc,
venc_context_t venc 
) [static]

Definition at line 215 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 703 of file vorbis_enc.c.

Referenced by floor_encode().

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

Definition at line 800 of file vorbis_enc.c.

Referenced by vorbis_encode_frame().

static int vorbis_encode_close ( AVCodecContext avccontext  )  [static]

Definition at line 1018 of file vorbis_enc.c.

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

Definition at line 962 of file vorbis_enc.c.

static int vorbis_encode_init ( AVCodecContext avccontext  )  [static]

Definition at line 935 of file vorbis_enc.c.


Variable Documentation

Initial value:

Definition at line 1078 of file vorbis_enc.c.


Generated on Fri Apr 23 15:12:02 2010 for ffmpeg by  doxygen 1.5.6