libavcodec/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 "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

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 PixelFormat get_chroma_format (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.


Function Documentation

static SchroBuffer* find_next_parse_unit ( SchroParseUnitContext parse_ctx  )  [static]

Definition at line 92 of file libschroedingerdec.c.

Referenced by libschroedinger_decode_frame().

static enum PixelFormat get_chroma_format ( SchroChromaFormat  schro_pix_fmt  )  [static]

Returns FFmpeg chroma format.

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

Referenced by find_next_parse_unit().

static av_cold int libschroedinger_decode_close ( AVCodecContext avccontext  )  [static]

Definition at line 352 of file libschroedingerdec.c.

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

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

static void libschroedinger_flush ( AVCodecContext avccontext  )  [static]

Definition at line 369 of file libschroedingerdec.c.

static void libschroedinger_handle_first_access_unit ( AVCodecContext avccontext  )  [static]

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

Referenced by libschroedinger_decode_frame().


Variable Documentation

Initial value:

 {
    .name           = "libschroedinger",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = AV_CODEC_ID_DIRAC,
    .priv_data_size = sizeof(SchroDecoderParams),
    .init           = libschroedinger_decode_init,
    .close          = libschroedinger_decode_close,
    .decode         = libschroedinger_decode_frame,
    .capabilities   = CODEC_CAP_DELAY,
    .flush          = libschroedinger_flush,
    .long_name      = NULL_IF_CONFIG_SMALL("libschroedinger Dirac 2.2"),
}

Definition at line 385 of file libschroedingerdec.c.


Generated on Fri Oct 26 02:50:06 2012 for FFmpeg by  doxygen 1.5.8