FFmpeg  1.2.4
Data Structures | Typedefs | Functions | Variables
libschroedingerdec.c File Reference

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

#include <string.h>
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem.h"
#include "avcodec.h"
#include "internal.h"
#include "libschroedinger.h"
#include <schroedinger/schro.h>
#include <schroedinger/schrodebug.h>
#include <schroedinger/schrovideoformat.h>

Go to the source code of this file.

Data Structures

struct  LibSchroFrameContext
 SchroFrame and Pts relation. More...
struct  SchroDecoderParams
 libschroedinger decoder private data More...
struct  SchroParseUnitContext

Typedefs

typedef struct LibSchroFrameContext LibSchroFrameContext
 SchroFrame and Pts relation.
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 parse_context_init (SchroParseUnitContext *parse_ctx, const uint8_t *buf, int buf_size)
static SchroBuffer * find_next_parse_unit (SchroParseUnitContext *parse_ctx)
static enum AVPixelFormat get_chroma_format (SchroChromaFormat schro_pix_fmt)
 Returns FFmpeg chroma format.
static av_cold int libschroedinger_decode_init (AVCodecContext *avctx)
static void libschroedinger_decode_frame_free (void *frame)
static void libschroedinger_handle_first_access_unit (AVCodecContext *avctx)
static int libschroedinger_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
static av_cold int libschroedinger_decode_close (AVCodecContext *avctx)
static void libschroedinger_flush (AVCodecContext *avctx)

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

SchroFrame and Pts relation.

libschroedinger decoder private data

Function Documentation

static SchroBuffer* find_next_parse_unit ( SchroParseUnitContext parse_ctx)
static

Definition at line 93 of file libschroedingerdec.c.

Referenced by libschroedinger_decode_frame().

static enum AVPixelFormat get_chroma_format ( SchroChromaFormat  schro_pix_fmt)
static

Returns FFmpeg chroma format.

Definition at line 138 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 80 of file libschroedingerdec.c.

Referenced by find_next_parse_unit().

static av_cold int libschroedinger_decode_close ( AVCodecContext avctx)
static

Definition at line 353 of file libschroedingerdec.c.

static int libschroedinger_decode_frame ( AVCodecContext avctx,
void data,
int *  got_frame,
AVPacket avpkt 
)
static

Definition at line 205 of file libschroedingerdec.c.

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

Definition at line 150 of file libschroedingerdec.c.

static void libschroedinger_flush ( AVCodecContext avctx)
static

Definition at line 370 of file libschroedingerdec.c.

static void libschroedinger_handle_first_access_unit ( AVCodecContext avctx)
static

Definition at line 174 of file libschroedingerdec.c.

Referenced by libschroedinger_decode_frame().

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

Definition at line 86 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 386 of file libschroedingerdec.c.