Data Structures | Typedefs | Functions | Variables

libavcodec/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  FfmpegSchroDecoderParams
 libschroedinger decoder private data More...
struct  FfmpegSchroParseUnitContext

Typedefs

typedef struct
FfmpegSchroDecoderParams 
FfmpegSchroDecoderParams
 libschroedinger decoder private data
typedef struct
FfmpegSchroParseUnitContext 
FfmpegSchroParseUnitContext

Functions

static void libschroedinger_decode_buffer_free (SchroBuffer *schro_buf, void *priv)
static void FfmpegSchroParseContextInit (FfmpegSchroParseUnitContext *parse_ctx, const uint8_t *buf, int buf_size)
static SchroBuffer * FfmpegFindNextSchroParseUnit (FfmpegSchroParseUnitContext *parse_ctx)
static enum PixelFormat GetFfmpegChromaFormat (SchroChromaFormat schro_pix_fmt)
 Returns FFmpeg 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* FfmpegFindNextSchroParseUnit ( FfmpegSchroParseUnitContext parse_ctx  )  [static]

Definition at line 83 of file libschroedingerdec.c.

Referenced by libschroedinger_decode_frame().

static void FfmpegSchroParseContextInit ( FfmpegSchroParseUnitContext parse_ctx,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 76 of file libschroedingerdec.c.

Referenced by libschroedinger_decode_frame().

static enum PixelFormat GetFfmpegChromaFormat ( SchroChromaFormat  schro_pix_fmt  )  [static]

Returns FFmpeg 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.

static av_cold int libschroedinger_decode_close ( AVCodecContext avccontext  )  [static]

Definition at line 317 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 333 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().


Variable Documentation

Initial value:
 {
    "libschroedinger",
    AVMEDIA_TYPE_VIDEO,
    CODEC_ID_DIRAC,
    sizeof(FfmpegSchroDecoderParams),
    libschroedinger_decode_init,
    NULL,
    libschroedinger_decode_close,
    libschroedinger_decode_frame,
    CODEC_CAP_DELAY,
    .flush = libschroedinger_flush,
    .long_name = NULL_IF_CONFIG_SMALL("libschroedinger Dirac 2.2"),
}

Definition at line 349 of file libschroedingerdec.c.