[FFmpeg-cvslog] lavc/dxv: assume DXV2 files use premultiplied alpha

Connor Worley git at videolan.org
Sun Feb 18 08:37:30 EET 2024


ffmpeg | branch: master | Connor Worley <connorbworley at gmail.com> | Sun Feb 11 03:41:57 2024 -0800| [a4f019e44ed6c48975109ac34f54e04caffeab86] | committer: Anton Khirnov

lavc/dxv: assume DXV2 files use premultiplied alpha

I generated a DXV2 file with an interesting alpha channel using
Adobe Media Encoder 2015 and compared decoding it using Resolume Alley
and ffmpeg. Similarly to DXV3 files, Alley expects premultiplied alpha
and ffmpeg matches its decoding more closely when it does the same.

Reference file: https://connorworley.com/dxv2-dxt5.mov

Existing FATE tests for DXV2 files do not cover this change.

Signed-off-by: Connor Worley <connorbworley at gmail.com>
Signed-off-by: Anton Khirnov <anton at khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a4f019e44ed6c48975109ac34f54e04caffeab86
---

 libavcodec/dxv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index 9130319d8f..b5553a0c86 100644
--- a/libavcodec/dxv.c
+++ b/libavcodec/dxv.c
@@ -919,7 +919,7 @@ static int dxv_decode(AVCodecContext *avctx, AVFrame *frame,
             tag = DXV_FMT_DXT5;
             msgtext = "DXT5";
 
-            texdsp_ctx.tex_funct = ctx->texdsp.dxt5_block;
+            texdsp_ctx.tex_funct = ctx->texdsp.dxt4_block;
             texdsp_ctx.tex_ratio = 16;
             texdsp_ctx.raw_ratio = 16;
         } else if (old_type & 0x20 || version_major == 1) {



More information about the ffmpeg-cvslog mailing list