History

RGBA64 encoding with libopenjpeg.

Carl Eugen Hoyos committed 14 years ago

Commit 36397ea1 parent ffd10172 files · +11 −3Browse files

Unified · Split

2 files
  1. libavcodec/libopenjpegenc.c +10 −2
  2. libavcodec/version.h +1 −1
libavcodec/libopenjpegenc.c+10−2
@@ -87,6 +87,11 @@ static opj_image_t *mj2_create_image(AVCodecContext *avctx, opj_cparameters_t *p · 86 unmodified lines
87 numcomps = 3;87 numcomps = 3;
88 bpp = 16;88 bpp = 16;
89 break;89 break;
90 case PIX_FMT_RGBA64:
91 color_space = CLRSPC_SRGB;
92 numcomps = 4;
93 bpp = 16;
94 break;
90 case PIX_FMT_YUV420P:95 case PIX_FMT_YUV420P:
91 color_space = CLRSPC_SYCC;96 color_space = CLRSPC_SYCC;
92 numcomps = 3;97 numcomps = 3;
@@ -224,7 +229,7 @@ static int libopenjpeg_copy_rgb16(AVCodecContext *avctx, AVFrame *frame, opj_ima · 131 unmodified lines
224 int y;229 int y;
225 uint16_t *frame_ptr = (uint16_t*)frame->data[0];230 uint16_t *frame_ptr = (uint16_t*)frame->data[0];
226 231
227 av_assert0(numcomps == 1 || numcomps == 3);232 av_assert0(numcomps == 1 || numcomps == 3 || numcomps == 4);
228 233
229 for (compno = 0; compno < numcomps; ++compno) {234 for (compno = 0; compno < numcomps; ++compno) {
230 if (image->comps[compno].w > frame->linesize[0] / numcomps) {235 if (image->comps[compno].w > frame->linesize[0] / numcomps) {
@@ -334,6 +339,9 @@ static int libopenjpeg_encode_frame(AVCodecContext *avctx, uint8_t *buf, int buf · 103 unmodified lines
334 case PIX_FMT_RGB48:339 case PIX_FMT_RGB48:
335 cpyresult = libopenjpeg_copy_rgb16(avctx, frame, image, 3);340 cpyresult = libopenjpeg_copy_rgb16(avctx, frame, image, 3);
336 break;341 break;
342 case PIX_FMT_RGBA64:
343 cpyresult = libopenjpeg_copy_rgb16(avctx, frame, image, 4);
344 break;
337 case PIX_FMT_YUV420P:345 case PIX_FMT_YUV420P:
338 case PIX_FMT_YUV422P:346 case PIX_FMT_YUV422P:
339 case PIX_FMT_YUV440P:347 case PIX_FMT_YUV440P:
@@ -408,7 +416,7 @@ AVCodec ff_libopenjpeg_encoder = { · 68 unmodified lines
408 .encode = libopenjpeg_encode_frame,416 .encode = libopenjpeg_encode_frame,
409 .close = libopenjpeg_encode_close,417 .close = libopenjpeg_encode_close,
410 .capabilities = 0,418 .capabilities = 0,
411 .pix_fmts = (const enum PixelFormat[]){PIX_FMT_RGB24,PIX_FMT_RGBA,PIX_FMT_RGB48,419 .pix_fmts = (const enum PixelFormat[]){PIX_FMT_RGB24,PIX_FMT_RGBA,PIX_FMT_RGB48,PIX_FMT_RGBA64,
412 PIX_FMT_GRAY8,PIX_FMT_GRAY16,420 PIX_FMT_GRAY8,PIX_FMT_GRAY16,
413 PIX_FMT_YUV420P,PIX_FMT_YUV422P,PIX_FMT_YUVA420P,421 PIX_FMT_YUV420P,PIX_FMT_YUV422P,PIX_FMT_YUVA420P,
414 PIX_FMT_YUV440P,PIX_FMT_YUV444P,422 PIX_FMT_YUV440P,PIX_FMT_YUV444P,
libavcodec/version.h+1−1
@@ -22,7 +22,7 @@ · 21 unmodified lines
22 22
23#define LIBAVCODEC_VERSION_MAJOR 5323#define LIBAVCODEC_VERSION_MAJOR 53
24#define LIBAVCODEC_VERSION_MINOR 5524#define LIBAVCODEC_VERSION_MINOR 55
25#define LIBAVCODEC_VERSION_MICRO 10425#define LIBAVCODEC_VERSION_MICRO 105
26 26
27#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \27#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
28 LIBAVCODEC_VERSION_MINOR, \28 LIBAVCODEC_VERSION_MINOR, \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t