libavformat/oggenc.c File Reference
#include "libavutil/crc.h"
#include "libavutil/opt.h"
#include "libavutil/mathematics.h"
#include "libavutil/random_seed.h"
#include "libavcodec/xiph.h"
#include "libavcodec/bytestream.h"
#include "libavcodec/flac.h"
#include "avformat.h"
#include "avio_internal.h"
#include "internal.h"
#include "vorbiscomment.h"
Go to the source code of this file.
|
Data Structures |
struct | OGGPage |
struct | OGGStreamContext |
struct | OGGPageList |
struct | OGGContext |
Defines |
#define | MAX_PAGE_SIZE 65025 |
#define | OFFSET(x) offsetof(OGGContext, x) |
#define | PARAM AV_OPT_FLAG_ENCODING_PARAM |
#define | SPEEX_HEADER_SIZE 80 |
Functions |
static void | ogg_update_checksum (AVFormatContext *s, AVIOContext *pb, int64_t crc_offset) |
static int | ogg_write_page (AVFormatContext *s, OGGPage *page, int extra_flags) |
static int | ogg_key_granule (OGGStreamContext *oggstream, int64_t granule) |
static int64_t | ogg_granule_to_timestamp (OGGStreamContext *oggstream, int64_t granule) |
static int | ogg_compare_granule (AVFormatContext *s, OGGPage *next, OGGPage *page) |
static int | ogg_reset_cur_page (OGGStreamContext *oggstream) |
static int | ogg_buffer_page (AVFormatContext *s, OGGStreamContext *oggstream) |
static int | ogg_buffer_data (AVFormatContext *s, AVStream *st, uint8_t *data, unsigned size, int64_t granule, int header) |
static uint8_t * | ogg_write_vorbiscomment (int offset, int bitexact, int *header_len, AVDictionary **m, int framing_bit) |
static int | ogg_build_flac_headers (AVCodecContext *avctx, OGGStreamContext *oggstream, int bitexact, AVDictionary **m) |
static int | ogg_build_speex_headers (AVCodecContext *avctx, OGGStreamContext *oggstream, int bitexact, AVDictionary **m) |
static int | ogg_write_header (AVFormatContext *s) |
static void | ogg_write_pages (AVFormatContext *s, int flush) |
static int | ogg_write_packet (AVFormatContext *s, AVPacket *pkt) |
static int | ogg_write_trailer (AVFormatContext *s) |
Variables |
static const AVOption | options [] |
static const AVClass | ogg_muxer_class |
AVOutputFormat | ff_ogg_muxer |
Define Documentation
#define MAX_PAGE_SIZE 65025 |
#define PARAM AV_OPT_FLAG_ENCODING_PARAM |
#define SPEEX_HEADER_SIZE 80 |
Function Documentation
static int64_t ogg_granule_to_timestamp |
( |
OGGStreamContext * |
oggstream, |
|
|
int64_t |
granule | |
|
) |
| | [static] |
static int ogg_key_granule |
( |
OGGStreamContext * |
oggstream, |
|
|
int64_t |
granule | |
|
) |
| | [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 352 of file oggenc.c.
static uint8_t* ogg_write_vorbiscomment |
( |
int |
offset, |
|
|
int |
bitexact, |
|
|
int * |
header_len, |
|
|
AVDictionary ** |
m, |
|
|
int |
framing_bit | |
|
) |
| | [static] |
Variable Documentation
Initial value:
{
.name = "ogg",
.long_name = NULL_IF_CONFIG_SMALL("Ogg"),
.mime_type = "application/ogg",
.extensions = "ogg,ogv,spx",
.priv_data_size = sizeof(OGGContext),
.audio_codec = CODEC_ID_FLAC,
.video_codec = CODEC_ID_THEORA,
.write_header = ogg_write_header,
.write_packet = ogg_write_packet,
.write_trailer = ogg_write_trailer,
.priv_class = &ogg_muxer_class,
}
Definition at line 543 of file oggenc.c.
Initial value:
Definition at line 84 of file oggenc.c.
Initial value:
{
{ "oggpagesize", "Set preferred Ogg page size.",
0x42, AV_OPT_TYPE_INT, {.dbl = 0}, 0, MAX_PAGE_SIZE, AV_OPT_FLAG_ENCODING_PARAM},
{ "pagesize", "preferred page size in bytes",
OFFSET(pref_size), AV_OPT_TYPE_INT, { 0 }, 0, MAX_PAGE_SIZE, PARAM },
{ NULL },
}
Definition at line 76 of file oggenc.c.