lavc/dxv: treat DXT5-tagged files as DXT4
DXV files seem to misnomer DXT5 and really encode DXT4 with premultiplied alpha. At least, this is what Resolume alley does. To check, encode some input with alpha as "Normal Quality, With Alpha" in Alley, then decode the output with this change -- results are true to the original input compared to git-master. Signed-off-by: Connor Worley <connorbworley@gmail.com>
This commit is contained in:
@@ -1074,7 +1074,8 @@ static int dxv_decode(AVCodecContext *avctx, AVFrame *frame,
|
||||
break;
|
||||
case MKBETAG('D', 'X', 'T', '5'):
|
||||
decompress_tex = dxv_decompress_dxt5;
|
||||
ctx->tex_funct = ctx->texdsp.dxt5_block;
|
||||
/* DXV misnomers DXT5, alpha is premultiplied so use DXT4 instead */
|
||||
ctx->tex_funct = ctx->texdsp.dxt4_block;
|
||||
ctx->tex_rat = 4;
|
||||
ctx->tex_step = 16;
|
||||
msgcomp = "DXTR5";
|
||||
|
Reference in New Issue
Block a user