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 | SchroDecoderParams |
| libschroedinger decoder private data More... | |
| struct | SchroParseUnitContext |
Typedefs | |
| typedef struct SchroDecoderParams | SchroDecoderParams |
| libschroedinger decoder private data | |
| typedef struct SchroParseUnitContext | 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 Libav 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 |
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 struct SchroDecoderParams SchroDecoderParams |
libschroedinger decoder private data
| typedef struct SchroParseUnitContext SchroParseUnitContext |
| static SchroBuffer* FindNextSchroParseUnit | ( | SchroParseUnitContext * | parse_ctx | ) | [static] |
Definition at line 83 of file libschroedingerdec.c.
Referenced by libschroedinger_decode_frame().
| static enum PixelFormat get_chroma_format | ( | SchroChromaFormat | schro_pix_fmt | ) | [static] |
Returns Libav 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 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] |
Definition at line 165 of file libschroedingerdec.c.
Referenced by libschroedinger_decode_frame().
| static void SchroParseContextInit | ( | SchroParseUnitContext * | parse_ctx, | |
| const uint8_t * | buf, | |||
| int | buf_size | |||
| ) | [static] |
Definition at line 76 of file libschroedingerdec.c.
Referenced by libschroedinger_decode_frame().
{
.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.