From 5b69c07d12b1e505fd7468828ed85d6d8d634621 Mon Sep 17 00:00:00 2001 From: Peter Ross Date: Mon, 7 Jan 2013 22:08:39 +1100 Subject: [PATCH] frmdec: tag 5 is AV_PIX_FMT_BGRA with reversed alpha (0=solid/opaque .. 255=transparent) --- libavformat/frmdec.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavformat/frmdec.c b/libavformat/frmdec.c index 914bab5cd4..9c29842734 100644 --- a/libavformat/frmdec.c +++ b/libavformat/frmdec.c @@ -33,7 +33,7 @@ static const AVCodecTag frm_pix_fmt_tags[] = { { AV_PIX_FMT_RGB0, 2 }, { AV_PIX_FMT_RGB24, 3 }, { AV_PIX_FMT_BGR0, 4 }, - { AV_PIX_FMT_BGR0, 5 }, + { AV_PIX_FMT_BGRA, 5 }, { AV_PIX_FMT_NONE, 0 }, }; @@ -88,6 +88,12 @@ static int frm_read_packet(AVFormatContext *avctx, AVPacket *pkt) if (ret < 0) return ret; + if (stc->pix_fmt == AV_PIX_FMT_BGRA) { + int i; + for (i = 3; i + 1 <= pkt->size; i += 4) + pkt->data[i] = 0xFF - pkt->data[i]; + } + pkt->stream_index = 0; s->count++;