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