libavcodec/libopenjpeg.c File Reference

JPEG 2000 decoder using libopenjpeg. More...

#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "libavutil/intreadwrite.h"
#include "thread.h"
#include <openjpeg.h>

Go to the source code of this file.

Data Structures

struct  LibOpenJPEGContext

Defines

#define OPJ_STATIC
#define JP2_SIG_TYPE   0x6A502020
#define JP2_SIG_VALUE   0x0D0A870A

Functions

static int check_image_attributes (opj_image_t *image)
static av_cold int libopenjpeg_decode_init (AVCodecContext *avctx)
static av_cold int libopenjpeg_decode_init_thread_copy (AVCodecContext *avctx)
static int libopenjpeg_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
static av_cold int libopenjpeg_decode_close (AVCodecContext *avctx)

Variables

AVCodec ff_libopenjpeg_decoder

Detailed Description

JPEG 2000 decoder using libopenjpeg.

Definition in file libopenjpeg.c.


Define Documentation

#define JP2_SIG_TYPE   0x6A502020

Definition at line 34 of file libopenjpeg.c.

Referenced by libopenjpeg_decode_frame().

#define JP2_SIG_VALUE   0x0D0A870A

Definition at line 35 of file libopenjpeg.c.

Referenced by libopenjpeg_decode_frame().

#define OPJ_STATIC

Definition at line 31 of file libopenjpeg.c.


Function Documentation

static int check_image_attributes ( opj_image_t *  image  )  [static]

Definition at line 42 of file libopenjpeg.c.

Referenced by libopenjpeg_decode_frame().

static av_cold int libopenjpeg_decode_close ( AVCodecContext avctx  )  [static]

Definition at line 203 of file libopenjpeg.c.

static int libopenjpeg_decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
AVPacket avpkt 
) [static]

Definition at line 69 of file libopenjpeg.c.

static av_cold int libopenjpeg_decode_init ( AVCodecContext avctx  )  [static]

Definition at line 52 of file libopenjpeg.c.

static av_cold int libopenjpeg_decode_init_thread_copy ( AVCodecContext avctx  )  [static]

Definition at line 61 of file libopenjpeg.c.


Variable Documentation

Initial value:
 {
    .name           = "libopenjpeg",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = CODEC_ID_JPEG2000,
    .priv_data_size = sizeof(LibOpenJPEGContext),
    .init           = libopenjpeg_decode_init,
    .close          = libopenjpeg_decode_close,
    .decode         = libopenjpeg_decode_frame,
    .capabilities   = CODEC_CAP_DR1 | CODEC_CAP_FRAME_THREADS,
    .max_lowres     = 5,
    .long_name      = NULL_IF_CONFIG_SMALL("OpenJPEG based JPEG 2000 decoder"),
    .init_thread_copy = ONLY_IF_THREADS_ENABLED(libopenjpeg_decode_init_thread_copy)
}

Definition at line 213 of file libopenjpeg.c.