ffmpeg/tests/ref/fate/matroska-qt-mode
Andreas Rheinhardt d53acf452f avformat/matroskaenc: Don't write \0 unnecessarily
Writing the duration SimpleTag is special: It's size is
reserved in advance via an EBML Void element (if seekable)
and this reserved space is overwritten when writing the trailer;
it does not use put_ebml_string().

The string to write is created via snprintf on a buffer
of size 20; this buffer is then written via put_ebml_binary()
with a size of 20.

EBML strings need not be zero-terminated; if not, they
are implicitly terminated by the element's length field.
snprintf() always zero-terminates the buffer, i.e.
the last byte can be discarded when using an EBML string.
This patch does this.

The FATE changes are as expected: One byte saved for every
track; the only exception is the matroska-qt-mode test:
An additional byte is saved because an additional byte
could be saved from the enclosing Tags length field.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-08-10 23:56:35 +02:00

125 lines
6.9 KiB
Plaintext

bab6f4122a60a0d4e192fb93c17a5464 *tests/data/fate/matroska-qt-mode.matroska
1884240 tests/data/fate/matroska-qt-mode.matroska
#extradata 0: 90, 0x817d0185
#tb 0: 1/1000
#media_type 0: video
#codec_id 0: svq1
#dimensions 0: 160x120
#sar 0: 0/1
#tb 1: 1/1000
#media_type 1: audio
#codec_id 1: pcm_u8
#sample_rate 1: 22050
#channel_layout_name 1: mono
0, 0, 0, 66, 3340, 0xcdb26464
1, 0, 0, 46, 1024, 0x3c0f001e
1, 46, 46, 46, 1024, 0x5772fef7
0, 67, 67, 66, 76, 0xc93b1f74, F=0x0
1, 93, 93, 46, 1024, 0xa98efec4
0, 133, 133, 66, 116, 0x5688353c, F=0x0
1, 139, 139, 46, 1024, 0xba56fd5d
1, 186, 186, 46, 1024, 0x69d7063c
0, 200, 200, 66, 112, 0xbe8f3086, F=0x0
1, 232, 232, 46, 1024, 0x2b67fc5a
0, 267, 267, 66, 132, 0xd0cd3b9c, F=0x0
1, 279, 279, 46, 1024, 0xcdf9022d
1, 325, 325, 46, 1024, 0x91f6fd81
0, 333, 333, 66, 200, 0x42385725, F=0x0
1, 372, 372, 46, 1024, 0x920eff99
0, 400, 400, 66, 164, 0x2d344be3, F=0x0
1, 418, 418, 46, 1024, 0x09a2ff2b
1, 464, 464, 35, 785, 0x6ece8797
0, 467, 467, 66, 176, 0xc97c53ff, F=0x0
1, 500, 500, 46, 1024, 0x9a50fc54
0, 533, 533, 66, 216, 0x62fe5cf9, F=0x0
1, 546, 546, 46, 1024, 0xc5ef006e
1, 593, 593, 46, 1024, 0x53430734
0, 600, 600, 66, 164, 0x52564b48, F=0x0
1, 639, 639, 46, 1024, 0xaaaff2dc
0, 667, 667, 66, 244, 0x25e16dfb, F=0x0
1, 686, 686, 46, 1024, 0xe29a01d2
1, 732, 732, 46, 1024, 0x4deb0411
0, 733, 733, 66, 156, 0x6abe49bf, F=0x0
1, 779, 779, 46, 1024, 0x4f5dfd8d
0, 800, 800, 66, 152, 0x47f84373, F=0x0
1, 825, 825, 46, 1024, 0x4dc5fdf1
0, 867, 867, 66, 144, 0xe0c64013, F=0x0
1, 872, 872, 46, 1024, 0x7e0dff54
1, 918, 918, 46, 1024, 0xde9cff3e
0, 933, 933, 66, 280, 0xa3b57919, F=0x0
1, 964, 964, 35, 785, 0xfdb78def
0, 1000, 1000, 66, 3312, 0x45ee5b17
1, 1000, 1000, 46, 1024, 0x5224f542
1, 1046, 1046, 46, 1024, 0x6e61f9bc
0, 1067, 1067, 66, 324, 0x07cd8cd2, F=0x0
1, 1093, 1093, 46, 1024, 0x5727115f
0, 1133, 1133, 66, 364, 0x101d9883, F=0x0
1, 1139, 1139, 46, 1024, 0x1b70eccb
1, 1186, 1186, 46, 1024, 0x717f0778
0, 1200, 1200, 66, 440, 0x4628b544, F=0x0
1, 1232, 1232, 46, 1024, 0xf1870091
0, 1267, 1267, 66, 7020, 0x0a137edf
1, 1279, 1279, 46, 1024, 0xca1df3a7
1, 1325, 1325, 46, 1024, 0x5a921497
0, 1333, 1333, 66, 5768, 0xc019d7b8, F=0x0
1, 1372, 1372, 46, 1024, 0x0655e7bf
0, 1400, 1400, 66, 4820, 0xcc946718, F=0x0
1, 1418, 1418, 46, 1024, 0x2a8a141c
1, 1464, 1464, 35, 785, 0xbd3a81a5
0, 1467, 1467, 66, 6112, 0xbaf23f70, F=0x0
1, 1500, 1500, 46, 1024, 0x54b5fc77
0, 1533, 1533, 66, 6112, 0xc79655d0, F=0x0
1, 1546, 1546, 46, 1024, 0x8febfbc1
1, 1593, 1593, 46, 1024, 0x8ef8f1c1
0, 1600, 1600, 66, 5112, 0x1d8fe26b, F=0x0
1, 1639, 1639, 46, 1024, 0x565817aa
0, 1667, 1667, 66, 5872, 0x162eed4d, F=0x0
1, 1686, 1686, 46, 1024, 0xfdd7ef74
1, 1732, 1732, 46, 1024, 0x69080694
0, 1733, 1733, 66, 5092, 0x6ce7e2aa, F=0x0
1, 1779, 1779, 46, 1024, 0xe4a105c3
0, 1800, 1800, 66, 5648, 0xfa739b01, F=0x0
1, 1825, 1825, 46, 1024, 0x1397f5e1
0, 1867, 1867, 66, 5516, 0x8a778b2b, F=0x0
1, 1872, 1872, 46, 1024, 0xb298fc7a
1, 1918, 1918, 46, 1024, 0x2869030a
0, 1933, 1933, 66, 5088, 0xdd60e51e, F=0x0
1, 1964, 1964, 35, 785, 0xf6a49164
0, 2000, 2000, 66, 5808, 0x14b6e8b3, F=0x0
1, 2000, 2000, 46, 1024, 0x668ce4db
1, 2046, 2046, 46, 1024, 0x08c71cd7
0, 2067, 2067, 66, 4512, 0x9efdf756, F=0x0
1, 2093, 2093, 46, 1024, 0xc682e3f3
0, 2133, 2133, 66, 5404, 0x50ce47a2, F=0x0
1, 2139, 2139, 46, 1024, 0x98bc11c5
1, 2186, 2186, 46, 1024, 0x4a6ef47d
0, 2200, 2200, 66, 5732, 0x7b46abbf, F=0x0
1, 2232, 2232, 46, 1024, 0xa6660535
0, 2267, 2267, 66, 6936, 0x325421f1
1, 2279, 2279, 46, 1024, 0xa1d1fd9d
1, 2325, 2325, 46, 1024, 0xf012fbf3
0, 2333, 2333, 66, 5780, 0x8eb1d896, F=0x0
1, 2372, 2372, 46, 1024, 0xacc00616
0, 2400, 2400, 66, 2280, 0x3a778e69
1, 2418, 2418, 46, 1024, 0xc8660aac
1, 2464, 2464, 35, 785, 0xe9416835
0, 2467, 2467, 66, 1220, 0x676b10f0, F=0x0
1, 2500, 2500, 46, 1024, 0xe31622b5
0, 2533, 2533, 66, 1584, 0x668b6e9e, F=0x0
1, 2546, 2546, 46, 1024, 0xc53ee0b8
1, 2593, 2593, 46, 1024, 0xf26d1102
0, 2600, 2600, 66, 1084, 0xbdf4ca3d, F=0x0
1, 2639, 2639, 46, 1024, 0xd2fffa3d
0, 2667, 2667, 66, 1612, 0xd9f3817a, F=0x0
1, 2686, 2686, 46, 1024, 0x584f0189
1, 2732, 2732, 46, 1024, 0xb765fce5
0, 2733, 2733, 66, 1696, 0x91ceac8b, F=0x0
1, 2779, 2779, 46, 1024, 0x570dfe8b
0, 2800, 2800, 66, 1532, 0x0b2a7bf1, F=0x0
1, 2825, 2825, 46, 1024, 0x2aa7ff16
0, 2867, 2867, 66, 2072, 0x3daf2859, F=0x0
1, 2872, 2872, 46, 1024, 0x5174fe72
1, 2918, 2918, 46, 1024, 0x21b302d0
0, 2933, 2933, 66, 1568, 0xbd4d7e64, F=0x0
1, 2964, 2964, 35, 785, 0x88b67dcd