frmdec: tag 5 is AV_PIX_FMT_BGRA with reversed alpha (0=solid/opaque .. 255=transparent)

This commit is contained in:
Peter Ross 2013-01-07 22:08:39 +11:00
parent 4765f63538
commit 5b69c07d12

View File

@ -33,7 +33,7 @@ static const AVCodecTag frm_pix_fmt_tags[] = {
{ AV_PIX_FMT_RGB0, 2 }, { AV_PIX_FMT_RGB0, 2 },
{ AV_PIX_FMT_RGB24, 3 }, { AV_PIX_FMT_RGB24, 3 },
{ AV_PIX_FMT_BGR0, 4 }, { AV_PIX_FMT_BGR0, 4 },
{ AV_PIX_FMT_BGR0, 5 }, { AV_PIX_FMT_BGRA, 5 },
{ AV_PIX_FMT_NONE, 0 }, { AV_PIX_FMT_NONE, 0 },
}; };
@ -88,6 +88,12 @@ static int frm_read_packet(AVFormatContext *avctx, AVPacket *pkt)
if (ret < 0) if (ret < 0)
return ret; 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; pkt->stream_index = 0;
s->count++; s->count++;