#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 |
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 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 |
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.
static SchroBuffer* FindNextSchroParseUnit | ( | SchroParseUnitContext * | parse_ctx | ) | [static] |
static enum PixelFormat get_chroma_format | ( | SchroChromaFormat | schro_pix_fmt | ) | [static] |
static void libschroedinger_decode_buffer_free | ( | SchroBuffer * | schro_buf, | |
void * | priv | |||
) | [static] |
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] |
Definition at line 160 of file libschroedingerdec.c.
Referenced by libschroedinger_decode_close(), libschroedinger_decode_frame(), and libschroedinger_flush().
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] |
static void SchroParseContextInit | ( | SchroParseUnitContext * | parse_ctx, | |
const uint8_t * | buf, | |||
int | buf_size | |||
) | [static] |
Initial value:
{ .name = "libschroedinger", .type = AVMEDIA_TYPE_VIDEO, .id = 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 347 of file libschroedingerdec.c.