panboxiaosa
b57a3d028d
avformat/mov: set video packet durations in presentation order
...
STTS sample deltas follow decode order, while AVPacket.duration is
defined as the interval to the next PTS in presentation order. Assigning
the deltas directly therefore produces incorrect packet durations for
VFR video with reordered frames.
After index construction and edit-list processing, sort samples by PTS
and set every duration with a following PTS from adjacent presentation
timestamps. This reorders STTS durations where possible and derives
intervals produced by the STTS/CTTS combination when necessary. Keep the
original timing table if allocation fails or timestamps are invalid.
Add FATE coverage for the official VFR H.264 sample and for a generated
MPEG-4 case whose presentation intervals are not a permutation of its
STTS deltas. Update the HEVC dts2pts CRA reference for the corrected
presentation-order durations.
Signed-off-by: panboxiaosa <panboxiaosa@gmail.com >
2026-07-29 23:49:33 +00:00
..
2026-05-16 13:55:22 -03:00
2026-07-11 11:10:12 -03:00
2026-07-11 11:10:12 -03:00
2025-09-22 23:46:29 +00:00
2025-08-04 08:01:24 +00:00
2025-08-04 08:01:24 +00:00
2025-08-04 08:01:24 +00:00
2026-06-16 09:18:24 -03:00
2026-05-25 21:18:34 +00:00
2026-03-29 23:01:39 +00:00
2026-03-29 23:01:39 +00:00
2026-07-22 21:14:07 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-21 21:41:02 -03:00
2026-06-21 21:41:02 -03:00
2026-06-21 21:41:02 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-21 21:41:02 -03:00
2026-06-21 21:41:02 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-07-03 09:53:23 -03:00
2026-01-14 23:56:39 +00:00
2026-06-16 09:18:24 -03:00
2026-04-28 16:17:47 +00:00
2026-07-11 17:14:43 +00:00
2026-01-29 21:09:02 -03:00
2026-03-05 13:49:59 +00:00
2025-08-13 11:42:50 -03:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2025-08-09 22:46:08 +00:00
2026-05-09 11:44:39 -03:00
2026-05-28 21:01:13 +00:00
2025-10-28 20:46:21 +01:00
2026-03-05 13:49:59 +00:00
2026-03-05 13:49:59 +00:00
2026-03-05 13:49:59 +00:00
2026-03-05 13:49:59 +00:00
2026-03-05 13:49:59 +00:00
2026-06-16 09:18:24 -03:00
2026-07-11 11:10:12 -03:00
2026-07-11 11:10:12 -03:00
2026-06-23 20:07:25 -03:00
2026-03-15 19:20:06 -03:00
2026-06-16 09:18:24 -03:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-04-22 13:28:17 +00:00
2026-05-25 21:18:34 +00:00
2026-05-29 03:25:53 +00:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-07-11 19:32:17 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-16 13:55:22 -03:00
2026-05-30 22:37:09 -03:00
2026-03-31 18:05:51 +01:00
2026-07-02 13:48:58 +00:00
2026-06-23 23:05:57 +00:00
2026-07-11 17:14:43 +00:00
2026-06-23 23:05:57 +00:00
2026-07-11 17:14:43 +00:00
2026-03-15 19:20:06 -03:00
2026-06-15 19:11:59 +00:00
2025-09-02 17:06:25 +02:00
2025-12-20 11:53:23 -05:00
2025-09-06 13:15:24 -04:00
2025-12-20 11:53:23 -05:00
2026-07-11 11:10:12 -03:00
2025-10-30 11:02:01 -03:00
2025-10-30 11:02:01 -03:00
2025-10-30 11:02:01 -03:00
2026-01-07 20:25:18 -03:00
2026-07-22 21:14:07 -03:00
2025-09-02 17:06:25 +02:00
2025-09-02 17:06:25 +02:00
2025-09-02 17:06:25 +02:00
2025-09-02 17:06:25 +02:00
2025-09-02 17:06:25 +02:00
2026-03-21 01:04:20 +00:00
2025-09-04 23:12:34 +00:00
2025-11-06 20:36:08 +00:00
2025-12-07 19:36:49 +00:00
2025-11-22 18:36:41 +00:00
2026-03-14 23:26:51 +08:00
2026-03-14 23:26:51 +08:00
2026-03-14 23:26:51 +08:00
2026-01-04 13:42:20 +00:00
2026-01-04 13:42:20 +00:00
2025-12-03 21:23:51 +00:00
2025-12-03 21:23:51 +00:00
2025-11-08 20:55:03 +00:00
2025-11-18 21:26:36 +00:00
2026-04-30 03:46:18 +00:00
2026-07-13 18:16:18 +00:00
2026-07-13 18:16:18 +00:00
2026-07-13 18:16:18 +00:00
2026-07-13 18:16:18 +00:00
2026-07-13 18:16:18 +00:00
2026-07-13 18:16:18 +00:00
2026-06-17 02:27:33 +02:00
2026-06-15 19:33:25 +00:00
2026-06-23 20:07:25 -03:00
2026-07-05 00:41:30 +00:00
2026-04-05 00:26:55 +00:00
2026-04-05 00:26:55 +00:00
2026-04-05 00:26:55 +00:00
2026-04-05 00:26:55 +00:00
2026-07-20 17:49:47 +00:00
2026-07-20 17:49:47 +00:00
2026-07-05 00:41:30 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-08-18 19:12:46 +00:00
2025-08-18 19:12:46 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 21:46:41 +01:00
2025-11-06 21:46:41 +01:00
2025-11-06 21:46:41 +01:00
2025-11-06 21:46:41 +01:00
2025-11-06 21:46:41 +01:00
2025-11-06 21:46:41 +01:00
2025-11-06 20:36:08 +00:00
2025-11-06 21:46:41 +01:00
2025-11-06 21:46:41 +01:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 21:46:41 +01:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 21:46:41 +01:00
2025-11-06 21:46:41 +01:00
2026-07-27 20:13:00 +02:00
2026-04-30 21:15:58 +00:00
2025-11-06 20:36:08 +00:00
2026-03-05 13:49:59 +00:00
2025-12-02 03:03:55 +00:00
2026-05-16 15:09:52 +00:00
2026-05-31 00:39:51 +00:00
2026-06-16 09:18:24 -03:00
2026-07-02 02:57:29 +00:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-07-11 17:14:43 +00:00
2026-07-01 14:35:14 -03:00
2026-07-18 09:59:57 -05:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2025-11-06 20:36:08 +00:00
2025-12-23 14:34:13 +00:00
2026-03-15 19:20:06 -03:00
2026-03-15 19:20:06 -03:00
2026-03-15 19:20:06 -03:00
2026-06-16 09:18:24 -03:00
2026-06-23 23:05:57 +00:00
2025-08-13 11:36:22 -03:00
2025-08-13 11:36:22 -03:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2025-12-04 01:59:04 +00:00
2026-07-22 21:14:07 -03:00
2026-03-05 13:49:59 +00:00
2026-03-05 13:49:59 +00:00
2026-04-28 16:17:47 +00:00
2026-07-22 21:14:07 -03:00
2026-07-22 21:14:07 -03:00
2026-07-22 21:14:07 -03:00
2026-07-22 21:14:07 -03:00
2026-07-29 23:49:33 +00:00
2026-06-23 20:07:25 -03:00
2026-06-23 20:07:25 -03:00
2026-06-29 14:29:33 +00:00
2025-11-10 12:22:05 +08:00
2025-08-05 11:47:11 +00:00
2026-04-05 14:02:48 +00:00
2026-06-23 17:14:42 +02:00
2026-06-23 00:04:42 +00:00
2026-04-05 14:02:48 +00:00
2026-04-05 14:02:48 +00:00
2026-04-05 14:02:48 +00:00
2026-04-05 14:02:48 +00:00
2026-04-05 14:02:48 +00:00
2026-03-15 19:20:06 -03:00
2026-05-16 13:55:23 -03:00
2026-06-23 23:05:57 +00:00
2026-05-16 13:55:23 -03:00
2026-05-16 13:55:23 -03:00
2026-05-16 13:55:23 -03:00
2026-05-16 13:55:23 -03:00
2026-06-23 23:05:57 +00:00
2025-12-29 12:02:53 -03:00
2026-05-16 13:55:23 -03:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-05-07 09:46:53 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2026-07-19 20:41:53 +08:00
2026-07-19 20:41:53 +08:00
2026-07-19 20:41:53 +08:00
2026-07-19 20:41:53 +08:00
2026-07-19 20:41:53 +08:00
2026-07-18 09:59:57 -05:00
2026-05-07 09:46:53 -05:00
2026-06-03 14:32:19 +00:00
2026-07-18 09:59:57 -05:00
2026-07-18 09:59:57 -05:00
2025-11-06 20:36:08 +00:00
2025-08-04 08:01:24 +00:00
2026-07-03 19:47:10 +00:00
2025-11-06 21:46:43 +01:00
2026-02-20 16:32:10 +01:00
2026-02-20 16:32:10 +01:00
2025-11-06 20:36:08 +00:00
2025-09-17 02:17:09 +00:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2025-12-16 10:38:56 -03:00
2026-04-09 03:01:43 +00:00
2025-08-04 08:01:24 +00:00
2025-08-04 08:01:24 +00:00
2025-08-04 08:01:24 +00:00
2025-08-04 08:01:24 +00:00
2025-09-02 16:05:45 +02:00
2026-07-18 15:48:34 +00:00
2026-07-18 15:48:34 +00:00
2026-07-02 13:48:58 +00:00
2026-04-05 00:12:29 +00:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-05-30 17:37:28 +00:00
2026-07-22 21:14:07 -03:00
2026-07-11 17:14:43 +00:00
2026-07-22 21:14:07 -03:00
2026-07-11 17:14:43 +00:00
2026-06-18 21:17:23 +00:00
2026-07-22 21:14:07 -03:00
2026-05-16 13:55:22 -03:00
2026-03-15 19:20:06 -03:00
2026-07-22 21:14:07 -03:00
2026-07-22 21:14:07 -03:00
2026-07-11 17:14:43 +00:00
2026-02-05 23:21:49 -03:00
2026-02-05 23:21:49 -03:00
2026-07-22 21:14:07 -03:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-22 20:50:14 -03:00
2026-06-16 09:18:24 -03:00
2026-07-22 21:14:07 -03:00
2026-07-22 21:14:07 -03:00
2026-02-28 04:01:08 +01:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-23 20:07:25 -03:00
2026-07-11 17:14:43 +00:00
2026-07-22 21:14:07 -03:00
2026-05-30 17:37:28 +00:00
2026-06-16 09:18:24 -03:00
2026-02-28 04:01:08 +01:00
2025-12-20 11:53:23 -05:00
2025-12-12 18:40:01 +02:00
2026-07-18 15:48:34 +00:00
2026-06-16 09:18:24 -03:00
2026-06-23 20:07:25 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-30 22:19:24 -03:00
2026-06-30 22:19:24 -03:00
2026-06-30 22:19:24 -03:00
2026-06-30 22:19:24 -03:00
2026-06-30 22:19:24 -03:00
2026-06-30 22:19:24 -03:00
2026-06-30 22:19:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-05-17 11:16:56 -03:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-11 17:14:43 +00:00
2026-07-14 15:50:30 -03:00
2026-02-28 04:01:08 +01:00
2026-07-29 23:49:33 +00:00
2026-07-29 23:49:33 +00:00
2026-06-16 09:18:24 -03:00
2025-12-12 18:40:01 +02:00
2026-06-16 09:18:24 -03:00
2026-03-08 16:22:24 -05:00
2026-06-23 23:05:57 +00:00
2026-07-06 13:27:29 -03:00
2026-04-24 16:04:48 -03:00
2026-07-06 13:27:29 -03:00
2026-04-24 16:04:48 -03:00
2026-07-06 13:27:29 -03:00
2026-04-24 16:04:48 -03:00
2026-03-05 13:49:59 +00:00
2026-03-05 13:49:59 +00:00
2026-03-05 13:49:59 +00:00
2026-03-05 13:49:59 +00:00
2026-03-05 13:49:59 +00:00
2025-11-09 10:46:08 +00:00
2025-11-09 10:46:08 +00:00
2026-07-18 15:48:34 +00:00
2026-07-18 15:48:34 +00:00
2026-07-18 15:48:34 +00:00
2026-07-18 15:48:34 +00:00
2026-07-18 15:48:34 +00:00
2026-07-18 15:48:34 +00:00
2026-07-18 15:48:34 +00:00
2025-12-12 18:40:01 +02:00
2025-12-30 20:14:56 -03:00
2026-07-11 11:10:12 -03:00
2026-07-28 17:55:33 +02:00
2026-03-21 01:04:20 +00:00
2026-03-21 01:04:20 +00:00
2026-03-21 01:04:20 +00:00
2026-03-21 01:04:20 +00:00
2026-03-21 01:04:20 +00:00
2026-03-21 01:04:20 +00:00
2025-09-02 17:06:25 +02:00
2025-09-02 17:06:25 +02:00
2025-09-02 17:06:25 +02:00
2026-06-16 09:18:24 -03:00
2025-09-16 15:42:03 -03:00
2026-02-11 20:35:20 +00:00
2025-12-23 03:20:34 +00:00
2025-12-23 03:20:34 +00:00
2026-04-05 00:12:29 +00:00
2026-07-11 17:14:43 +00:00
2026-04-05 00:12:29 +00:00
2026-03-28 11:25:38 +01:00
2026-03-28 11:25:38 +01:00
2026-03-28 11:25:38 +01:00
2026-03-28 11:25:38 +01:00
2026-03-28 11:25:38 +01:00
2026-03-28 11:25:38 +01:00
2026-03-28 11:25:38 +01:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-06-16 09:18:24 -03:00
2026-03-15 19:20:06 -03:00
2026-07-11 11:10:12 -03:00
2026-06-09 18:27:20 +02:00
2026-07-25 20:12:16 -06:00
2026-03-31 18:05:51 +01:00
2026-03-25 01:32:20 +00:00
2025-10-06 11:51:50 -03:00
2025-10-06 11:51:50 -03:00
2025-10-06 11:51:50 -03:00
2025-10-06 11:51:50 -03:00
2026-06-14 15:34:43 +00:00
2026-07-16 08:46:11 +00:00
2025-11-06 21:46:43 +01:00
2025-11-06 20:34:51 +00:00
2026-06-05 22:37:18 +02:00
2025-11-06 20:36:08 +00:00
2025-11-06 20:36:08 +00:00
2026-04-28 16:17:47 +00:00
2026-04-05 22:23:08 +02:00
2026-04-28 16:17:47 +00:00
2026-06-14 20:51:07 +02:00
2026-06-14 20:51:07 +02:00
2026-06-14 20:51:07 +02:00
2026-06-01 21:53:36 -05:00
2026-06-17 15:39:33 -05:00
2026-06-23 19:13:06 +02:00
2026-03-31 18:05:51 +01:00
2026-07-02 13:48:58 +00:00
2025-08-08 16:55:12 +00:00
2025-08-08 16:55:12 +00:00
2025-08-08 16:55:12 +00:00
2025-11-06 20:36:08 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-06-11 14:06:20 +00:00
2026-05-08 13:33:31 -07:00
2026-07-18 15:48:34 +00:00
2026-05-08 13:33:31 -07:00
2026-05-08 13:33:31 -07:00
2026-05-19 11:36:10 +02:00
2026-05-19 11:36:10 +02:00
2026-05-19 11:36:10 +02:00
2025-12-14 17:08:37 +00:00