libavcodec/libtheoraenc.c File Reference

Theora encoder using libtheora. More...

#include "libavutil/intreadwrite.h"
#include "libavutil/log.h"
#include "avcodec.h"
#include <theora/theora.h>

Go to the source code of this file.

Data Structures

struct  TheoraContext


static int concatenate_packet (unsigned int *offset, AVCodecContext *avc_context, const ogg_packet *packet)
static av_cold int encode_init (AVCodecContext *avc_context)
static int encode_frame (AVCodecContext *avc_context, uint8_t *outbuf, int buf_size, void *data)
static av_cold int encode_close (AVCodecContext *avc_context)


static enum PixelFormat supported_pixel_formats [] = { PIX_FMT_YUV420P, PIX_FMT_NONE }
AVCodec libtheora_encoder

Detailed Description

Theora encoder using libtheora.

Paul Richards <>
A lot of this is copy / paste from other output codecs in libavcodec or pure guesswork (or both).

I have used t_ prefixes on variables which are libtheora types and o_ prefixes on variables which are libogg types.

Definition in file libtheoraenc.c.

Function Documentation

static int concatenate_packet ( unsigned int *  offset,
AVCodecContext avc_context,
const ogg_packet *  packet 
) [static]

Concatenates an ogg_packet into the extradata.

Definition at line 48 of file libtheoraenc.c.

Referenced by encode_init().

static av_cold int encode_close ( AVCodecContext avc_context  )  [static]

Definition at line 243 of file libtheoraenc.c.

static int encode_frame ( AVCodecContext avc_context,
uint8_t *  outbuf,
int  buf_size,
void *  data 
) [static]

Definition at line 169 of file libtheoraenc.c.

static av_cold int encode_init ( AVCodecContext avc_context  )  [static]

Definition at line 80 of file libtheoraenc.c.

Variable Documentation

Initial value:

    .name = "libtheora",
    .type = CODEC_TYPE_VIDEO,
    .id = CODEC_ID_THEORA,
    .priv_data_size = sizeof(TheoraContext),
    .init = encode_init,
    .close = encode_close,
    .encode = encode_frame,
    .pix_fmts = supported_pixel_formats,
    .long_name = NULL_IF_CONFIG_SMALL("libtheora Theora"),
AVCodec struct exposed to libavcodec

Definition at line 271 of file libtheoraenc.c.

enum PixelFormat supported_pixel_formats[] = { PIX_FMT_YUV420P, PIX_FMT_NONE } [static]

Definition at line 268 of file libtheoraenc.c.

Generated on Fri Oct 26 02:35:43 2012 for FFmpeg by  doxygen 1.5.8