libschroedingerenc.c File Reference

Dirac encoder support via libschroedinger-1.0 libraries. More...

#include <assert.h>
#include <schroedinger/schro.h>
#include <schroedinger/schrodebug.h>
#include <schroedinger/schrovideoformat.h>
#include "avcodec.h"
#include "libdirac_libschro.h"
#include "libschroedinger.h"
#include "bytestream.h"

Go to the source code of this file.

Data Structures

struct  SchroEncoderParams
 libschroedinger encoder private data More...
 

Typedefs

typedef struct SchroEncoderParams SchroEncoderParams
 libschroedinger encoder private data More...
 

Functions

static int SetSchroChromaFormat (AVCodecContext *avccontext)
 Works out Schro-compatible chroma format. More...
 
static int libschroedinger_encode_init (AVCodecContext *avccontext)
 
static SchroFrame * libschroedinger_frame_from_data (AVCodecContext *avccontext, void *in_data)
 
static void SchroedingerFreeFrame (void *data)
 
static int libschroedinger_encode_frame (AVCodecContext *avccontext, unsigned char *frame, int buf_size, void *data)
 
static int libschroedinger_encode_close (AVCodecContext *avccontext)
 

Variables

AVCodec ff_libschroedinger_encoder
 

Detailed Description

Dirac encoder support via libschroedinger-1.0 libraries.

More details about the Schroedinger project can be found at http://www.diracvideo.org/. The library implements Dirac Specification Version 2.2 (http://dirac.sourceforge.net/specification.html).

Definition in file libschroedingerenc.c.

Typedef Documentation

libschroedinger encoder private data

Function Documentation

static int libschroedinger_encode_close ( AVCodecContext avccontext)
static

Definition at line 401 of file libschroedingerenc.c.

static int libschroedinger_encode_frame ( AVCodecContext avccontext,
unsigned char *  frame,
int  buf_size,
void data 
)
static

Definition at line 265 of file libschroedingerenc.c.

static int libschroedinger_encode_init ( AVCodecContext avccontext)
static

Definition at line 103 of file libschroedingerenc.c.

static SchroFrame* libschroedinger_frame_from_data ( AVCodecContext avccontext,
void in_data 
)
static

Definition at line 238 of file libschroedingerenc.c.

Referenced by libschroedinger_encode_frame().

static void SchroedingerFreeFrame ( void data)
static
static int SetSchroChromaFormat ( AVCodecContext avccontext)
static

Works out Schro-compatible chroma format.

Definition at line 79 of file libschroedingerenc.c.

Referenced by libschroedinger_encode_init().

Variable Documentation

AVCodec ff_libschroedinger_encoder
Initial value:
= {
.name = "libschroedinger",
.priv_data_size = sizeof(SchroEncoderParams),
.capabilities = CODEC_CAP_DELAY,
.long_name = NULL_IF_CONFIG_SMALL("libschroedinger Dirac 2.2"),
}
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition: pixfmt.h:68
static int libschroedinger_encode_init(AVCodecContext *avccontext)
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition: pixfmt.h:64
static int init(AVCodecParserContext *s)
Definition: h264_parser.c:336
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:191
static int libschroedinger_encode_close(AVCodecContext *avccontext)
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition: pixfmt.h:69
static int libschroedinger_encode_frame(AVCodecContext *avccontext, unsigned char *frame, int buf_size, void *data)
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:327
PixelFormat
Pixel format.
Definition: pixfmt.h:62
struct SchroEncoderParams SchroEncoderParams
libschroedinger encoder private data
#define CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
Definition: avcodec.h:750

Definition at line 424 of file libschroedingerenc.c.