ffmpeg/tests
Connor Worley d5aaed9d4c lavc/dxv: align to 4x4 blocks instead of 16x16
The previous assumption that DXV needs to be aligned to 16x16 was
erroneous. 4x4 works just as well, and FATE decoder tests pass for all
texture formats.

On the encoder side, we should reject input that isn't 4x4 aligned,
like the HAP encoder does, and stop aligning to 16x16. This both solves
the uninitialized reads causing current FATE tests to fail and produces
smaller encoded outputs.

With regard to correctness, I've checked the decoding path by encoding a
real-world sample with git master, and decoding it with
  ffmpeg -i dxt1-master.mov -c:v rawvideo -f framecrc -
The results are exactly the same between master and this patch.

On the encoding side, I've encoded a real-world sample with both master
and this patch, and decoded both versions with
  ffmpeg -i dxt1-{master,patch}.mov -c:v rawvideo -f framecrc -
Under this patch, results for both inputs are exactly the same.

In other words, the extra padding gained by 16x16 alignment over 4x4
alignment has no impact on decoded video.

Signed-off-by: Connor Worley <connorbworley@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-02-09 23:47:14 +02:00
..
api
checkasm tests/checkasm/vvc_mc: add check_avg 2024-02-01 19:54:29 +08:00
fate fate/video: add DXV3 HQ tests 2024-02-08 20:37:27 +01:00
filtergraphs fate: remove unused filtergraph files 2024-01-23 13:49:41 -03:00
maps fate: Add fsync filter tests 2024-01-05 09:29:05 +01:00
ref lavc/dxv: align to 4x4 blocks instead of 16x16 2024-02-09 23:47:14 +02:00
streamgroups fate/iamf: add an ambisonic test 2024-01-23 13:35:28 -03:00
.gitignore
audiogen.c
audiomatch.c
base64.c
copycooker.sh
extended.ffconcat
fate-run.sh
fate-valgrind.supp
fate.sh fate: Allow running multiple rounds of tests with differing settings 2023-12-19 13:34:25 +02:00
Makefile fate: add VVC decoder tests 2024-01-23 11:15:25 -03:00
md5.sh
refcmp-metadata.awk
reference.pnm
rotozoom.c
simple1.ffconcat
simple2.ffconcat
test.ffmeta
tiny_psnr.c
tiny_ssim.c
utils.c
videogen.c