libschroedingerdec.c File Reference

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

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

Go to the source code of this file.

Data Structures

struct  SchroDecoderParams
 libschroedinger decoder private data More...
struct  SchroParseUnitContext

Typedefs

typedef struct SchroDecoderParams SchroDecoderParams
 libschroedinger decoder private data
typedef struct
SchroParseUnitContext 
SchroParseUnitContext

Functions

static void libschroedinger_decode_buffer_free (SchroBuffer *schro_buf, void *priv)
static void SchroParseContextInit (SchroParseUnitContext *parse_ctx, const uint8_t *buf, int buf_size)
static SchroBuffer * FindNextSchroParseUnit (SchroParseUnitContext *parse_ctx)
static enum PixelFormat get_chroma_format (SchroChromaFormat schro_pix_fmt)
 Returns Libav chroma format.
static av_cold int libschroedinger_decode_init (AVCodecContext *avccontext)
static void libschroedinger_decode_frame_free (void *frame)
static void libschroedinger_handle_first_access_unit (AVCodecContext *avccontext)
static int libschroedinger_decode_frame (AVCodecContext *avccontext, void *data, int *data_size, AVPacket *avpkt)
static av_cold int libschroedinger_decode_close (AVCodecContext *avccontext)
static void libschroedinger_flush (AVCodecContext *avccontext)

Variables

AVCodec ff_libschroedinger_decoder

Detailed Description

Dirac decoder 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 libschroedingerdec.c.

Typedef Documentation

libschroedinger decoder private data

Function Documentation

static SchroBuffer* FindNextSchroParseUnit ( SchroParseUnitContext parse_ctx)
static

Definition at line 83 of file libschroedingerdec.c.

Referenced by libschroedinger_decode_frame().

static enum PixelFormat get_chroma_format ( SchroChromaFormat  schro_pix_fmt)
static

Returns Libav chroma format.

Definition at line 123 of file libschroedingerdec.c.

Referenced by libschroedinger_handle_first_access_unit().

static void libschroedinger_decode_buffer_free ( SchroBuffer *  schro_buf,
void priv 
)
static

Definition at line 154 of file libschroedingerdec.c.

Referenced by FindNextSchroParseUnit().

static av_cold int libschroedinger_decode_close ( AVCodecContext avccontext)
static

Definition at line 315 of file libschroedingerdec.c.

static int libschroedinger_decode_frame ( AVCodecContext avccontext,
void data,
int *  data_size,
AVPacket avpkt 
)
static

Definition at line 202 of file libschroedingerdec.c.

static void libschroedinger_decode_frame_free ( void frame)
static
static av_cold int libschroedinger_decode_init ( AVCodecContext avccontext)
static

Definition at line 135 of file libschroedingerdec.c.

static void libschroedinger_flush ( AVCodecContext avccontext)
static

Definition at line 331 of file libschroedingerdec.c.

static void libschroedinger_handle_first_access_unit ( AVCodecContext avccontext)
static

Definition at line 165 of file libschroedingerdec.c.

Referenced by libschroedinger_decode_frame().

static void SchroParseContextInit ( SchroParseUnitContext parse_ctx,
const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 76 of file libschroedingerdec.c.

Referenced by libschroedinger_decode_frame().

Variable Documentation

AVCodec ff_libschroedinger_decoder
Initial value:
{
.name = "libschroedinger",
.priv_data_size = sizeof(SchroDecoderParams),
.capabilities = CODEC_CAP_DELAY,
.long_name = NULL_IF_CONFIG_SMALL("libschroedinger Dirac 2.2"),
}

Definition at line 347 of file libschroedingerdec.c.