This bug causes the DXT5 decoder to produce incorrect block texture data. After the fix, textures are visually correct and match data decoded by Resolume Alley (extracted with Nvida Nsight for comparison). Current FATE DXT5 samples did not cover this case.
Signed-off-by: Connor Worley <connorbwor...@gmail.com> --- libavcodec/dxv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c index b29adf8ad9..be1216da86 100644 --- a/libavcodec/dxv.c +++ b/libavcodec/dxv.c @@ -755,7 +755,7 @@ static int dxv_decompress_dxt5(AVCodecContext *avctx) break; case 2: /* Copy two dwords from a previous index */ - idx = 8 + bytestream2_get_le16(gbc); + idx = 8 + 4 * bytestream2_get_le16(gbc); if (idx > pos || (unsigned int)(pos - idx) + 2 > ctx->tex_size / 4) return AVERROR_INVALIDDATA; prev = AV_RL32(ctx->tex_data + 4 * (pos - idx)); -- 2.40.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".