libavcodec/libvorbis.c File Reference

Ogg Vorbis codec support via libvorbisenc. More...

#include <vorbis/vorbisenc.h>
#include "libavutil/opt.h"
#include "avcodec.h"
#include "bytestream.h"
#include "internal.h"
#include "vorbis.h"
#include "libavutil/mathematics.h"
#include <assert.h>

Go to the source code of this file.

Data Structures

struct  OggVorbisContext

Defines

#define OGGVORBIS_FRAME_SIZE   64
#define BUFFER_SIZE   (1024 * 64)

Typedefs

typedef struct OggVorbisContext OggVorbisContext

Functions

static av_cold int oggvorbis_init_encoder (vorbis_info *vi, AVCodecContext *avccontext)
static int xiph_len (int l)
static av_cold int oggvorbis_encode_init (AVCodecContext *avccontext)
static int oggvorbis_encode_frame (AVCodecContext *avccontext, unsigned char *packets, int buf_size, void *data)
static av_cold int oggvorbis_encode_close (AVCodecContext *avccontext)

Variables

static const AVOption options []
static const AVCodecDefault defaults []
class {
      libvorbis
      av_default_item_name
      options
}; 
AVCodec ff_libvorbis_encoder

Detailed Description

Ogg Vorbis codec support via libvorbisenc.

Author:
Mark Hills <mark@pogo.org.uk>

Definition in file libvorbis.c.


Define Documentation

#define BUFFER_SIZE   (1024 * 64)

Definition at line 41 of file libvorbis.c.

Referenced by oggvorbis_encode_frame().

#define OGGVORBIS_FRAME_SIZE   64

Definition at line 39 of file libvorbis.c.


Typedef Documentation


Function Documentation

static av_cold int oggvorbis_encode_close ( AVCodecContext avccontext  )  [static]

Definition at line 250 of file libvorbis.c.

static int oggvorbis_encode_frame ( AVCodecContext avccontext,
unsigned char *  packets,
int  buf_size,
void *  data 
) [static]

Definition at line 178 of file libvorbis.c.

static av_cold int oggvorbis_encode_init ( AVCodecContext avccontext  )  [static]

Definition at line 125 of file libvorbis.c.

static av_cold int oggvorbis_init_encoder ( vorbis_info *  vi,
AVCodecContext avccontext 
) [static]

Definition at line 71 of file libvorbis.c.

Referenced by oggvorbis_encode_init().

static int xiph_len ( int  l  )  [static]

Definition at line 120 of file libvorbis.c.

Referenced by oggvorbis_encode_init().


Variable Documentation

const { ... } [static]
av_default_item_name

Definition at line 69 of file libvorbis.c.

const AVCodecDefault defaults[] [static]
Initial value:
 {
    { "b",  "0" },
    { NULL },
}

Definition at line 64 of file libvorbis.c.

Initial value:
 {
    .name           = "libvorbis",
    .type           = AVMEDIA_TYPE_AUDIO,
    .id             = CODEC_ID_VORBIS,
    .priv_data_size = sizeof(OggVorbisContext),
    .init           = oggvorbis_encode_init,
    .encode         = oggvorbis_encode_frame,
    .close          = oggvorbis_encode_close,
    .capabilities   = CODEC_CAP_DELAY,
    .sample_fmts    = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
    .long_name      = NULL_IF_CONFIG_SMALL("libvorbis Vorbis"),
    .priv_class     = &class,
    .defaults       = defaults,
}

Definition at line 267 of file libvorbis.c.

Definition at line 69 of file libvorbis.c.

Referenced by avcodec_register_all().

options [static]
Initial value:
 {
    { "iblock", "Sets the impulse block bias", 0x42, AV_OPT_TYPE_DOUBLE, { .dbl = 0 }, -15, 0, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM },
    { NULL }
}

Definition at line 59 of file libvorbis.c.