libopenjpeg: YUVA422P and YUVA444P support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2012-06-09 18:33:29 +00:00
parent 75f8f70221
commit 1ef5561a66
2 changed files with 9 additions and 5 deletions

View File

@ -39,9 +39,9 @@
// similar pix_fmts with higher bpp. // similar pix_fmts with higher bpp.
#define RGB_PIXEL_FORMATS PIX_FMT_RGB24,PIX_FMT_RGBA,PIX_FMT_RGB48,PIX_FMT_RGBA64 #define RGB_PIXEL_FORMATS PIX_FMT_RGB24,PIX_FMT_RGBA,PIX_FMT_RGB48,PIX_FMT_RGBA64
#define GRAY_PIXEL_FORMATS PIX_FMT_GRAY8,PIX_FMT_GRAY8A,PIX_FMT_GRAY16 #define GRAY_PIXEL_FORMATS PIX_FMT_GRAY8,PIX_FMT_GRAY8A,PIX_FMT_GRAY16
#define YUV_PIXEL_FORMATS PIX_FMT_YUV410P,PIX_FMT_YUV411P, \ #define YUV_PIXEL_FORMATS PIX_FMT_YUV410P,PIX_FMT_YUV411P,PIX_FMT_YUVA420P, \
PIX_FMT_YUV420P,PIX_FMT_YUV422P,PIX_FMT_YUVA420P, \ PIX_FMT_YUV420P,PIX_FMT_YUV422P,PIX_FMT_YUVA422P, \
PIX_FMT_YUV440P,PIX_FMT_YUV444P, \ 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_YUV420P16,PIX_FMT_YUV422P16,PIX_FMT_YUV444P16 PIX_FMT_YUV420P16,PIX_FMT_YUV422P16,PIX_FMT_YUV444P16

View File

@ -96,6 +96,8 @@ static opj_image_t *mj2_create_image(AVCodecContext *avctx, opj_cparameters_t *p
case PIX_FMT_YUV440P: case PIX_FMT_YUV440P:
case PIX_FMT_YUV444P: case PIX_FMT_YUV444P:
case PIX_FMT_YUVA420P: case PIX_FMT_YUVA420P:
case PIX_FMT_YUVA422P:
case PIX_FMT_YUVA444P:
case PIX_FMT_YUV420P9: case PIX_FMT_YUV420P9:
case PIX_FMT_YUV422P9: case PIX_FMT_YUV422P9:
case PIX_FMT_YUV444P9: case PIX_FMT_YUV444P9:
@ -342,6 +344,8 @@ static int libopenjpeg_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
case PIX_FMT_YUV440P: case PIX_FMT_YUV440P:
case PIX_FMT_YUV444P: case PIX_FMT_YUV444P:
case PIX_FMT_YUVA420P: case PIX_FMT_YUVA420P:
case PIX_FMT_YUVA422P:
case PIX_FMT_YUVA444P:
cpyresult = libopenjpeg_copy_unpacked8(avctx, frame, image); cpyresult = libopenjpeg_copy_unpacked8(avctx, frame, image);
break; break;
case PIX_FMT_GRAY16: case PIX_FMT_GRAY16:
@ -451,8 +455,8 @@ AVCodec ff_libopenjpeg_encoder = {
.pix_fmts = (const enum PixelFormat[]){PIX_FMT_RGB24,PIX_FMT_RGBA,PIX_FMT_RGB48,PIX_FMT_RGBA64, .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_GRAY8,PIX_FMT_GRAY8A,PIX_FMT_GRAY16,
PIX_FMT_YUV420P,PIX_FMT_YUV422P,PIX_FMT_YUVA420P, PIX_FMT_YUV420P,PIX_FMT_YUV422P,PIX_FMT_YUVA420P,
PIX_FMT_YUV440P,PIX_FMT_YUV444P, PIX_FMT_YUV440P,PIX_FMT_YUV444P,PIX_FMT_YUVA422P,
PIX_FMT_YUV411P,PIX_FMT_YUV410P, 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_YUV420P16,PIX_FMT_YUV422P16,PIX_FMT_YUV444P16, PIX_FMT_YUV420P16,PIX_FMT_YUV422P16,PIX_FMT_YUV444P16,