libavcodec/libopenjpegenc.c File Reference

JPEG 2000 encoder using libopenjpeg. More...

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

Go to the source code of this file.

Data Structures

struct  LibOpenJPEGContext

Defines

#define OPJ_STATIC

Functions

static void error_callback (const char *msg, void *data)
static void warning_callback (const char *msg, void *data)
static opj_image_t * mj2_create_image (AVCodecContext *avctx, opj_cparameters_t *parameters)
static av_cold int libopenjpeg_encode_init (AVCodecContext *avctx)
static int libopenjpeg_copy_packed8 (AVCodecContext *avctx, AVFrame *frame, opj_image_t *image)
static int libopenjpeg_copy_packed16 (AVCodecContext *avctx, AVFrame *frame, opj_image_t *image)
static int libopenjpeg_copy_unpacked8 (AVCodecContext *avctx, AVFrame *frame, opj_image_t *image)
static int libopenjpeg_copy_unpacked16 (AVCodecContext *avctx, AVFrame *frame, opj_image_t *image)
static int libopenjpeg_encode_frame (AVCodecContext *avctx, uint8_t *buf, int buf_size, void *data)
static av_cold int libopenjpeg_encode_close (AVCodecContext *avctx)

Variables

AVCodec ff_libopenjpeg_encoder

Detailed Description

JPEG 2000 encoder using libopenjpeg.

Definition in file libopenjpegenc.c.


Define Documentation

#define OPJ_STATIC

Definition at line 31 of file libopenjpegenc.c.


Function Documentation

static void error_callback ( const char *  msg,
void *  data 
) [static]

Definition at line 41 of file libopenjpegenc.c.

static int libopenjpeg_copy_packed16 ( AVCodecContext avctx,
AVFrame frame,
opj_image_t *  image 
) [static]

Definition at line 234 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_frame().

static int libopenjpeg_copy_packed8 ( AVCodecContext avctx,
AVFrame frame,
opj_image_t *  image 
) [static]

Definition at line 204 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_frame().

static int libopenjpeg_copy_unpacked16 ( AVCodecContext avctx,
AVFrame frame,
opj_image_t *  image 
) [static]

Definition at line 298 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_frame().

static int libopenjpeg_copy_unpacked8 ( AVCodecContext avctx,
AVFrame frame,
opj_image_t *  image 
) [static]

Definition at line 265 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_frame().

static av_cold int libopenjpeg_encode_close ( AVCodecContext avctx  )  [static]

Definition at line 416 of file libopenjpegenc.c.

static int libopenjpeg_encode_frame ( AVCodecContext avctx,
uint8_t *  buf,
int  buf_size,
void *  data 
) [static]

Definition at line 333 of file libopenjpegenc.c.

static av_cold int libopenjpeg_encode_init ( AVCodecContext avctx  )  [static]

Definition at line 165 of file libopenjpegenc.c.

static opj_image_t* mj2_create_image ( AVCodecContext avctx,
opj_cparameters_t *  parameters 
) [static]

Definition at line 51 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_init().

static void warning_callback ( const char *  msg,
void *  data 
) [static]

Definition at line 46 of file libopenjpegenc.c.


Variable Documentation

Initial value:
 {
    .name           = "libopenjpeg",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = CODEC_ID_JPEG2000,
    .priv_data_size = sizeof(LibOpenJPEGContext),
    .init           = libopenjpeg_encode_init,
    .encode         = libopenjpeg_encode_frame,
    .close          = libopenjpeg_encode_close,
    .capabilities   = 0,
    .pix_fmts = (const enum PixelFormat[]){PIX_FMT_RGB24,PIX_FMT_RGBA,PIX_FMT_RGB48,PIX_FMT_RGBA64,
                                           PIX_FMT_GRAY8,PIX_FMT_GRAY8A,PIX_FMT_GRAY16,
                                           PIX_FMT_YUV420P,PIX_FMT_YUV422P,PIX_FMT_YUVA420P,
                                           PIX_FMT_YUV440P,PIX_FMT_YUV444P,
                                           PIX_FMT_YUV420P9,PIX_FMT_YUV422P9,PIX_FMT_YUV444P9,
                                           PIX_FMT_YUV420P10,PIX_FMT_YUV422P10,PIX_FMT_YUV444P10,
                                           PIX_FMT_YUV420P16,PIX_FMT_YUV422P16,PIX_FMT_YUV444P16,
                                           PIX_FMT_NONE},
    .long_name = NULL_IF_CONFIG_SMALL("OpenJPEG based JPEG 2000 encoder"),
}

Definition at line 427 of file libopenjpegenc.c.