libopenjpeg: YUVA422P and YUVA444P support
authorPaul B Mahol <onemda@gmail.com>
Sat, 9 Jun 2012 18:33:29 +0000 (18:33 +0000)
committerPaul B Mahol <onemda@gmail.com>
Sat, 9 Jun 2012 18:36:56 +0000 (18:36 +0000)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c

index 3194c68..73e738f 100644 (file)
@@ -39,9 +39,9 @@
 // similar pix_fmts with higher bpp.
 #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 YUV_PIXEL_FORMATS   PIX_FMT_YUV410P,PIX_FMT_YUV411P, \
-                            PIX_FMT_YUV420P,PIX_FMT_YUV422P,PIX_FMT_YUVA420P, \
-                            PIX_FMT_YUV440P,PIX_FMT_YUV444P, \
+#define YUV_PIXEL_FORMATS   PIX_FMT_YUV410P,PIX_FMT_YUV411P,PIX_FMT_YUVA420P, \
+                            PIX_FMT_YUV420P,PIX_FMT_YUV422P,PIX_FMT_YUVA422P, \
+                            PIX_FMT_YUV440P,PIX_FMT_YUV444P,PIX_FMT_YUVA444P, \
                             PIX_FMT_YUV420P9,PIX_FMT_YUV422P9,PIX_FMT_YUV444P9, \
                             PIX_FMT_YUV420P10,PIX_FMT_YUV422P10,PIX_FMT_YUV444P10, \
                             PIX_FMT_YUV420P16,PIX_FMT_YUV422P16,PIX_FMT_YUV444P16
index da12498..4fd942e 100644 (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_YUV444P:
     case PIX_FMT_YUVA420P:
+    case PIX_FMT_YUVA422P:
+    case PIX_FMT_YUVA444P:
     case PIX_FMT_YUV420P9:
     case PIX_FMT_YUV422P9:
     case PIX_FMT_YUV444P9:
@@ -342,6 +344,8 @@ static int libopenjpeg_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
     case PIX_FMT_YUV440P:
     case PIX_FMT_YUV444P:
     case PIX_FMT_YUVA420P:
+    case PIX_FMT_YUVA422P:
+    case PIX_FMT_YUVA444P:
         cpyresult = libopenjpeg_copy_unpacked8(avctx, frame, image);
         break;
     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_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_YUV411P,PIX_FMT_YUV410P,
+                                           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_YUV420P16,PIX_FMT_YUV422P16,PIX_FMT_YUV444P16,