#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 |
#define | MAX_CHANNELS 2 |
#define | MAX_CODEBOOK_DIM 8 |
#define | MAX_FLOOR_CLASS_DIM 4 |
#define | NUM_FLOOR_PARTITIONS 8 |
#define | MAX_FLOOR_VALUES (MAX_FLOOR_CLASS_DIM*NUM_FLOOR_PARTITIONS+2) |
#define | RESIDUE_SIZE 1600 |
#define | RESIDUE_PART_SIZE 32 |
#define | NUM_RESIDUE_PARTITIONS (RESIDUE_SIZE/RESIDUE_PART_SIZE) |
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, const 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 | ff_vorbis_encoder |
Definition in file vorbis_enc.c.
#define BITSTREAM_WRITER_LE |
Definition at line 34 of file vorbis_enc.c.
#define MAX_CHANNELS 2 |
Definition at line 129 of file vorbis_enc.c.
#define MAX_CODEBOOK_DIM 8 |
#define MAX_FLOOR_CLASS_DIM 4 |
Definition at line 132 of file vorbis_enc.c.
#define MAX_FLOOR_VALUES (MAX_FLOOR_CLASS_DIM*NUM_FLOOR_PARTITIONS+2) |
Definition at line 134 of file vorbis_enc.c.
Referenced by floor_encode(), floor_fit(), and vorbis_encode_frame().
#define NUM_FLOOR_PARTITIONS 8 |
#define NUM_RESIDUE_PARTITIONS (RESIDUE_SIZE/RESIDUE_PART_SIZE) |
#define RESIDUE_PART_SIZE 32 |
Definition at line 137 of file vorbis_enc.c.
#define RESIDUE_SIZE 1600 |
Definition at line 136 of file vorbis_enc.c.
static int apply_window_and_mdct | ( | vorbis_enc_context * | venc, | |
const signed short * | audio, | |||
int | samples | |||
) | [static] |
Definition at line 902 of file vorbis_enc.c.
static int cb_lookup_vals | ( | int | lookup, | |
int | dimentions, | |||
int | entries | |||
) | [static] |
Definition at line 149 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] |
static void floor_encode | ( | vorbis_enc_context * | venc, | |
vorbis_enc_floor * | fc, | |||
PutBitContext * | pb, | |||
uint_fast16_t * | posts, | |||
float * | floor, | |||
int | samples | |||
) | [static] |
static void floor_fit | ( | vorbis_enc_context * | venc, | |
vorbis_enc_floor * | fc, | |||
float * | coeffs, | |||
uint_fast16_t * | posts, | |||
int | samples | |||
) | [static] |
static float get_floor_average | ( | vorbis_enc_floor * | fc, | |
float * | coeffs, | |||
int | i | |||
) | [static] |
static void put_codebook_header | ( | PutBitContext * | pb, | |
vorbis_enc_codebook * | cb | |||
) | [static] |
static void put_codeword | ( | PutBitContext * | pb, | |
vorbis_enc_codebook * | cb, | |||
int | entry | |||
) | [inline, static] |
Definition at line 140 of file vorbis_enc.c.
Referenced by floor_encode(), put_vector(), and residue_encode().
static void put_float | ( | PutBitContext * | pb, | |
float | f | |||
) | [static] |
static void put_floor_header | ( | PutBitContext * | pb, | |
vorbis_enc_floor * | fc | |||
) | [static] |
static int put_main_header | ( | vorbis_enc_context * | venc, | |
uint8_t ** | out | |||
) | [static] |
static void put_residue_header | ( | PutBitContext * | pb, | |
vorbis_enc_residue * | rc | |||
) | [static] |
static float* put_vector | ( | vorbis_enc_codebook * | book, | |
PutBitContext * | pb, | |||
float * | num | |||
) | [static] |
static void ready_codebook | ( | vorbis_enc_codebook * | cb | ) | [static] |
static void ready_residue | ( | vorbis_enc_residue * | rc, | |
vorbis_enc_context * | venc | |||
) | [static] |
static int render_point | ( | int | x0, | |
int | y0, | |||
int | x1, | |||
int | y1, | |||
int | x | |||
) | [static] |
static void residue_encode | ( | vorbis_enc_context * | venc, | |
vorbis_enc_residue * | rc, | |||
PutBitContext * | pb, | |||
float * | coeffs, | |||
int | samples, | |||
int | real_ch | |||
) | [static] |
static av_cold int vorbis_encode_close | ( | AVCodecContext * | avccontext | ) | [static] |
Definition at line 1045 of file vorbis_enc.c.
static int vorbis_encode_frame | ( | AVCodecContext * | avccontext, | |
unsigned char * | packets, | |||
int | buf_size, | |||
void * | data | |||
) | [static] |
Definition at line 982 of file vorbis_enc.c.
static av_cold int vorbis_encode_init | ( | AVCodecContext * | avccontext | ) | [static] |
Definition at line 955 of file vorbis_enc.c.
Initial value:
{ "vorbis", AVMEDIA_TYPE_AUDIO, CODEC_ID_VORBIS, sizeof(vorbis_enc_context), vorbis_encode_init, vorbis_encode_frame, vorbis_encode_close, .capabilities= CODEC_CAP_DELAY | CODEC_CAP_EXPERIMENTAL, .sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_S16,AV_SAMPLE_FMT_NONE}, .long_name = NULL_IF_CONFIG_SMALL("Vorbis"), }
Definition at line 1105 of file vorbis_enc.c.