mp3enc.c File Reference
#include "avformat.h"
#include "avio_internal.h"
#include "id3v1.h"
#include "id3v2.h"
#include "rawenc.h"
#include "libavutil/avstring.h"
#include "libavcodec/mpegaudio.h"
#include "libavcodec/mpegaudiodata.h"
#include "libavcodec/mpegaudiodecheader.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/opt.h"
#include "libavutil/dict.h"
#include "libavutil/avassert.h"
Include dependency graph for mp3enc.c:

Go to the source code of this file.

Data Structures

struct  MP3Context
 

Macros

#define XING_NUM_BAGS   400
 
#define XING_TOC_SIZE   100
 
#define XING_MAX_SIZE   (32 + 4 + 4 + 4 + 4 + XING_TOC_SIZE)
 

Typedefs

typedef struct MP3Context MP3Context
 

Functions

static int id3v1_set_string (AVFormatContext *s, const char *key, uint8_t *buf, int buf_size)
 
static int id3v1_create_tag (AVFormatContext *s, uint8_t *buf)
 
static int mp3_write_xing (AVFormatContext *s)
 
static void mp3_xing_add_frame (MP3Context *mp3, AVPacket *pkt)
 
static int mp3_write_audio_packet (AVFormatContext *s, AVPacket *pkt)
 
static int mp3_queue_flush (AVFormatContext *s)
 
static void mp3_update_xing (AVFormatContext *s)
 
static int mp3_write_trailer (struct AVFormatContext *s)
 
static int query_codec (enum AVCodecID id, int std_compliance)
 

Variables

static const uint8_t xing_offtbl [2][2] = {{32, 17}, {17, 9}}
 

Macro Definition Documentation

#define XING_MAX_SIZE   (32 + 4 + 4 + 4 + 4 + XING_TOC_SIZE)

Definition at line 85 of file mp3enc.c.

#define XING_NUM_BAGS   400

Definition at line 82 of file mp3enc.c.

Referenced by mp3_xing_add_frame().

#define XING_TOC_SIZE   100

Definition at line 83 of file mp3enc.c.

Referenced by mp3_update_xing(), and mp3_write_xing().

Typedef Documentation

typedef struct MP3Context MP3Context

Function Documentation

static int id3v1_create_tag ( AVFormatContext s,
uint8_t buf 
)
static

Definition at line 49 of file mp3enc.c.

Referenced by mp3_write_trailer().

static int id3v1_set_string ( AVFormatContext s,
const char *  key,
uint8_t buf,
int  buf_size 
)
static

Definition at line 40 of file mp3enc.c.

Referenced by id3v1_create_tag().

static int mp3_queue_flush ( AVFormatContext s)
static

Definition at line 304 of file mp3enc.c.

Referenced by mp3_write_trailer(), and query_codec().

static void mp3_update_xing ( AVFormatContext s)
static

Definition at line 324 of file mp3enc.c.

Referenced by mp3_write_trailer().

static int mp3_write_audio_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 258 of file mp3enc.c.

Referenced by mp3_queue_flush(), and query_codec().

static int mp3_write_trailer ( struct AVFormatContext s)
static

Definition at line 350 of file mp3enc.c.

Referenced by query_codec().

static int mp3_write_xing ( AVFormatContext s)
static

Definition at line 118 of file mp3enc.c.

Referenced by mp3_queue_flush(), and query_codec().

static void mp3_xing_add_frame ( MP3Context mp3,
AVPacket pkt 
)
static

Definition at line 232 of file mp3enc.c.

Referenced by mp3_write_audio_packet().

static int query_codec ( enum AVCodecID  id,
int  std_compliance 
)
static

Definition at line 372 of file mp3enc.c.

Variable Documentation

const uint8_t xing_offtbl[2][2] = {{32, 17}, {17, 9}}
static

Definition at line 113 of file mp3enc.c.

Referenced by mp3_parse_vbr_tags(), mp3_write_audio_packet(), and mp3_write_xing().