dpx: abgr support
authorPaul B Mahol <onemda@gmail.com>
Tue, 8 Oct 2013 11:29:29 +0000 (11:29 +0000)
committerPaul B Mahol <onemda@gmail.com>
Tue, 8 Oct 2013 12:40:33 +0000 (12:40 +0000)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/dpx.c
libavcodec/dpxenc.c

index 4b997e4..8468720 100644 (file)
@@ -152,6 +152,7 @@ static int decode_frame(AVCodecContext *avctx,
     case 6:  // Y
         elements = 1;
         break;
+    case 52: // ABGR
     case 51: // RGBA
         elements = 4;
         break;
@@ -202,6 +203,10 @@ static int decode_frame(AVCodecContext *avctx,
     case 50080:
         avctx->pix_fmt = AV_PIX_FMT_RGB24;
         break;
+    case 52081:
+    case 52080:
+        avctx->pix_fmt = AV_PIX_FMT_ABGR;
+        break;
     case 51081:
     case 51080:
         avctx->pix_fmt = AV_PIX_FMT_RGBA;
index 875862d..0eb1297 100644 (file)
@@ -43,6 +43,9 @@ static av_cold int encode_init(AVCodecContext *avctx)
     s->planar             = !!(desc->flags & AV_PIX_FMT_FLAG_PLANAR);
 
     switch (avctx->pix_fmt) {
+    case AV_PIX_FMT_ABGR:
+        s->descriptor = 52;
+        break;
     case AV_PIX_FMT_GRAY16BE:
     case AV_PIX_FMT_GRAY16LE:
     case AV_PIX_FMT_GRAY8:
@@ -248,7 +251,7 @@ AVCodec ff_dpx_encoder = {
     .encode2        = encode_frame,
     .pix_fmts       = (const enum AVPixelFormat[]){
         AV_PIX_FMT_GRAY8,
-        AV_PIX_FMT_RGB24,    AV_PIX_FMT_RGBA,
+        AV_PIX_FMT_RGB24,    AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR,
         AV_PIX_FMT_GRAY16LE, AV_PIX_FMT_GRAY16BE,
         AV_PIX_FMT_RGB48LE,  AV_PIX_FMT_RGB48BE,
         AV_PIX_FMT_RGBA64LE, AV_PIX_FMT_RGBA64BE,