#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 |
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, const uint8_t *buf, int buf_size) |
static av_cold int | libschroedinger_decode_close (AVCodecContext *avccontext) |
static void | libschroedinger_flush (AVCodecContext *avccontext) |
Variables | |
AVCodec | 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* FfmpegFindNextSchroParseUnit | ( | FfmpegSchroParseUnitContext * | parse_ctx | ) | [static] |
static void FfmpegSchroParseContextInit | ( | FfmpegSchroParseUnitContext * | parse_ctx, | |
const uint8_t * | buf, | |||
int | buf_size | |||
) | [static] |
static enum PixelFormat GetFfmpegChromaFormat | ( | 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 328 of file libschroedingerdec.c.
static int libschroedinger_decode_frame | ( | AVCodecContext * | avccontext, | |
void * | data, | |||
int * | data_size, | |||
const uint8_t * | buf, | |||
int | buf_size | |||
) | [static] |
Definition at line 208 of file libschroedingerdec.c.
static void libschroedinger_decode_frame_free | ( | void * | frame | ) | [static] |
Definition at line 163 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 138 of file libschroedingerdec.c.
static void libschroedinger_flush | ( | AVCodecContext * | avccontext | ) | [static] |
Definition at line 344 of file libschroedingerdec.c.
static void libschroedinger_handle_first_access_unit | ( | AVCodecContext * | avccontext | ) | [static] |
Initial value:
{ "libschroedinger", CODEC_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 360 of file libschroedingerdec.c.