libavformat/oggenc.c File Reference

#include "libavutil/crc.h"
#include "libavcodec/xiph.h"
#include "libavcodec/bytestream.h"
#include "libavcodec/flac.h"
#include "avformat.h"
#include "internal.h"
#include "vorbiscomment.h"

Go to the source code of this file.

Data Structures

struct  OGGStreamContext

Defines

#define SPEEX_HEADER_SIZE   80

Functions

static void ogg_update_checksum (AVFormatContext *s, int64_t crc_offset)
static int ogg_write_page (AVFormatContext *s, const uint8_t *data, int size, int64_t granule, int stream_index, int flags)
static uint8_t * ogg_write_vorbiscomment (int offset, int bitexact, int *header_len, AVMetadata *m)
static int ogg_build_flac_headers (AVCodecContext *avctx, OGGStreamContext *oggstream, int bitexact, AVMetadata *m)
static int ogg_build_speex_headers (AVCodecContext *avctx, OGGStreamContext *oggstream, int bitexact, AVMetadata *m)
static int ogg_write_header (AVFormatContext *s)
static int ogg_write_packet (AVFormatContext *s, AVPacket *pkt)
static int ogg_compare_granule (AVFormatContext *s, AVPacket *next, AVPacket *pkt)
static int ogg_interleave_per_granule (AVFormatContext *s, AVPacket *out, AVPacket *pkt, int flush)
static int ogg_write_trailer (AVFormatContext *s)

Variables

AVOutputFormat ogg_muxer


Define Documentation

#define SPEEX_HEADER_SIZE   80

Definition at line 146 of file oggenc.c.

Referenced by ogg_build_speex_headers().


Function Documentation

static int ogg_build_flac_headers ( AVCodecContext avctx,
OGGStreamContext oggstream,
int  bitexact,
AVMetadata m 
) [static]

Definition at line 108 of file oggenc.c.

Referenced by ogg_write_header().

static int ogg_build_speex_headers ( AVCodecContext avctx,
OGGStreamContext oggstream,
int  bitexact,
AVMetadata m 
) [static]

Definition at line 148 of file oggenc.c.

Referenced by ogg_write_header().

static int ogg_compare_granule ( AVFormatContext s,
AVPacket next,
AVPacket pkt 
) [static]

Definition at line 279 of file oggenc.c.

Referenced by ogg_interleave_per_granule().

static int ogg_interleave_per_granule ( AVFormatContext s,
AVPacket out,
AVPacket pkt,
int  flush 
) [static]

Definition at line 291 of file oggenc.c.

static void ogg_update_checksum ( AVFormatContext s,
int64_t  crc_offset 
) [static]

Definition at line 43 of file oggenc.c.

Referenced by ogg_write_page().

static int ogg_write_header ( AVFormatContext s  )  [static]

KFGSHIFT is the width of the less significant section of the granule position The less significant section is the frame count since the last keyframe

Definition at line 175 of file oggenc.c.

static int ogg_write_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 248 of file oggenc.c.

static int ogg_write_page ( AVFormatContext s,
const uint8_t *  data,
int  size,
int64_t  granule,
int  stream_index,
int  flags 
) [static]

Definition at line 52 of file oggenc.c.

Referenced by ogg_write_header(), and ogg_write_packet().

static int ogg_write_trailer ( AVFormatContext s  )  [static]

Definition at line 334 of file oggenc.c.

static uint8_t* ogg_write_vorbiscomment ( int  offset,
int  bitexact,
int *  header_len,
AVMetadata m 
) [static]

Definition at line 87 of file oggenc.c.

Referenced by ogg_build_flac_headers(), and ogg_build_speex_headers().


Variable Documentation

Initial value:

 {
    "ogg",
    NULL_IF_CONFIG_SMALL("Ogg"),
    "application/ogg",
    "ogg,ogv,spx",
    0,
    CODEC_ID_FLAC,
    CODEC_ID_THEORA,
    ogg_write_header,
    ogg_write_packet,
    ogg_write_trailer,
    .interleave_packet = ogg_interleave_per_granule,
    .metadata_conv = ff_vorbiscomment_metadata_conv,
}

Definition at line 350 of file oggenc.c.


Generated on Tue Apr 20 17:39:52 2010 for FFmpeg by  doxygen 1.5.6