This is an automated email from the git hooks/post-receive script.
Git pushed a commit to branch master
in repository ffmpeg.
The following commit(s) were added to refs/heads/master by this push:
new 131a33c808 avformat/xmv: do not set audio pts values
131a33c808 is described below
commit 131a33c808e09bb89245c5d9869eda67bea5551f
Author: Marton Balint <[email protected]>
AuthorDate: Thu Dec 11 00:39:19 2025 +0100
Commit: Marton Balint <[email protected]>
CommitDate: Sun Dec 14 17:08:37 2025 +0000
avformat/xmv: do not set audio pts values
The format does not contain audio timestamps and the calculated audio pts
values were only correct for compressed audio. It is better to remove PTS
calculation entirely and let the generic code handle it.
Fixes ticket #8595.
Fixes #20983.
Fate test changes are because of the different audio time base which is now
always 1/sample_rate.
Signed-off-by: Marton Balint <[email protected]>
---
libavformat/xmv.c | 18 +----
tests/ref/fate/xmv-demux | 184 +++++++++++++++++++++++------------------------
2 files changed, 93 insertions(+), 109 deletions(-)
diff --git a/libavformat/xmv.c b/libavformat/xmv.c
index 2c5e2bb475..57b229b1ee 100644
--- a/libavformat/xmv.c
+++ b/libavformat/xmv.c
@@ -85,7 +85,6 @@ typedef struct XMVAudioPacket {
uint64_t bit_rate; ///< Bits of compressed data per second.
uint16_t flags; ///< Flags
unsigned block_align; ///< Bytes per compressed block.
- uint16_t block_samples; ///< Decompressed samples per compressed block.
enum AVCodecID codec_id; ///< The codec ID of the compression scheme.
@@ -93,8 +92,6 @@ typedef struct XMVAudioPacket {
uint64_t data_offset; ///< The offset of the audio data within the file.
uint32_t frame_size; ///< Number of bytes to put into an audio frame.
-
- uint64_t block_count; ///< Running counter of decompressed audio block.
} XMVAudioPacket;
/** Context for demuxing an XMV file. */
@@ -195,14 +192,12 @@ static int xmv_read_header(AVFormatContext *s)
packet->sample_rate *
packet->channels;
packet->block_align = XMV_BLOCK_ALIGN_SIZE * packet->channels;
- packet->block_samples = 64;
packet->codec_id = ff_wav_codec_get_id(packet->compression,
packet->bits_per_sample);
packet->stream_index = -1;
packet->frame_size = 0;
- packet->block_count = 0;
/* TODO: ADPCM'd 5.1 sound is encoded in three separate streams.
* Those need to be interleaved to a proper 5.1 stream. */
@@ -343,7 +338,7 @@ static int xmv_process_packet_header(AVFormatContext *s)
ast->codecpar->bit_rate = packet->bit_rate;
ast->codecpar->block_align = 36 * packet->channels;
- avpriv_set_pts_info(ast, 32, packet->block_samples,
packet->sample_rate);
+ avpriv_set_pts_info(ast, 32, 1, packet->sample_rate);
packet->stream_index = ast->index;
@@ -444,7 +439,6 @@ static int xmv_fetch_audio_packet(AVFormatContext *s,
XMVAudioPacket *audio = &xmv->audio[stream];
uint32_t data_size;
- uint32_t block_count;
int result;
/* Seek to it */
@@ -465,16 +459,6 @@ static int xmv_fetch_audio_packet(AVFormatContext *s,
pkt->stream_index = audio->stream_index;
- /* Calculate the PTS */
-
- block_count = data_size / audio->block_align;
-
- pkt->duration = block_count;
- pkt->pts = audio->block_count;
- pkt->dts = AV_NOPTS_VALUE;
-
- audio->block_count += block_count;
-
/* Advance offset */
audio->data_size -= data_size;
audio->data_offset += data_size;
diff --git a/tests/ref/fate/xmv-demux b/tests/ref/fate/xmv-demux
index 603b958b73..0349f5c997 100644
--- a/tests/ref/fate/xmv-demux
+++ b/tests/ref/fate/xmv-demux
@@ -4,189 +4,189 @@
#codec_id 0: wmv2
#dimensions 0: 640x480
#sar 0: 0/1
-#tb 1: 16/11025
+#tb 1: 1/44100
#media_type 1: audio
#codec_id 1: adpcm_ima_xbox
#sample_rate 1: 44100
#channel_layout_name 1: stereo
0, 0, 0, 0, 1508, 0xefceba48
-1, 0, 0, 83, 5976, 0xfa2c2db9
-1, 83, 83, 83, 5976, 0x256b935c
-1, 166, 166, 83, 5976, 0xa78a9563
-1, 249, 249, 83, 5976, 0x4ea056f4
-1, 332, 332, 83, 5976, 0xda772d8d
-1, 415, 415, 83, 5976, 0xafacf7c9
+1, 0, 0, 5312, 5976, 0xfa2c2db9
+1, 5312, 5312, 5312, 5976, 0x256b935c
+1, 10624, 10624, 5312, 5976, 0xa78a9563
+1, 15936, 15936, 5312, 5976, 0x4ea056f4
+1, 21248, 21248, 5312, 5976, 0xda772d8d
+1, 26560, 26560, 5312, 5976, 0xafacf7c9
0, 640, 640, 0, 108, 0x06713c96, F=0x0
0, 680, 680, 0, 952, 0xd306df7e, F=0x0
0, 720, 720, 0, 2312, 0xaf316585, F=0x0
-1, 498, 498, 83, 5976, 0xdeb003f4
+1, 31872, 31872, 5312, 5976, 0xdeb003f4
0, 760, 760, 0, 3872, 0xfc1c527c, F=0x0
0, 800, 800, 0, 20, 0xaffc0edd, F=0x0
0, 840, 840, 0, 6600, 0xe1b66c7f, F=0x0
-1, 581, 581, 28, 2016, 0xa7380d36
+1, 37184, 37184, 1792, 2016, 0xa7380d36
0, 880, 880, 0, 6868, 0xd5b3f631, F=0x0
-1, 609, 609, 28, 2016, 0xbc090bac
+1, 38976, 38976, 1792, 2016, 0xbc090bac
0, 920, 920, 0, 8420, 0xf70ee33b, F=0x0
-1, 637, 637, 28, 2016, 0x6f8c164c
+1, 40768, 40768, 1792, 2016, 0x6f8c164c
0, 960, 960, 0, 13144, 0x9a54ef39, F=0x0
-1, 665, 665, 28, 2016, 0x13b80e28
+1, 42560, 42560, 1792, 2016, 0x13b80e28
0, 1000, 1000, 0, 6340, 0xe55bf555, F=0x0
-1, 693, 693, 28, 2016, 0xd40ff863
+1, 44352, 44352, 1792, 2016, 0xd40ff863
0, 1040, 1040, 0, 3736, 0x0b23f89f, F=0x0
-1, 721, 721, 28, 2016, 0x4d530ed7
+1, 46144, 46144, 1792, 2016, 0x4d530ed7
0, 1080, 1080, 0, 2624, 0x79e2e451, F=0x0
-1, 749, 749, 30, 2160, 0x0fbc37eb
+1, 47936, 47936, 1920, 2160, 0x0fbc37eb
0, 1120, 1120, 0, 1860, 0x63886f11, F=0x0
-1, 779, 779, 192, 13824, 0x82fb2602
+1, 49856, 49856, 12288, 13824, 0x82fb2602
0, 1160, 1160, 0, 1244, 0x74594601, F=0x0
0, 1200, 1200, 0, 564, 0xf4561dfb, F=0x0
0, 1240, 1240, 0, 80, 0xbf8e2e30, F=0x0
0, 1280, 1280, 0, 20, 0xa0990c29, F=0x0
-1, 971, 971, 192, 13824, 0x08771caf
-1, 1163, 1163, 192, 13824, 0xdf7d4a65
-1, 1355, 1355, 193, 13896, 0x24bf3f47
-1, 1548, 1548, 50, 3600, 0x9ad26b9f
-1, 1598, 1598, 50, 3600, 0x8c666fd6
-1, 1648, 1648, 50, 3600, 0x305c6ca1
-1, 1698, 1698, 50, 3600, 0x48b04e1e
+1, 62144, 62144, 12288, 13824, 0x08771caf
+1, 74432, 74432, 12288, 13824, 0xdf7d4a65
+1, 86720, 86720, 12352, 13896, 0x24bf3f47
+1, 99072, 99072, 3200, 3600, 0x9ad26b9f
+1, 102272, 102272, 3200, 3600, 0x8c666fd6
+1, 105472, 105472, 3200, 3600, 0x305c6ca1
+1, 108672, 108672, 3200, 3600, 0x48b04e1e
0, 2480, 2480, 0, 104, 0x12413980, F=0x0
0, 2520, 2520, 0, 796, 0x2e698ed3, F=0x0
-1, 1748, 1748, 50, 3600, 0x8c915935
+1, 111872, 111872, 3200, 3600, 0x8c915935
0, 2560, 2560, 0, 1808, 0x8b3e6e5e, F=0x0
0, 2600, 2600, 0, 4712, 0xdbd51737, F=0x0
-1, 1798, 1798, 50, 3600, 0xa8f45e01
+1, 115072, 115072, 3200, 3600, 0xa8f45e01
0, 2640, 2640, 0, 5548, 0xee9c831c, F=0x0
0, 2680, 2680, 0, 6152, 0x9c18ccc1, F=0x0
-1, 1848, 1848, 53, 3816, 0xc64cc5ed
+1, 118272, 118272, 3392, 3816, 0xc64cc5ed
0, 2720, 2720, 0, 6452, 0x7860462a, F=0x0
-1, 1901, 1901, 27, 1944, 0x0ac2e3f1
+1, 121664, 121664, 1728, 1944, 0x0ac2e3f1
0, 2760, 2760, 0, 6676, 0xe1b1c9e4, F=0x0
-1, 1928, 1928, 27, 1944, 0x2197dccd
+1, 123392, 123392, 1728, 1944, 0x2197dccd
0, 2800, 2800, 0, 10904, 0x0bded7b7, F=0x0
-1, 1955, 1955, 27, 1944, 0x0c02e77f
+1, 125120, 125120, 1728, 1944, 0x0c02e77f
0, 2840, 2840, 0, 12844, 0xe6d16cff, F=0x0
-1, 1982, 1982, 27, 1944, 0x675ee06a
+1, 126848, 126848, 1728, 1944, 0x675ee06a
0, 2880, 2880, 0, 10920, 0xe114c46b, F=0x0
-1, 2009, 2009, 30, 2160, 0x0d803a8b
+1, 128576, 128576, 1920, 2160, 0x0d803a8b
0, 2920, 2920, 0, 5952, 0xb7464634, F=0x0
-1, 2039, 2039, 93, 6696, 0xa7a0dfea
+1, 130496, 130496, 5952, 6696, 0xa7a0dfea
0, 2960, 2960, 0, 4732, 0x2fa2e36d, F=0x0
0, 3000, 3000, 0, 2592, 0xf54ddd57, F=0x0
0, 3040, 3040, 0, 1516, 0x4a1cd4d5, F=0x0
0, 3080, 3080, 0, 864, 0x49889afc, F=0x0
-1, 2132, 2132, 93, 6696, 0x59aa3145
+1, 136448, 136448, 5952, 6696, 0x59aa3145
0, 3120, 3120, 0, 468, 0x3932e6a4, F=0x0
0, 3160, 3160, 0, 116, 0x2b8341e6, F=0x0
0, 3200, 3200, 0, 16, 0x6a3109cf, F=0x0
-1, 2225, 2225, 93, 6696, 0x69be4d78
-1, 2318, 2318, 93, 6696, 0x64064c67
-1, 2411, 2411, 93, 6696, 0xc8536f98
-1, 2504, 2504, 93, 6696, 0xc0ce5199
-1, 2597, 2597, 94, 6768, 0x3b275c58
-1, 2691, 2691, 123, 8856, 0x90e5b37c
+1, 142400, 142400, 5952, 6696, 0x69be4d78
+1, 148352, 148352, 5952, 6696, 0x64064c67
+1, 154304, 154304, 5952, 6696, 0xc8536f98
+1, 160256, 160256, 5952, 6696, 0xc0ce5199
+1, 166208, 166208, 6016, 6768, 0x3b275c58
+1, 172224, 172224, 7872, 8856, 0x90e5b37c
0, 4000, 4000, 0, 1508, 0xefceba48
-1, 2814, 2814, 123, 8856, 0x86b33366
-1, 2937, 2937, 123, 8856, 0x19e18797
-1, 3060, 3060, 123, 8856, 0x0a0c7fbd
-1, 3183, 3183, 124, 8928, 0x4a9b2d42
+1, 180096, 180096, 7872, 8856, 0x86b33366
+1, 187968, 187968, 7872, 8856, 0x19e18797
+1, 195840, 195840, 7872, 8856, 0x0a0c7fbd
+1, 203712, 203712, 7936, 8928, 0x4a9b2d42
0, 4640, 4640, 0, 100, 0x45023894, F=0x0
0, 4680, 4680, 0, 948, 0xa65ed345, F=0x0
0, 4720, 4720, 0, 2808, 0xd7285746, F=0x0
0, 4760, 4760, 0, 5372, 0x05794175, F=0x0
-1, 3307, 3307, 21, 1512, 0xed8b3f4b
+1, 211648, 211648, 1344, 1512, 0xed8b3f4b
0, 4800, 4800, 0, 11596, 0x8636eca7, F=0x0
-1, 3328, 3328, 21, 1512, 0xa27d3891
+1, 212992, 212992, 1344, 1512, 0xa27d3891
0, 4840, 4840, 0, 11524, 0xe1f39be3, F=0x0
-1, 3349, 3349, 21, 1512, 0xb0f13eb6
+1, 214336, 214336, 1344, 1512, 0xb0f13eb6
0, 4880, 4880, 0, 23392, 0xab053f05, F=0x0
-1, 3370, 3370, 23, 1656, 0xe5a98324
+1, 215680, 215680, 1472, 1656, 0xe5a98324
0, 4920, 4920, 0, 4560, 0x03197d07, F=0x0
-1, 3393, 3393, 31, 2232, 0x15445433
+1, 217152, 217152, 1984, 2232, 0x15445433
0, 4960, 4960, 0, 4440, 0x1cc361a2, F=0x0
-1, 3424, 3424, 31, 2232, 0x5cb348a9
+1, 219136, 219136, 1984, 2232, 0x5cb348a9
0, 5000, 5000, 0, 23688, 0x16030634, F=0x0
-1, 3455, 3455, 31, 2232, 0xf10347da
+1, 221120, 221120, 1984, 2232, 0xf10347da
0, 5040, 5040, 0, 16132, 0xf0eca799, F=0x0
-1, 3486, 3486, 34, 2448, 0x3e16a175
+1, 223104, 223104, 2176, 2448, 0x3e16a175
0, 5080, 5080, 0, 29896, 0x0c0988ea, F=0x0
-1, 3520, 3520, 35, 2520, 0x17e3ca2b
+1, 225280, 225280, 2240, 2520, 0x17e3ca2b
0, 5120, 5120, 0, 19956, 0x0093aa0b, F=0x0
-1, 3555, 3555, 27, 1944, 0x35c2de84
+1, 227520, 227520, 1728, 1944, 0x35c2de84
0, 5160, 5160, 0, 16392, 0x8829a9ca, F=0x0
-1, 3582, 3582, 27, 1944, 0x55b4db40
+1, 229248, 229248, 1728, 1944, 0x55b4db40
0, 5200, 5200, 0, 16772, 0x9a4a546d, F=0x0
-1, 3609, 3609, 29, 2088, 0xdaae14b2
+1, 230976, 230976, 1856, 2088, 0xdaae14b2
0, 5240, 5240, 0, 8920, 0xcd8ca203, F=0x0
-1, 3638, 3638, 27, 1944, 0x92ccd37f
+1, 232832, 232832, 1728, 1944, 0x92ccd37f
0, 5280, 5280, 0, 9632, 0x53c1d37b, F=0x0
-1, 3665, 3665, 27, 1944, 0x70efede1
+1, 234560, 234560, 1728, 1944, 0x70efede1
0, 5320, 5320, 40, 8976, 0xfe4da2cc, F=0x0
-1, 3692, 3692, 27, 1944, 0x7601d304
+1, 236288, 236288, 1728, 1944, 0x7601d304
0, 5360, 5360, 40, 6680, 0x35348fe0, F=0x0
-1, 3719, 3719, 27, 1944, 0x3922ebc2
+1, 238016, 238016, 1728, 1944, 0x3922ebc2
0, 5400, 5400, 40, 9228, 0xcbf62b0c, F=0x0
-1, 3746, 3746, 30, 2160, 0xde462f2e
+1, 239744, 239744, 1920, 2160, 0xde462f2e
0, 5440, 5440, 40, 5108, 0xd1d88511, F=0x0
-1, 3776, 3776, 26, 1872, 0x467ac1d2
+1, 241664, 241664, 1664, 1872, 0x467ac1d2
0, 5480, 5480, 40, 10016, 0xaff4b2b2, F=0x0
-1, 3802, 3802, 26, 1872, 0xa1e4cd43
+1, 243328, 243328, 1664, 1872, 0xa1e4cd43
0, 5520, 5520, 40, 7468, 0x23e81ab8, F=0x0
-1, 3828, 3828, 26, 1872, 0x1dceccc6
+1, 244992, 244992, 1664, 1872, 0x1dceccc6
0, 5560, 5560, 40, 4172, 0x253cd05b, F=0x0
-1, 3854, 3854, 26, 1872, 0x2bbad2a5
+1, 246656, 246656, 1664, 1872, 0x2bbad2a5
0, 5600, 5600, 40, 8188, 0x7ede743f, F=0x0
-1, 3880, 3880, 26, 1872, 0xc603d44d
+1, 248320, 248320, 1664, 1872, 0xc603d44d
0, 5640, 5640, 40, 2884, 0x2dec55a3, F=0x0
-1, 3906, 3906, 26, 1872, 0x1b4cc261
+1, 249984, 249984, 1664, 1872, 0x1b4cc261
0, 5680, 5680, 40, 3900, 0xd0666a18, F=0x0
-1, 3932, 3932, 26, 1872, 0x10edd6cf
+1, 251648, 251648, 1664, 1872, 0x10edd6cf
0, 5720, 5720, 40, 2996, 0x9cc99b8c, F=0x0
-1, 3958, 3958, 33, 2376, 0xecdb9d61
+1, 253312, 253312, 2112, 2376, 0xecdb9d61
0, 5760, 5760, 40, 2156, 0xae612776, F=0x0
-1, 3991, 3991, 36, 2592, 0x5559eced
+1, 255424, 255424, 2304, 2592, 0x5559eced
0, 5800, 5800, 40, 3988, 0x0d2c9992, F=0x0
0, 5840, 5840, 40, 1512, 0x6281fc00, F=0x0
-1, 4027, 4027, 36, 2592, 0x8848dfc7
+1, 257728, 257728, 2304, 2592, 0x8848dfc7
0, 5880, 5880, 40, 6544, 0xb75c2562, F=0x0
-1, 4063, 4063, 36, 2592, 0x4ca2d7da
+1, 260032, 260032, 2304, 2592, 0x4ca2d7da
0, 5920, 5920, 40, 4108, 0xfb21efc9, F=0x0
-1, 4099, 4099, 36, 2592, 0x285fd7e6
+1, 262336, 262336, 2304, 2592, 0x285fd7e6
0, 5960, 5960, 40, 1096, 0x85922a37, F=0x0
0, 6000, 6000, 40, 9740, 0xe57d7647, F=0x0
-1, 4135, 4135, 36, 2592, 0x2717e404
+1, 264640, 264640, 2304, 2592, 0x2717e404
0, 6040, 6040, 40, 416, 0x61c2ea02, F=0x0
-1, 4171, 4171, 36, 2592, 0xf106111a
+1, 266944, 266944, 2304, 2592, 0xf106111a
0, 6080, 6080, 40, 336, 0x1dc5ac1c, F=0x0
-1, 4207, 4207, 36, 2592, 0xd7d01119
+1, 269248, 269248, 2304, 2592, 0xd7d01119
0, 6120, 6120, 40, 204, 0x16f57017, F=0x0
-1, 4243, 4243, 36, 2592, 0x550cfeda
+1, 271552, 271552, 2304, 2592, 0x550cfeda
0, 6160, 6160, 40, 112, 0x78374234, F=0x0
0, 6200, 6200, 40, 40, 0x6cb21985, F=0x0
-1, 4279, 4279, 36, 2592, 0x47ad00c4
-1, 4315, 4315, 36, 2592, 0x39bbf306
-1, 4351, 4351, 45, 3240, 0x69addfce
-1, 4396, 4396, 297, 21384, 0x254f63e0
-1, 4693, 4693, 298, 21456, 0x2f7a9859
+1, 273856, 273856, 2304, 2592, 0x47ad00c4
+1, 276160, 276160, 2304, 2592, 0x39bbf306
+1, 278464, 278464, 2880, 3240, 0x69addfce
+1, 281344, 281344, 19008, 21384, 0x254f63e0
+1, 300352, 300352, 19072, 21456, 0x2f7a9859
0, 6840, 6840, 40, 14420, 0x53324ca4, F=0x0
0, 6880, 6880, 40, 40, 0x10971420, F=0x0
-1, 4991, 4991, 521, 37512, 0x6e962928
-1, 5512, 5512, 38, 2736, 0x1dc91c69
+1, 319424, 319424, 33344, 37512, 0x6e962928
+1, 352768, 352768, 2432, 2736, 0x1dc91c69
0, 8000, 8000, 40, 24904, 0x15574f7e
-1, 5550, 5550, 38, 2736, 0x023434fd
-1, 5588, 5588, 38, 2736, 0x906f1541
+1, 355200, 355200, 2432, 2736, 0x023434fd
+1, 357632, 357632, 2432, 2736, 0x906f1541
0, 8160, 8160, 40, 1908, 0xccb2dd3c, F=0x0
-1, 5626, 5626, 38, 2736, 0x85a31102
+1, 360064, 360064, 2432, 2736, 0x85a31102
0, 8200, 8200, 40, 4676, 0xbfa42b7e, F=0x0
-1, 5664, 5664, 42, 3024, 0x9296a5f3
+1, 362496, 362496, 2688, 3024, 0x9296a5f3
0, 8240, 8240, 40, 3600, 0x87c9dc58, F=0x0
0, 8280, 8280, 40, 8184, 0x504a8e65, F=0x0
-1, 5706, 5706, 27, 1944, 0x7bf4dedc
+1, 365184, 365184, 1728, 1944, 0x7bf4dedc
0, 8320, 8320, 40, 9636, 0x2efb3006, F=0x0
-1, 5733, 5733, 27, 1944, 0x4196c404
-1, 5760, 5760, 27, 1944, 0xcda97c7a
+1, 366912, 366912, 1728, 1944, 0x4196c404
+1, 368640, 368640, 1728, 1944, 0xcda97c7a
0, 8360, 8360, 40, 9580, 0x0fb6f4e8, F=0x0
-1, 5787, 5787, 27, 1944, 0x5f4922b2
+1, 370368, 370368, 1728, 1944, 0x5f4922b2
0, 8400, 8400, 40, 7840, 0xe996f564, F=0x0
-1, 5814, 5814, 29, 2088, 0x37dfc157
+1, 372096, 372096, 1856, 2088, 0x37dfc157
0, 8440, 8440, 40, 4208, 0xe9c2fba2, F=0x0
0, 8480, 8480, 40, 556, 0x3f1e077c, F=0x0
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]