libavcodec/libopenjpegenc.c File Reference

JPEG 2000 encoder using libopenjpeg. More...

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

Go to the source code of this file.

Data Structures

struct  LibOpenJPEGContext

Defines

#define OPJ_STATIC
#define OFFSET(x)   offsetof(LibOpenJPEGContext, x)
#define VE   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM

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, const AVFrame *frame, opj_image_t *image)
static int libopenjpeg_copy_packed16 (AVCodecContext *avctx, const AVFrame *frame, opj_image_t *image)
static int libopenjpeg_copy_unpacked8 (AVCodecContext *avctx, const AVFrame *frame, opj_image_t *image)
static int libopenjpeg_copy_unpacked16 (AVCodecContext *avctx, const AVFrame *frame, opj_image_t *image)
static int libopenjpeg_encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
static av_cold int libopenjpeg_encode_close (AVCodecContext *avctx)

Variables

static const AVOption options []
class {
      class_name = "libopenjpeg"
      item_name = av_default_item_name
      option = options
      version = LIBAVUTIL_VERSION_INT
}; 
AVCodec ff_libopenjpeg_encoder


Detailed Description

JPEG 2000 encoder using libopenjpeg.

Definition in file libopenjpegenc.c.


Define Documentation

#define OFFSET (  )     offsetof(LibOpenJPEGContext, x)

Definition at line 402 of file libopenjpegenc.c.

#define OPJ_STATIC

Definition at line 33 of file libopenjpegenc.c.

#define VE   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM

Definition at line 403 of file libopenjpegenc.c.


Function Documentation

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

Definition at line 53 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_init().

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

Definition at line 209 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_frame().

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

Definition at line 179 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_frame().

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

Definition at line 273 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_frame().

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

Definition at line 240 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_frame().

static av_cold int libopenjpeg_encode_close ( AVCodecContext avctx  )  [static]

Definition at line 392 of file libopenjpegenc.c.

static int libopenjpeg_encode_frame ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame frame,
int *  got_packet 
) [static]

Definition at line 308 of file libopenjpegenc.c.

static av_cold int libopenjpeg_encode_init ( AVCodecContext avctx  )  [static]

Definition at line 133 of file libopenjpegenc.c.

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

Definition at line 63 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_init().

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

Definition at line 58 of file libopenjpegenc.c.

Referenced by libopenjpeg_encode_init().


Variable Documentation

const { ... } [static]

class_name = "libopenjpeg"

Definition at line 432 of file libopenjpegenc.c.

Referenced by av_opt_show2().

item_name = av_default_item_name

Definition at line 433 of file libopenjpegenc.c.

Definition at line 434 of file libopenjpegenc.c.

Referenced by pp_get_mode_by_name_and_quality().

const AVOption options[] [static]

Initial value:

 {
    { "format",        "Codec Format",      OFFSET(format),        AV_OPT_TYPE_INT,   { CODEC_JP2   }, CODEC_J2K, CODEC_JP2,   VE, "format"      },
    { "j2k",           NULL,                0,                     AV_OPT_TYPE_CONST, { CODEC_J2K   }, 0,         0,           VE, "format"      },
    { "jp2",           NULL,                0,                     AV_OPT_TYPE_CONST, { CODEC_JP2   }, 0,         0,           VE, "format"      },
    { "profile",       NULL,                OFFSET(profile),       AV_OPT_TYPE_INT,   { STD_RSIZ    }, STD_RSIZ,  CINEMA4K,    VE, "profile"     },
    { "jpeg2000",      NULL,                0,                     AV_OPT_TYPE_CONST, { STD_RSIZ    }, 0,         0,           VE, "profile"     },
    { "cinema2k",      NULL,                0,                     AV_OPT_TYPE_CONST, { CINEMA2K    }, 0,         0,           VE, "profile"     },
    { "cinema4k",      NULL,                0,                     AV_OPT_TYPE_CONST, { CINEMA4K    }, 0,         0,           VE, "profile"     },
    { "cinema_mode",   "Digital Cinema",    OFFSET(cinema_mode),   AV_OPT_TYPE_INT,   { OFF         }, OFF,       CINEMA4K_24, VE, "cinema_mode" },
    { "off",           NULL,                0,                     AV_OPT_TYPE_CONST, { OFF         }, 0,         0,           VE, "cinema_mode" },
    { "2k_24",         NULL,                0,                     AV_OPT_TYPE_CONST, { CINEMA2K_24 }, 0,         0,           VE, "cinema_mode" },
    { "2k_48",         NULL,                0,                     AV_OPT_TYPE_CONST, { CINEMA2K_48 }, 0,         0,           VE, "cinema_mode" },
    { "4k_24",         NULL,                0,                     AV_OPT_TYPE_CONST, { CINEMA4K_24 }, 0,         0,           VE, "cinema_mode" },
    { "prog_order",    "Progression Order", OFFSET(prog_order),    AV_OPT_TYPE_INT,   { LRCP        }, LRCP,      CPRL,        VE, "prog_order"  },
    { "lrcp",          NULL,                0,                     AV_OPT_TYPE_CONST, { LRCP        }, 0,         0,           VE, "prog_order"  },
    { "rlcp",          NULL,                0,                     AV_OPT_TYPE_CONST, { RLCP        }, 0,         0,           VE, "prog_order"  },
    { "rpcl",          NULL,                0,                     AV_OPT_TYPE_CONST, { RPCL        }, 0,         0,           VE, "prog_order"  },
    { "pcrl",          NULL,                0,                     AV_OPT_TYPE_CONST, { PCRL        }, 0,         0,           VE, "prog_order"  },
    { "cprl",          NULL,                0,                     AV_OPT_TYPE_CONST, { CPRL        }, 0,         0,           VE, "prog_order"  },
    { "numresolution", NULL,                OFFSET(numresolution), AV_OPT_TYPE_INT,   { 6           }, 1,         10,          VE                },
    { "numlayers",     NULL,                OFFSET(numlayers),     AV_OPT_TYPE_INT,   { 1           }, 1,         10,          VE                },
    { "disto_alloc",   NULL,                OFFSET(disto_alloc),   AV_OPT_TYPE_INT,   { 1           }, 0,         1,           VE                },
    { "fixed_alloc",   NULL,                OFFSET(fixed_alloc),   AV_OPT_TYPE_INT,   { 0           }, 0,         1,           VE                },
    { "fixed_quality", NULL,                OFFSET(fixed_quality), AV_OPT_TYPE_INT,   { 0           }, 0,         1,           VE                },
    { NULL },
}

Definition at line 404 of file libopenjpegenc.c.


Generated on Fri Oct 26 02:47:57 2012 for FFmpeg by  doxygen 1.5.8