Commit 4ea70511 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge git://github.com/mjbshaw/FFmpeg-OpenJPEG-J2K-Encoder

* git://github.com/mjbshaw/FFmpeg-OpenJPEG-J2K-Encoder:
  libopenjpegdec: add support for decoding YUV420/422/444P12/14
  libopenjpegenc: cosmetics: reorder pix_fmts
  libopenjpegenc: add support for YUV420/422/444P12/14
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 1fe6cb44 d3b84fdc
...@@ -44,6 +44,8 @@ ...@@ -44,6 +44,8 @@
PIX_FMT_YUV440P,PIX_FMT_YUV444P,PIX_FMT_YUVA444P, \ PIX_FMT_YUV440P,PIX_FMT_YUV444P,PIX_FMT_YUVA444P, \
PIX_FMT_YUV420P9,PIX_FMT_YUV422P9,PIX_FMT_YUV444P9, \ PIX_FMT_YUV420P9,PIX_FMT_YUV422P9,PIX_FMT_YUV444P9, \
PIX_FMT_YUV420P10,PIX_FMT_YUV422P10,PIX_FMT_YUV444P10, \ 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_YUV420P16,PIX_FMT_YUV422P16,PIX_FMT_YUV444P16
static const enum PixelFormat libopenjpeg_rgb_pix_fmts[] = {RGB_PIXEL_FORMATS}; static const enum PixelFormat libopenjpeg_rgb_pix_fmts[] = {RGB_PIXEL_FORMATS};
......
...@@ -104,6 +104,12 @@ static opj_image_t *mj2_create_image(AVCodecContext *avctx, opj_cparameters_t *p ...@@ -104,6 +104,12 @@ static opj_image_t *mj2_create_image(AVCodecContext *avctx, opj_cparameters_t *p
case PIX_FMT_YUV420P10: case PIX_FMT_YUV420P10:
case PIX_FMT_YUV422P10: case PIX_FMT_YUV422P10:
case PIX_FMT_YUV444P10: case PIX_FMT_YUV444P10:
case PIX_FMT_YUV420P12:
case PIX_FMT_YUV422P12:
case PIX_FMT_YUV444P12:
case PIX_FMT_YUV420P14:
case PIX_FMT_YUV422P14:
case PIX_FMT_YUV444P14:
case PIX_FMT_YUV420P16: case PIX_FMT_YUV420P16:
case PIX_FMT_YUV422P16: case PIX_FMT_YUV422P16:
case PIX_FMT_YUV444P16: case PIX_FMT_YUV444P16:
...@@ -350,14 +356,20 @@ static int libopenjpeg_encode_frame(AVCodecContext *avctx, AVPacket *pkt, ...@@ -350,14 +356,20 @@ static int libopenjpeg_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
break; break;
case PIX_FMT_GRAY16: case PIX_FMT_GRAY16:
case PIX_FMT_YUV420P9: case PIX_FMT_YUV420P9:
case PIX_FMT_YUV420P10:
case PIX_FMT_YUV420P16:
case PIX_FMT_YUV422P9: case PIX_FMT_YUV422P9:
case PIX_FMT_YUV422P10:
case PIX_FMT_YUV422P16:
case PIX_FMT_YUV444P9: case PIX_FMT_YUV444P9:
case PIX_FMT_YUV444P10: case PIX_FMT_YUV444P10:
case PIX_FMT_YUV422P10:
case PIX_FMT_YUV420P10:
case PIX_FMT_YUV420P12:
case PIX_FMT_YUV422P12:
case PIX_FMT_YUV444P12:
case PIX_FMT_YUV420P14:
case PIX_FMT_YUV422P14:
case PIX_FMT_YUV444P14:
case PIX_FMT_YUV444P16: case PIX_FMT_YUV444P16:
case PIX_FMT_YUV422P16:
case PIX_FMT_YUV420P16:
cpyresult = libopenjpeg_copy_unpacked16(avctx, frame, image); cpyresult = libopenjpeg_copy_unpacked16(avctx, frame, image);
break; break;
default: default:
...@@ -460,6 +472,8 @@ AVCodec ff_libopenjpeg_encoder = { ...@@ -460,6 +472,8 @@ AVCodec ff_libopenjpeg_encoder = {
PIX_FMT_YUV411P, PIX_FMT_YUV410P, PIX_FMT_YUVA444P, PIX_FMT_YUV411P, PIX_FMT_YUV410P, PIX_FMT_YUVA444P,
PIX_FMT_YUV420P9, PIX_FMT_YUV422P9, PIX_FMT_YUV444P9, PIX_FMT_YUV420P9, PIX_FMT_YUV422P9, PIX_FMT_YUV444P9,
PIX_FMT_YUV420P10, PIX_FMT_YUV422P10, PIX_FMT_YUV444P10, 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_YUV420P16, PIX_FMT_YUV422P16, PIX_FMT_YUV444P16,
PIX_FMT_NONE PIX_FMT_NONE
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment