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
..
2023-12-07 23:20:14 +02:00
2023-11-22 18:33:00 -03:00
2024-02-02 15:41:54 +01:00
2024-02-01 19:54:28 +08:00
2024-01-12 23:35:40 +01:00
2023-11-25 21:51:04 -03:00
2024-01-17 17:49:54 +02:00
2024-02-06 22:10:06 +08:00
2024-02-07 22:53:15 +08:00
2023-11-10 00:14:02 +01:00
2023-11-14 18:18:26 +01:00
2024-01-30 20:43:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 20:47:00 +01:00
2024-01-20 10:34:48 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 21:44:48 +01:00
2024-01-20 10:34:48 +01:00
2023-12-11 18:42:07 +02:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-11-04 01:24:09 +01:00
2023-10-31 20:47:00 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-11-22 18:33:00 -03:00
2023-12-01 12:42:22 -03:00
2023-11-25 21:50:56 -03:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-23 21:31:22 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-10-31 20:46:59 +01:00
2023-10-31 20:47:00 +01:00
2024-01-20 10:34:48 +01:00
2024-01-31 11:19:16 -03:00
2024-01-20 10:34:48 +01:00
2024-02-09 16:14:56 +01:00
2024-02-09 16:14:56 +01:00
2024-02-09 16:14:56 +01:00
2023-11-12 14:47:56 -03:00
2024-02-04 13:36:21 -03:00
2023-12-28 23:56:14 +01:00
2024-02-02 15:41:54 +01:00
2024-01-31 11:19:16 -03:00
2024-01-31 11:19:16 -03:00
2024-01-20 10:34:48 +01:00
2023-11-18 19:55:42 +01:00
2024-02-03 23:49:25 +08:00
2024-01-27 11:29:40 -03:00
2024-01-27 11:29:40 -03:00
2023-11-15 10:29:03 -05:00
2023-11-15 10:29:03 -05:00
2023-12-19 00:27:26 +01:00
2023-11-15 10:29:03 -05:00
2023-11-15 10:29:03 -05:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-10-31 20:47:00 +01:00
2024-01-20 10:34:48 +01:00
2023-11-26 17:49:09 +01:00
2023-11-26 17:49:09 +01:00
2023-11-14 14:26:42 -03:00
2024-02-09 08:16:25 +01:00
2024-02-09 08:16:25 +01:00
2023-12-21 16:15:23 +08:00
2024-01-24 17:34:28 -03:00
2024-02-08 10:34:02 +08:00
2023-12-21 16:15:23 +08:00
2024-01-24 17:34:28 -03:00
2024-01-24 17:34:28 -03:00
2024-01-26 09:22:12 +08:00
2024-02-08 10:34:02 +08:00
2024-01-24 17:34:28 -03:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-28 11:00:01 +01:00
2024-02-04 13:36:21 -03:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-11-01 16:40:20 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-02-09 23:47:14 +02:00
2023-12-21 16:15:23 +08:00
2024-01-05 11:06:57 +08:00
2023-12-21 16:15:23 +08:00
2023-12-21 16:15:23 +08:00
2024-01-05 11:06:57 +08:00
2024-01-05 11:06:57 +08:00
2023-12-21 16:15:23 +08:00
2024-02-08 10:34:02 +08:00
2023-12-21 16:15:23 +08:00
2024-02-09 23:47:14 +02:00
2024-01-20 10:34:48 +01:00
2023-11-10 00:15:28 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-11-14 19:15:51 +02:00
2024-01-20 10:34:48 +01:00
2023-10-31 20:46:59 +01:00
2023-10-22 22:09:59 +02:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-11-17 23:59:22 +02:00
2023-11-17 23:59:22 +02:00
2024-01-20 10:34:48 +01:00
2024-02-09 08:16:25 +01:00
2023-11-03 22:16:33 +01:00
2024-02-09 08:16:25 +01:00
2024-02-09 16:14:56 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-31 11:19:16 -03:00
2023-11-12 02:19:53 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-10-31 20:46:59 +01:00
2024-02-09 08:16:25 +01:00
2024-02-09 08:16:25 +01:00
2023-10-31 20:46:59 +01:00
2023-11-20 00:19:04 +01:00
2023-11-20 00:19:25 +01:00
2023-12-21 16:15:23 +08:00
2024-01-20 10:34:48 +01:00
2023-11-20 00:19:25 +01:00
2024-01-28 10:59:36 +01:00
2024-01-28 11:00:01 +01:00
2024-01-28 11:00:01 +01:00
2023-10-26 13:18:01 +02:00
2024-01-05 01:14:33 +08:00
2023-10-19 20:46:55 +02:00
2023-11-01 20:10:20 +01:00
2024-01-20 10:34:48 +01:00
2023-11-01 20:10:20 +01:00
2024-02-01 19:54:28 +08:00
2023-10-31 21:33:25 +02:00
2023-10-31 21:33:25 +02:00
2024-01-20 10:34:48 +01:00
2023-12-21 16:15:23 +08:00
2023-12-21 16:15:23 +08:00
2023-10-31 20:47:00 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 20:47:00 +01:00
2024-02-09 08:16:25 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 20:46:59 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-11-01 18:52:55 +02:00
2023-11-01 18:52:55 +02:00
2023-12-14 23:53:10 +01:00
2023-12-29 01:00:48 +01:00
2024-01-20 10:34:48 +01:00
2023-12-05 05:53:32 -05:00
2023-12-29 19:21:26 +01:00
2023-10-31 20:47:00 +01:00
2023-11-08 17:37:58 +11:00
2024-02-03 00:26:17 +01:00
2024-01-31 11:19:16 -03:00
2024-02-06 10:34:50 -03:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-02-06 10:34:50 -03:00
2024-02-09 08:16:25 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-25 11:07:28 -05:00
2023-12-22 22:08:29 -05:00
2024-02-05 12:28:02 -05:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-12-18 23:59:51 +02:00
2023-12-18 23:59:51 +02:00
2023-12-18 23:59:51 +02:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-02-09 08:16:25 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-11-16 16:53:44 +02:00
2023-11-16 16:53:44 +02:00
2023-11-18 22:07:14 +02:00
2023-11-18 22:07:14 +02:00
2023-11-23 18:57:18 +02:00
2023-11-23 18:57:18 +02:00
2023-12-11 18:17:43 +02:00
2023-12-11 18:17:43 +02:00
2023-10-27 18:10:46 +02:00
2024-01-20 10:34:48 +01:00
2024-02-01 19:54:28 +08:00
2024-01-16 01:34:56 +01:00
2024-01-20 10:34:48 +01:00
2023-11-22 21:02:04 +08:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-10-31 20:47:00 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-10-20 17:07:22 +02:00
2023-10-18 23:01:40 +02:00
2024-01-20 10:34:48 +01:00
2023-12-21 22:42:34 +02:00
2023-12-21 22:42:34 +02:00
2024-01-20 10:34:48 +01:00
2024-02-09 08:16:25 +01:00
2023-10-31 20:47:00 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-10-31 20:47:00 +01:00
2024-02-09 08:16:25 +01:00
2024-01-20 10:34:48 +01:00
2023-10-31 21:44:48 +01:00
2023-12-21 16:15:23 +08:00
2023-10-31 21:44:48 +01:00
2024-01-20 10:34:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-22 22:09:59 +02:00
2023-10-22 22:09:59 +02:00
2024-01-04 17:35:11 +08:00
2023-10-22 22:09:59 +02:00
2024-01-20 10:34:48 +01:00
2023-10-22 22:09:59 +02:00
2023-10-31 20:46:59 +01:00
2023-10-31 20:46:59 +01:00
2023-10-31 20:47:00 +01:00
2024-02-09 08:16:25 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 20:46:59 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 20:47:00 +01:00
2024-02-08 14:00:37 +01:00
2024-02-08 14:00:37 +01:00
2024-02-08 14:00:37 +01:00
2024-02-08 14:00:37 +01:00
2024-02-08 14:00:37 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-02-09 16:14:56 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-12-29 00:45:20 +01:00
2024-02-04 13:36:21 -03:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-12-22 22:07:35 -05:00
2024-01-20 10:34:48 +01:00
2023-11-09 12:53:35 +01:00
2024-01-10 14:08:00 +01:00
2024-01-10 14:08:00 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-10-22 22:09:59 +02:00
2023-12-05 14:50:21 +01:00
2024-02-09 08:16:25 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-02-08 10:34:02 +08:00
2024-01-20 10:34:48 +01:00
2024-02-09 16:24:50 +01:00
2023-11-01 20:15:54 +01:00
2024-02-09 08:16:25 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-02-09 08:16:25 +01:00
2024-02-09 08:16:25 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 20:47:00 +01:00
2024-02-09 08:16:25 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-11-01 22:53:26 +02:00
2023-11-01 22:53:26 +02:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-10-31 20:47:00 +01:00
2024-01-22 10:58:12 -03:00
2024-01-20 10:34:48 +01:00
2024-02-09 08:16:25 +01:00
2024-01-20 10:34:48 +01:00
2024-01-17 17:49:54 +02:00
2024-02-09 08:16:25 +01:00
2023-12-22 09:28:04 -03:00
2023-12-22 09:28:04 -03:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-28 11:00:01 +01:00
2024-02-08 20:36:04 +01:00
2024-01-28 11:00:01 +01:00
2024-01-28 11:00:01 +01:00
2023-10-22 22:09:59 +02:00
2023-10-22 22:09:59 +02:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-10-22 22:09:59 +02:00
2023-10-31 21:33:25 +02:00
2023-10-31 21:33:25 +02:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-12-21 23:29:02 +01:00
2024-01-20 10:34:48 +01:00
2023-10-22 22:11:37 +02:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2024-01-20 10:34:48 +01:00
2023-12-29 21:36:02 +01:00
2023-11-01 20:14:22 +01:00
2024-01-28 11:00:01 +01:00
2024-01-28 11:00:01 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 20:47:00 +01:00
2023-10-31 20:47:00 +01:00
2024-02-09 08:16:25 +01:00
2023-12-08 17:20:48 +02:00
2023-12-08 17:20:48 +02:00
2024-01-20 10:34:48 +01:00
2024-02-09 16:14:56 +01:00
2024-02-04 13:36:21 -03:00
2024-01-04 17:33:38 +08:00
2024-01-20 10:34:48 +01:00
2023-11-01 16:40:22 +01:00
2024-02-03 00:26:17 +01:00
2024-01-20 10:34:48 +01:00
2023-10-31 20:47:00 +01:00
2024-02-04 13:58:38 +01:00
2024-02-04 13:58:38 +01:00
2023-11-15 10:29:03 -05:00
2023-11-15 10:29:03 -05:00
2023-12-21 16:15:23 +08:00
2023-11-01 20:14:06 +01:00
2023-11-01 20:14:06 +01:00
2023-10-31 20:47:00 +01:00
2024-01-06 22:38:55 +01:00
2024-01-06 22:38:55 +01:00
2024-01-06 22:38:55 +01:00
2024-01-06 22:38:55 +01:00
2024-01-06 22:38:55 +01:00
2023-10-22 22:09:59 +02:00
2024-01-20 10:34:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2023-10-31 21:44:48 +01:00
2024-02-09 08:16:25 +01:00
2023-10-31 20:47:00 +01:00
2024-02-09 08:16:25 +01:00