Data Structures | Typedefs | Functions | Variables

libavcodec/libschroedingerdec.c File Reference

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

#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 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 82 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 75 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 122 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 153 of file libschroedingerdec.c.

static av_cold int libschroedinger_decode_close ( AVCodecContext avccontext  )  [static]

Definition at line 316 of file libschroedingerdec.c.

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

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

static void libschroedinger_flush ( AVCodecContext avccontext  )  [static]

Definition at line 332 of file libschroedingerdec.c.

static void libschroedinger_handle_first_access_unit ( AVCodecContext avccontext  )  [static]

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