Browse code

dpx: abgr support

Signed-off-by: Paul B Mahol <onemda@gmail.com>

Paul B Mahol authored on 2013/10/08 20:29:29
Showing 2 changed files
... ...
@@ -152,6 +152,7 @@ static int decode_frame(AVCodecContext *avctx,
152 152
     case 6:  // Y
153 153
         elements = 1;
154 154
         break;
155
+    case 52: // ABGR
155 156
     case 51: // RGBA
156 157
         elements = 4;
157 158
         break;
... ...
@@ -202,6 +203,10 @@ static int decode_frame(AVCodecContext *avctx,
202 202
     case 50080:
203 203
         avctx->pix_fmt = AV_PIX_FMT_RGB24;
204 204
         break;
205
+    case 52081:
206
+    case 52080:
207
+        avctx->pix_fmt = AV_PIX_FMT_ABGR;
208
+        break;
205 209
     case 51081:
206 210
     case 51080:
207 211
         avctx->pix_fmt = AV_PIX_FMT_RGBA;
... ...
@@ -43,6 +43,9 @@ static av_cold int encode_init(AVCodecContext *avctx)
43 43
     s->planar             = !!(desc->flags & AV_PIX_FMT_FLAG_PLANAR);
44 44
 
45 45
     switch (avctx->pix_fmt) {
46
+    case AV_PIX_FMT_ABGR:
47
+        s->descriptor = 52;
48
+        break;
46 49
     case AV_PIX_FMT_GRAY16BE:
47 50
     case AV_PIX_FMT_GRAY16LE:
48 51
     case AV_PIX_FMT_GRAY8:
... ...
@@ -248,7 +251,7 @@ AVCodec ff_dpx_encoder = {
248 248
     .encode2        = encode_frame,
249 249
     .pix_fmts       = (const enum AVPixelFormat[]){
250 250
         AV_PIX_FMT_GRAY8,
251
-        AV_PIX_FMT_RGB24,    AV_PIX_FMT_RGBA,
251
+        AV_PIX_FMT_RGB24,    AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR,
252 252
         AV_PIX_FMT_GRAY16LE, AV_PIX_FMT_GRAY16BE,
253 253
         AV_PIX_FMT_RGB48LE,  AV_PIX_FMT_RGB48BE,
254 254
         AV_PIX_FMT_RGBA64LE, AV_PIX_FMT_RGBA64BE,