From 9c069bf71af2edc666088fa4a0ce20fedaf4ecdc Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Sat, 24 Oct 2015 13:09:58 +0200 Subject: [PATCH] lavc/hapdec: Use correct no-transparency colour space. Reviewed-by: Tom Butterworth --- libavcodec/hapdec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/hapdec.c b/libavcodec/hapdec.c index 6adac21bbb..5a399dcb25 100644 --- a/libavcodec/hapdec.c +++ b/libavcodec/hapdec.c @@ -383,9 +383,6 @@ static av_cold int hap_init(AVCodecContext *avctx) avctx->coded_width = FFALIGN(avctx->width, TEXTURE_BLOCK_W); avctx->coded_height = FFALIGN(avctx->height, TEXTURE_BLOCK_H); - /* Technically only one mode has alpha, but 32 bits are easier to handle */ - avctx->pix_fmt = AV_PIX_FMT_RGBA; - ff_texturedsp_init(&ctx->dxtc); switch (avctx->codec_tag) { @@ -393,16 +390,19 @@ static av_cold int hap_init(AVCodecContext *avctx) texture_name = "DXT1"; ctx->tex_rat = 8; ctx->tex_fun = ctx->dxtc.dxt1_block; + avctx->pix_fmt = AV_PIX_FMT_RGB0; break; case MKTAG('H','a','p','5'): texture_name = "DXT5"; ctx->tex_rat = 16; ctx->tex_fun = ctx->dxtc.dxt5_block; + avctx->pix_fmt = AV_PIX_FMT_RGBA; break; case MKTAG('H','a','p','Y'): texture_name = "DXT5-YCoCg-scaled"; ctx->tex_rat = 16; ctx->tex_fun = ctx->dxtc.dxt5ys_block; + avctx->pix_fmt = AV_PIX_FMT_RGB0; break; default: return AVERROR_DECODER_NOT_FOUND;