Libav 0.7.1
|
The simplest mpeg audio layer 2 encoder. More...
#include "avcodec.h"
#include "put_bits.h"
#include "mpegaudio.h"
#include "mpegaudiodata.h"
#include "mpegaudiotab.h"
Go to the source code of this file.
Data Structures | |
struct | MpegAudioContext |
Defines | |
#define | FRAC_BITS 15 |
#define | WFRAC_BITS 14 |
#define | MUL(a, b) (((int64_t)(a) * (int64_t)(b)) >> FRAC_BITS) |
#define | SAMPLES_BUF_SIZE 4096 |
#define | USE_FLOATS |
#define | WSHIFT (WFRAC_BITS + 15 - FRAC_BITS) |
#define | SB_NOTALLOCATED 0 |
#define | SB_ALLOCATED 1 |
#define | SB_NOMORE 2 |
Typedefs | |
typedef struct MpegAudioContext | MpegAudioContext |
Functions | |
static av_cold int | MPA_encode_init (AVCodecContext *avctx) |
static void | idct32 (int *out, int *tab) |
static void | filter (MpegAudioContext *s, int ch, const short *samples, int incr) |
static void | compute_scale_factors (unsigned char scale_code[SBLIMIT], unsigned char scale_factors[SBLIMIT][3], int sb_samples[3][12][SBLIMIT], int sblimit) |
static void | psycho_acoustic_model (MpegAudioContext *s, short smr[SBLIMIT]) |
static void | compute_bit_allocation (MpegAudioContext *s, short smr1[MPA_MAX_CHANNELS][SBLIMIT], unsigned char bit_alloc[MPA_MAX_CHANNELS][SBLIMIT], int *padding) |
static void | encode_frame (MpegAudioContext *s, unsigned char bit_alloc[MPA_MAX_CHANNELS][SBLIMIT], int padding) |
static int | MPA_encode_frame (AVCodecContext *avctx, unsigned char *frame, int buf_size, void *data) |
static av_cold int | MPA_encode_close (AVCodecContext *avctx) |
Variables | |
AVCodec | ff_mp2_encoder |
The simplest mpeg audio layer 2 encoder.
Definition in file mpegaudioenc.c.
#define FRAC_BITS 15 |
Definition at line 30 of file mpegaudioenc.c.
#define MUL | ( | a, | |
b | |||
) | (((int64_t)(a) * (int64_t)(b)) >> FRAC_BITS) |
Definition at line 37 of file mpegaudioenc.c.
Referenced by idct32().
#define SAMPLES_BUF_SIZE 4096 |
Definition at line 39 of file mpegaudioenc.c.
Referenced by filter().
#define SB_ALLOCATED 1 |
Definition at line 493 of file mpegaudioenc.c.
Referenced by compute_bit_allocation().
#define SB_NOMORE 2 |
Definition at line 494 of file mpegaudioenc.c.
Referenced by compute_bit_allocation().
#define SB_NOTALLOCATED 0 |
Definition at line 492 of file mpegaudioenc.c.
Referenced by compute_bit_allocation().
#define USE_FLOATS |
Definition at line 61 of file mpegaudioenc.c.
#define WFRAC_BITS 14 |
Definition at line 31 of file mpegaudioenc.c.
Referenced by MPA_encode_init().
#define WSHIFT (WFRAC_BITS + 15 - FRAC_BITS) |
Definition at line 308 of file mpegaudioenc.c.
Referenced by filter().
typedef struct MpegAudioContext MpegAudioContext |
static void compute_bit_allocation | ( | MpegAudioContext * | s, |
short | smr1[MPA_MAX_CHANNELS][SBLIMIT], | ||
unsigned char | bit_alloc[MPA_MAX_CHANNELS][SBLIMIT], | ||
int * | padding | ||
) | [static] |
Definition at line 499 of file mpegaudioenc.c.
Referenced by MPA_encode_frame().
static void compute_scale_factors | ( | unsigned char | scale_code[SBLIMIT], |
unsigned char | scale_factors[SBLIMIT][3], | ||
int | sb_samples[3][12][SBLIMIT], | ||
int | sblimit | ||
) | [static] |
Definition at line 367 of file mpegaudioenc.c.
Referenced by MPA_encode_frame().
static void encode_frame | ( | MpegAudioContext * | s, |
unsigned char | bit_alloc[MPA_MAX_CHANNELS][SBLIMIT], | ||
int | padding | ||
) | [static] |
Definition at line 595 of file mpegaudioenc.c.
Referenced by MPA_encode_frame().
static void filter | ( | MpegAudioContext * | s, |
int | ch, | ||
const short * | samples, | ||
int | incr | ||
) | [static] |
Definition at line 310 of file mpegaudioenc.c.
Referenced by apply_ir_filter(), av_resample(), avfilter_graph_add_filter(), avfilter_graph_parse(), avfilter_open(), avfilter_register(), filter_name(), hybrid4_8_12_cx(), hybrid6_cx(), initFilter(), main(), make_filters_from_proto(), MPA_encode_frame(), mpegts_open_pes_filter(), mpegts_open_section_filter(), pick_formats(), predictor_update_filter(), query_formats(), read_filter_params(), show_filters(), sws_getDefaultFilter(), truespeech_apply_twopoint_filter(), tta_decode_frame(), and xa_decode().
static void idct32 | ( | int * | out, |
int * | tab | ||
) | [static] |
Definition at line 189 of file mpegaudioenc.c.
Referenced by filter().
static av_cold int MPA_encode_close | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 760 of file mpegaudioenc.c.
static int MPA_encode_frame | ( | AVCodecContext * | avctx, |
unsigned char * | frame, | ||
int | buf_size, | ||
void * | data | ||
) | [static] |
Definition at line 731 of file mpegaudioenc.c.
static av_cold int MPA_encode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 66 of file mpegaudioenc.c.
static void psycho_acoustic_model | ( | MpegAudioContext * | s, |
short | smr[SBLIMIT] | ||
) | [static] |
Definition at line 482 of file mpegaudioenc.c.
Referenced by MPA_encode_frame().
{ "mp2", AVMEDIA_TYPE_AUDIO, CODEC_ID_MP2, sizeof(MpegAudioContext), MPA_encode_init, MPA_encode_frame, MPA_encode_close, NULL, .sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_S16,AV_SAMPLE_FMT_NONE}, .supported_samplerates= (const int[]){44100, 48000, 32000, 22050, 24000, 16000, 0}, .long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"), }
Definition at line 766 of file mpegaudioenc.c.