summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2013-10-08 11:29:29 +0000
committerPaul B Mahol <onemda@gmail.com>2013-10-08 12:40:33 +0000
commit3abbf20962f7285e0bcdb511aab14b600ddfe345 (patch)
tree1cc13c1609e61aed694c41a600295ef5fd5a887d /libavcodec
parent361b56c37962e0f57a67a505d8f0aa03ba4818c0 (diff)
dpx: abgr support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/dpx.c5
-rw-r--r--libavcodec/dpxenc.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c
index 4b997e421f..8468720615 100644
--- a/libavcodec/dpx.c
+++ b/libavcodec/dpx.c
@@ -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;
diff --git a/libavcodec/dpxenc.c b/libavcodec/dpxenc.c
index 875862d9af..0eb1297157 100644
--- a/libavcodec/dpxenc.c
+++ b/libavcodec/dpxenc.c
@@ -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,