#include <openjpeg.h>
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "internal.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 void | info_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 |
Definition in file libopenjpegenc.c.
#define OFFSET | ( | x | ) | offsetof(LibOpenJPEGContext, x) |
Definition at line 437 of file libopenjpegenc.c.
#define OPJ_STATIC |
Definition at line 27 of file libopenjpegenc.c.
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Definition at line 438 of file libopenjpegenc.c.
static void error_callback | ( | const char * | msg, | |
void * | data | |||
) | [static] |
static void info_callback | ( | const char * | msg, | |
void * | data | |||
) | [static] |
static int libopenjpeg_copy_packed16 | ( | AVCodecContext * | avctx, | |
const AVFrame * | frame, | |||
opj_image_t * | image | |||
) | [static] |
static int libopenjpeg_copy_packed8 | ( | AVCodecContext * | avctx, | |
const AVFrame * | frame, | |||
opj_image_t * | image | |||
) | [static] |
static int libopenjpeg_copy_unpacked16 | ( | AVCodecContext * | avctx, | |
const AVFrame * | frame, | |||
opj_image_t * | image | |||
) | [static] |
static int libopenjpeg_copy_unpacked8 | ( | AVCodecContext * | avctx, | |
const AVFrame * | frame, | |||
opj_image_t * | image | |||
) | [static] |
static av_cold int libopenjpeg_encode_close | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 427 of file libopenjpegenc.c.
static int libopenjpeg_encode_frame | ( | AVCodecContext * | avctx, | |
AVPacket * | pkt, | |||
const AVFrame * | frame, | |||
int * | got_packet | |||
) | [static] |
Definition at line 330 of file libopenjpegenc.c.
static av_cold int libopenjpeg_encode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 152 of file libopenjpegenc.c.
static opj_image_t* mj2_create_image | ( | AVCodecContext * | avctx, | |
opj_cparameters_t * | parameters | |||
) | [static] |
static void warning_callback | ( | const char * | msg, | |
void * | data | |||
) | [static] |
const { ... } [static] |
class_name = "libopenjpeg" |
Definition at line 467 of file libopenjpegenc.c.
Initial value:
{ .name = "libopenjpeg", .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_JPEG2000, .priv_data_size = sizeof(LibOpenJPEGContext), .init = libopenjpeg_encode_init, .encode2 = 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_YUVA422P, PIX_FMT_YUV411P, PIX_FMT_YUV410P, PIX_FMT_YUVA444P, PIX_FMT_YUV420P9, PIX_FMT_YUV422P9, PIX_FMT_YUV444P9, PIX_FMT_YUV420P10, PIX_FMT_YUV422P10, PIX_FMT_YUV444P10, PIX_FMT_YUV420P12, PIX_FMT_YUV422P12, PIX_FMT_YUV444P12, PIX_FMT_YUV420P14, PIX_FMT_YUV422P14, PIX_FMT_YUV444P14, PIX_FMT_YUV420P16, PIX_FMT_YUV422P16, PIX_FMT_YUV444P16, PIX_FMT_NONE }, .long_name = NULL_IF_CONFIG_SMALL("OpenJPEG JPEG 2000"), .priv_class = &class, }
Definition at line 473 of file libopenjpegenc.c.
item_name = av_default_item_name |
Definition at line 468 of file libopenjpegenc.c.
Definition at line 469 of file libopenjpegenc.c.
Initial value:
{ { "format", "Codec Format", OFFSET(format), AV_OPT_TYPE_INT, { .i64 = CODEC_JP2 }, CODEC_J2K, CODEC_JP2, VE, "format" }, { "j2k", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CODEC_J2K }, 0, 0, VE, "format" }, { "jp2", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CODEC_JP2 }, 0, 0, VE, "format" }, { "profile", NULL, OFFSET(profile), AV_OPT_TYPE_INT, { .i64 = STD_RSIZ }, STD_RSIZ, CINEMA4K, VE, "profile" }, { "jpeg2000", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = STD_RSIZ }, 0, 0, VE, "profile" }, { "cinema2k", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CINEMA2K }, 0, 0, VE, "profile" }, { "cinema4k", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CINEMA4K }, 0, 0, VE, "profile" }, { "cinema_mode", "Digital Cinema", OFFSET(cinema_mode), AV_OPT_TYPE_INT, { .i64 = OFF }, OFF, CINEMA4K_24, VE, "cinema_mode" }, { "off", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = OFF }, 0, 0, VE, "cinema_mode" }, { "2k_24", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CINEMA2K_24 }, 0, 0, VE, "cinema_mode" }, { "2k_48", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CINEMA2K_48 }, 0, 0, VE, "cinema_mode" }, { "4k_24", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CINEMA4K_24 }, 0, 0, VE, "cinema_mode" }, { "prog_order", "Progression Order", OFFSET(prog_order), AV_OPT_TYPE_INT, { .i64 = LRCP }, LRCP, CPRL, VE, "prog_order" }, { "lrcp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LRCP }, 0, 0, VE, "prog_order" }, { "rlcp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = RLCP }, 0, 0, VE, "prog_order" }, { "rpcl", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = RPCL }, 0, 0, VE, "prog_order" }, { "pcrl", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = PCRL }, 0, 0, VE, "prog_order" }, { "cprl", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CPRL }, 0, 0, VE, "prog_order" }, { "numresolution", NULL, OFFSET(numresolution), AV_OPT_TYPE_INT, { .i64 = 6 }, 1, INT_MAX, VE }, { "numlayers", NULL, OFFSET(numlayers), AV_OPT_TYPE_INT, { .i64 = 1 }, 1, 10, VE }, { "disto_alloc", NULL, OFFSET(disto_alloc), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, VE }, { "fixed_alloc", NULL, OFFSET(fixed_alloc), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE }, { "fixed_quality", NULL, OFFSET(fixed_quality), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE }, { NULL }, }
Definition at line 439 of file libopenjpegenc.c.
Definition at line 470 of file libopenjpegenc.c.