#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.
1.5.8