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
8787 numcomps = 3;
8888 bpp = 16;
8989 break;
90+ case PIX_FMT_RGBA64:
91+ color_space = CLRSPC_SRGB;
92+ numcomps = 4;
93+ bpp = 16;
94+ break;
9095 case PIX_FMT_YUV420P:
9196 color_space = CLRSPC_SYCC;
9297 numcomps = 3;
@@ -224,7 +229,7 @@ static int libopenjpeg_copy_rgb16(AVCodecContext *avctx, AVFrame *frame, opj_ima · 131 unmodified lines
224229 int y;
225230 uint16_t *frame_ptr = (uint16_t*)frame->data[0];
226231
227− av_assert0(numcomps == 1 || numcomps == 3);
232+ av_assert0(numcomps == 1 || numcomps == 3 || numcomps == 4);
228233
229234 for (compno = 0; compno < numcomps; ++compno) {
230235 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
334339 case PIX_FMT_RGB48:
335340 cpyresult = libopenjpeg_copy_rgb16(avctx, frame, image, 3);
336341 break;
342+ case PIX_FMT_RGBA64:
343+ cpyresult = libopenjpeg_copy_rgb16(avctx, frame, image, 4);
344+ break;
337345 case PIX_FMT_YUV420P:
338346 case PIX_FMT_YUV422P:
339347 case PIX_FMT_YUV440P:
@@ -408,7 +416,7 @@ AVCodec ff_libopenjpeg_encoder = { · 68 unmodified lines
408416 .encode = libopenjpeg_encode_frame,
409417 .close = libopenjpeg_encode_close,
410418 .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,
412420 PIX_FMT_GRAY8,PIX_FMT_GRAY16,
413421 PIX_FMT_YUV420P,PIX_FMT_YUV422P,PIX_FMT_YUVA420P,
414422 PIX_FMT_YUV440P,PIX_FMT_YUV444P,
libavcodec/version.h+1−1
@@ -22,7 +22,7 @@ · 21 unmodified lines
2222
2323 #define LIBAVCODEC_VERSION_MAJOR 53
2424 #define LIBAVCODEC_VERSION_MINOR 55
25−#define LIBAVCODEC_VERSION_MICRO 104
25+#define LIBAVCODEC_VERSION_MICRO 105
2626
2727 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
2828 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