forked from aspotashev/mkvtoolnix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
10888 lines (7414 loc) · 430 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2016-09-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: using very large --sync values (several
minutes) with certain container formats was causing mkvmerge to
abort muxing. Fixes #1774.
2016-08-22 Moritz Bunkus <moritz@bunkus.org>
* Released v9.4.0 "Knurl".
2016-08-16 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit: bug fix: mkvpropedit will no longer say that it's
writing the changes if only attachment changes are specified and
none of the specified attachments can be found.
2016-08-11 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: chapter editor bug fix: overly long chapter
names don't cause the GUI's window to become overly wide
anymore. Fixes #1760.
2016-08-10 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: DTS bug fix: if present mkvmerge will use an XLL
extension's sample rate information as the sample rate to put into
the track headers. Fixes #1762.
2016-08-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: added support for reading Apple ProRes
video from MOV/MP4 files. Patch by Chao Chen (see AUTHORS).
2016-08-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: when appending files mkvmerge wasn't starting
clusters on video key frame anymore for the first and all
following appended files. Fixes #1757.
2016-07-31 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: when adding attachments
the GUI will check if there are attachments or attached files with
the same name as the file to add. If so the GUI will tell the user
and ask for confirmation.
2016-07-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: mkvmerge now accepts file names in square
brackets for appending files, e.g. "mvkmerge -o out.mkv [ in1.avi
in2.avi in3.avi ]" instead of "mkvmerge -o out.mkv in1.avi +
in2.avi + in3.avi".
2016-07-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: VP8 in Ogg: fixed dropping the first frame
and the timestamp calculation. Fixes #1754.
* mkvmerge: bug fix: mkvmerge does no longer emit a warning if no
comment header packet is found when reading tracks from Ogg/OGM
files. See #1754.
2016-07-19 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: the "select a play list
to add" dialog does now contain a column with the number of
chapters for each play list found.
* MKVToolNix GUI: job queue enhancement: dragging & dropping a
valid .mtxcfg file (either a full job file or one containing only
merge settings without the job properties) onto the job queue
window will import the dropped .mtxcfg job into the job
queue. Rest of the implementation of #1714.
2016-07-18 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: dragging & dropping a
job queue .mtxcfg file onto the merge tool or using one as a
command line parameter to the mkvtoolnix-gui executable will
import the .mtxcfg job into the job queue. Part of the
implementation of #1714.
2016-07-15 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool bug fix: the automatic adjustments to
the output file name based on the track types selected for muxing
and the mechanism for keeping output file names unique had been
broken since release v9.3.0. Fixes #1743.
* MKVToolNix GUI: merge tool enhancement: toggling the WebM mode
check box will update the output file name's extension
automatically.
2016-07-14 Moritz Bunkus <moritz@bunkus.org>
* Released v9.3.1 "Mask Machine".
2016-07-13 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool bug fix: the GUI v9.3.0 was often
creating an invalid syntax for the --probe-range-percentage
parameter for mkvmerge due to uninitialized memory. Fixes #1741.
* Released v9.3.0 "Second Sight".
* build system: libEBML v1.3.4 and libMatroska v1.4.5 are now
required due to several new elements having been specified for
Matroska, and mkvmerge uses those elements.
2016-07-10 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, MKVToolNix GUI: new chapter generation feature: two
new placeholders have been introduced when generating chapters for
appended files, <FILE_NAME> and <FILE_NAME_WITH_EXT>. The former
will be replaced by the appended file's name without its
extension; the latter with its extension. Implements #1737.
* MKVToolNix GUI: merge tool enhancement: when opening a saved
configuration (via the menu as well as via drag & drop) the
current tab will be replaced if it is empty ( = in the same state
it is in right after creating new mux settings). Implements #1738.
* mkvmerge, MKVToolNix GUI: added an option for specifying how
much of a MPEG PS or TS file is probed for tracks
(--probe-range-percentage). Implements #1734.
2016-07-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: MPEG TS: considerable parts of the module have been
rewritten. Due to its convoluted structure didn't buffer PES
packets properly before trying to parse the PES header leading to
invalid memory accesses in certain cases.
2016-07-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed overly long file type detection in some
cases when text subtitle type probing read a lot of data due to
there being no carriage returns near the start of the file.
* mkvmerge, mkvextract, MKVToolNix GUI: bug fix: several fixes to
the handling of country codes. The list has been updated to
reflect the currently valid top level domain country
codes. Deprecated codes such as "gb" for "Great Britain" are now
mapped to their updated values ("uk" for "United Kingdom" in this
case). Fixes #1731.
* mkvmerge: WavPack4 bug fix: relaxed the stream detection
criteria to only require the major version to be 4 and not to
check the minor version. Fixes #1720.
2016-07-02 Chao Chen <tochenchao@gmail.com>
* mkvmerge, mkvinfo: new feature: added flags to support the
Colour elements in the video tracks of Matroska containers. Users
can use those flags to specify the colour space, transfer
function, chromaticity coordinates etc. These properties are
useful for correct colour reproduction of high dynamic range /
wide colour gamut videos.
2016-07-02 Moritz Bunkus <moritz@bunkus.org>
* configure: fixed the Qt detection with Qt 5.7.0 which now
requires the compiler to be in C++11 mode.
* build system: libEBML v1.3.4 and libMatroska v1.4.5 are now
required due to the usage of new elements introduced in
libMatroska v1.4.5. The copies included in the MKVToolNix source
code have been updated to those releases as well.
2016-06-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: MP4 bug fix wrt. DTS handling: mkvmerge will re-derive
parameters such as number of channels and sampling frequency from
the DTS bitstream circumventing invalid values in the track
headers (e.g. a channel count of 0). Fixes #1727/1728.
2016-06-27 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: TrueHD bug fix: fixed detection of 96 kHz sampling
frequency.
2016-06-24 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo's GUI: fix a crash due to wrong usage of referenced
temporary objects. Fixes #1725.
2016-06-05 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: the default track
languages to set can now also be set whenever the language in the
source file is 'undefined' ('und'). This is now the default and
can be changed back to the old behavior (only set if the source
file doesn't contain a language attribute) in the
preferences. Implements #1697.
2016-06-04 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: menus have been added to
both the "start muxing" and the "add to job queue" buttons. The
menus let the user override the preferences regarding clearing
merge settings after starting to mux and after adding a job to the
queue respectively. Implements #1696.
* mkvmerge: the warning about not being able to determine whether
a raw AAC file contains HE-AAC/AAC+/SBR has been
removed. Implements #1701.
* MKVToolNix GUI: enhancement: all file names are now displayed
with their native path separators (e.g. "C:\some\where\output.mkv"
on Windows). Implements #1298, #1456.
* MKVToolNix GUI: merge tool bug fix: the GUI now takes into
account whether splitting is activated when looking for and
warning due to existing destination files. Fixes #1694.
* mkvmerge: bug fix: the parser for the --default-duration
argument was wrongfully handling arguments of the form "123/456i"
(only this specific syntax and only with "i" as the unit; other
formats and units were fine). This is part of #1673.
Additionally the parser doesn't use the "double" data type
internally anymore fixing loss of precision and failing test cases
on certain 32bit platforms. This fixes #1705.
2016-05-28 Moritz Bunkus <moritz@bunkus.org>
* Released v9.2.0 "Photograph".
2016-05-20 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: the action "select all
attached files" in the popup menu actions for the attached files
view has been split up into "enable all attached files" and
"disable all attached files". Implements #1698.
2016-05-15 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix on Windows: removing the drive letter
does not cause the colon to be removed automatically
anymore. Fixes #1692.
* MKVToolNix GUI: merge tool bug fix: it's no longer possible
to select "1" as the maximum number of files to split into as
mkvmerge doesn't accept that value. Fixes #1695.
* mkvmerge: bug fix: the "interval" chapter generation mode was
always creating one chapter too many.
* mkvmerge: bug fix: if a certain number of chapters had been
generated with --generate-chapters then mkvmerge wasn't replacing
the void placerholder with the actual chapters. Fixes #1693.
2016-05-14 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool bug fix: the track column "default
track in output" wasn't taking into account if the track had its
"default track" flag set to "no" in the source file. This would
result in the column showing "yes" in certain situations even
though mkvmerge would assign "no".
2016-05-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed detection of (E-)AC-3 in MPEG TS files
with unusual stream types (e.g. 0x87) but with (E-)AC-3 PMT
descriptors. Fixes #1684.
2016-05-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvextract: bug fix: fixed handling of Big Endian PCM
with a bit depth other than 16, 32 or 64 bits/sample. Other
formats were using the Little Endian codec ID, but their content
was actually not byte-swapped to match it. Now those other bit
depths are byte-swapped to Little Endian, too. Fixes #1683.
* mkvinfo: the change to start the GUI by default on Windows and
Mac OS has been reverted. Instead a separate executable
(mkvinfo-gui) will be included for those platforms which starts
the GUI by default. The newly introduced option "--no-gui" will
remain valid but won't have any effect when used with mkvinfo.
2016-05-04 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo GUI: enhancement: the window title now includes the file
name. Implements #1679.
* mkvmerge: enhancement: the "bit depth" track header field will
be set for DTS tracks from the first DTS core header. Implements
#1680.
2016-05-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: the time zone portion of the "date_local"
member of the JSON and verbose identification formats contained
the time zone's name instead of its offset on Windows due to the
Visual C++ runtime's std::strftime not being C++11
compliant.
Additionally this resulted in errors about invalid UTF-8 strings
for locales where the time zone's name contained non-ASCII
characters.
2016-04-23 Moritz Bunkus <moritz@bunkus.org>
* Released v9.1.0 "Little Earthquakes".
* mkvmerge: MPEG TS/teletext enhancement: included the teletext
page number in the JSON/verbose identification output as track
property "teletext_page".
* mkvmerge: MPEG TS bug fix: the "text_subtitles" property of the
JSON/verbose identification modes was always set to true for all
subtitle tracks, even for those that aren't text subtitles
(VobSub, PG).
* mkvmerge: MPEG TS/teletext enhancement: if a teletext track
contains multiple teletext pages then mkvmerge will now recognize
all of those pages as separate tracks to merge instead of only
merging the first page. See #1662.
2016-04-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: MPEG TS/teletext enhancement: mkvmerge will now ignore
obviously bogus PTS values for teletext tracks and use PTS from
earlier audio or video packets instead. See #1662.
2016-04-20 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: MPEG TS/teletext bug fix: the language code signaled
in the MPEG TS PMT is taken into account when selecting the
character encoding to use during decoding of the teletext
subtitles, not just the "national character set" stored in the
teletext page headers. For example, a German teletext page may
signal "national character set" 0 (English) whereas it's actually
4 (German). See #1662.
* mkvmerge: teletext decoding bug fix: fixed dropping of certain
non-ASCII characters in rare circumstances due to wrong filtering
of already UTF-8 encoded strings.
* mkvmerge: MPEG TS reader enhancement: teletext tracks of type 5
(hearing impaired) are recognized as subtitles, too. Implements
#1662.
2016-04-16 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: characters that aren't
valid in path names are automatically removed from the output file
name. Implements #1647.
* MKVToolNix GUI: bug fix (Windows only): the GUI didn't start
if the USERNAME environment variable contained characters that
aren't allowed in file names (e.g. : or ?).
2016-04-13 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: AVI reader bug fix: fixed reading files where the file
ends in the middle of an audio chunk. Fixes #1657.
2016-04-11 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: new feature: added support for extracting WebVTT
subtitles. Implements the extraction part of #1592.
* mkvmerge: new feature: added support for reading WebVTT
subtitles from WebVTT and Matroska files. Implements the merge
part of #1592.
* mkvmerge: enhancement: when reading Matroska files not created
by mkvmerge that contain chapters the existing edition UIDs and
chapter UIDs are removed and random ones created. This is
necessary as not only HandBrake but other tools assign sequential
numbers starting at 1 for each file. Therefore there are two
chapter entries with the UID 1, two with the UID 2 etc. and those
should, strictly speaking, be treated as if they were a single
chapter whereas the user expects those entries to stay separate
entries.
2016-04-09 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new feature: added an option in the preferences
("Merge" → "Output") for controlling whether or not the GUI clears
the "output file name" input upon removal of the last file.
* MKVToolNix GUI: new feature: added an option in the preferences
("Merge" → "Default values") for controlling whether or not the
GUI clears the "file title" input upon removal of the last file.
* mkvmerge: bug fix: mkvmerge will no longer abort reading a
Matroska file with a structural error right before the first
cluster. Fixes #1654.
2016-04-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: added the muxing date in both local time
zone and UTC to verbose/JSON identification outputs (keys
"date_local" and "date_utc", formatted after ISO 8601) when
identifying Matroska files.
2016-04-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: added the minimum timestamp for each
track in verbose/JSON identification outputs (key
"minimum_timestamp") when identifying Matroska files. At most the
first ten seconds are probed; if no block is found for a track
within that range then the key is not output for the track.
Also added "muxing_application" and "writing_application" to the
"container" section of the output. Currently those are only set
for Matroska files.
2016-03-31 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool change: attachments from source files
have been moved from the "Tracks, chapters, tags and attachments"
list on the "sources" tab to a new list on the "attachments"
tab. That way all existing attachments and all the ones to newly
add will be shown in a single tab. This makes it easier to decide
which attachments will have to be added and which can be removed.
* MKVToolNix: merge tool bug fix: when adding playlists the GUI
won't ask the user whether or not to scan if there's only a single
playlist in that directory.
2016-03-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: AVC/h.264: fixed handling of interlaced
frames with bottom field first.
* MKVToolNix GUI: bug fix: fixed huge memory consumption
(e.g. allocation of 2 GB for a JSON file of 650 KB) in the JSON
library by updating said JSON library. Fixes #1631.
2016-03-28 Moritz Bunkus <moritz@bunkus.org>
* Released v9.0.1 "Obstacles".
* mkvmerge: bug fix: regression in v9.0.0: the text subtitle
packetizer was wrongfully assuming an encoding of UTF-8 if none
was given instead of assuming the system's encoding. Fixes #1639.
2016-03-27 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: if too many chapters had been generated with
--generate-chapters then mkvmerge created a bogus entry in the
meta seek element and did not actually write the chapters to the
file.
* mkvmerge: bug fix: the DTS packetizer was setting the number of
channels wrong sometimes when reducing to the DTS core. It was
using the number of channels including the extensions instead of
the channels of the core only.
2016-03-26 Moritz Bunkus <moritz@bunkus.org>
* Released v9.0.0 "Power to progress".
2016-03-25 Mike <kona8lend@gmail.com>
* build system: implemented support for explicit pre-compiled
headers for Linux and Mac OS.
2016-03-25 Moritz Bunkus <moritz@bunkus.org>
* Installer: fixed support for silent installation and
uninstallation.
2016-03-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed two more issues in the conversion of
teletext subtitles to SRT subtitles:
1. Packets belonging to pages that don't contain subtitles were
used as valid end points for subtitles causing entries to become
very short (e.g. 40ms).
2. Sometimes the timestamps of wrong packets were used as entry's
start and end points causing start timestamps and durations that
were slightly off.
Second part of the fix for #1623.
2016-03-22 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: MP4/QuickTime reader: audio tracks with the FourCC
'lpcm' are muxed as A_PCM/INT/LIT instead of A_QUICKTIME.
* mkvmerge: bug fix: MP4/QuickTime reader: audio tracks can contain
two instances of certain header fields (channel count,
bits/sample & channel, sample rate) in the STSD atom: one instance
in the version 0 header and one in the version 2 header parts. So
far mkvmerge has used those from the version 0 header only and
ignored the ones from the version 2 header.
This has been changed to match the behavior of other players and
MP4 readers like ffmpeg. If the STSD atom contains a version 2
structure then the fields from it will be used. Otherwise the
fields from the version 0 part will be used.
Fixes #1633.
2016-03-21 Moritz Bunkus <moritz@bunkus.org>
* all: new feature: added a new translation of both the programs
and the man pages to Korean by Potato (see AUTHORS).
* MKVToolNix GUI: chapter editor enhancement: added a button next
to the 'segment UID' controls that enable the user to select a
Matroska file. The GUI reads that file's segment UID and enters
its value into the input field.
2016-03-20 Moritz Bunkus <moritz@bunkus.org>
* build system: added an option to configure
»--without-qt-pkg-config«. Normally configure uses pkg-config for
detecting Qt and setting QT_CFLAGS and QT_LIBS. With this option
configure won't use pkg-config and rely on the user having set
both variables before running configure. This enables using Qt on
systems where no pkg-config files are generated (e.g. Qt 5.6.0 on
MacOS with frameworks enabled).
2016-03-18 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: change: on Windows and Mac OS mkvinfo will now launch
the GUI by default unless the option »--no-gui« (or »-G«) has been
given. This is due to the fact that on both OS users often use
portable versions respectively disk images and launch the
executable directly and not via start menu entries. In those
situations adding command line options for launching the GUI is
unnecessarily difficult.
2016-03-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed two issues in the conversion of
teletext subtitles to SRT subtitles:
1. Consecutive teletext packets with the same content are now
merged into a single entry instead of resulting in multiple
entries.
2. The calculation of a packet's duration was wrong in certain
situations.
Part of the fix for #1623.
2016-03-14 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool (playlist selection dialog)
enhancement: the playlist items are sorted by their position
within the playlist by default.
* MKVToolNix GUI: merge tool (playlist selection dialog)
enhancement: double-clicking on a playlist will select and add
that playlist.
2016-03-12 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: added the number of bits per sample to
the verbose/JSON identification output for FLAC files.
2016-03-11 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: fixed the duplication of VPS, SPS, PPS and
SEI NALUs when extracting h.265/HEVC tracks. See #1076 and #1621.
* mkvmerge: bug fix: reverted the patch by Vladimír Pilný that
made the h.265/HEVC not store SEI NALUs with the frames during
muxing. It was supposed to prevent having the SEI NALUs present
twice when extracting HEVC due to some SEI information also being
stored in the codec private data, but it dropped a lot of other
SEI NALUs irrevocably. Fixes #1621.
2016-03-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: the --sub-charset option is now ignored for
text subtitle files that start with a byte-order mark (BOM)
bringing the behavior in line with the documentation. Fixes #1620.
2016-03-07 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: new feature: implemented the extraction of Big
Endian PCM (codec ID A_PCM/INT/BIG) to WAV files. The content will
be byte-swapped into Little Endian PCM in the process.
* mkvmerge: enhancement: Big Endian PCM tracks will now be
byte-swapped into Little Endian PCM, and the codec ID
A_PCM/INT/LIT will be used. This was done due to a lot of players
not supporting Big Endian PCM inside Matroska.
2016-03-01 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, MKVToolNix GUI: new feature: added switches
(»--generate-chapters« and »--generate-chapter-name-template«) and
their corresponding UI items for generating chapters while
muxing. Two modes are currently supported: »when-appending« which
creates one chapter at the beginning and an additional one each
time a file is appended and »interval:…« which generates chapters
in fixed intervals.
Implements mkvmerge's and the GUI's part of #1586.
2016-02-28 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: job queue enhancement: completed jobs will now
be removed from the queue automatically on exit if the job has
been added more than 14 days ago in order not to let the queue
grow arbitrarily large. This feature can be turned off and the
number of days can be adjusted in the preferences.
2016-02-27 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit, MKVToolNix GUI's header editor: bug fix: fixed the
handling of files where the last level 1 element has an unknown
size. The programs will now either fix this element to have a
known size or abort the process with an appropriate error message
but without modifying the file. Fixes #1601.
2016-02-25 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: enhancement: when extracting chapters in the simple
format the user can use the new option »--simple-language …« for
selecting the chapter names that are output. Normally the first
chapter name found in each atom is used. With this option
mkvextract looks for a chapter name whose language matches the
specified one.
Implements the feature enhancement part of #1610.
* mkvextract: several issues regarding the extraction of chapters
in the simple format have been fixed: if multiple names with
different languages were present then an entry had been written
for each name; the total number of entries written was wrong; the
wrong entries were written.
The new code only writes the first name found from the top-most
chapter atoms of all editions. Chapters flagged as hidden or as
not enabled are not extracted at all.
Fixes the bug part of #1610.
2016-02-24 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new chapter editor feature: added an option to
multiply all chapter timecodes by a factor to the "additional
modifications" dialog. Implements #1609.
2016-02-21 Moritz Bunkus <moritz@bunkus.org>
* Released v8.9.0 "Father Daughter".
* MKVToolNix GUI: the default font size adjustment has been
deactivated for the time being as it causes problems on high DPI
displays. See #1602.
* MKVToolNix GUI: bug fix: ampersands (&) in file names were shown
as keyboard shortcuts in tab titles in various tools (merge tool,
chapter and header editors, job output tool). Fixes #1603.
2016-02-20 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: header editor enhancement: when the user drags &
drops files on an open header editor tab the GUI will ask the user
what to do with them: either open the files as new header editor
tabs or add the files as new attachments to the current tab. The
action can also be set as the default. Implements #1585.
* MKVToolNix GUI: chapter & header editor enhancement: Matroska
files are initially opened in read-only mode and only later
re-opened in read/write mode in order to enable reading from
write-protected files. Part of the implementation of #1594.
* MKVToolNix GUI: chapter & header enhancement: the error messages
shown when a Matroska file could not be parsed have been improved
to include the most likely reasons. Part of the implementation of
#1594.
* MKVToolNix GUI: chapter editor enhancement: added a menu entry
for removing chapters from an existing Matroska file. Inspired by
#1593.
* MKVToolNix GUI: chapter editor enhancement: it is now possible
to save chapters to Matroska files after having removed all
entries (editions and chapter atoms). This effectively removes the
chapters from the file. Implements #1593.
2016-02-18 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: job queue enhancement: added keyboard shortcuts
for removing all completed jobs and for removing successfully
completed jobs. Implements #1599.
* MKVToolNix GUI: merge tool enhancement: added icons to the
context menu actions in the "attachments" sub-tab. Implements
#1596.
* MKVToolNix GUI: merge tool enhancement: made the context menu
entries in the "attachments" sub-tab clearer. Implements #1597.
2016-02-10 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed the handling of AVIs with a negative
video height (which signals that the rows are arranged
top-to-bottom).
2016-01-31 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: job queue bug fix: fixed an invalid memory
access in the "edit in corresponding tool and remove from queue"
functionality.
* MKVToolNix GUI: re-write, merge tool bug fix: the file
identification is now based on mkvmerge's JSON output instead of
its verbose output. This also fixes the merge tool not showing
names of attachments inside Matroska files properly if those names
contain spaces (#1583).
* MKVToolNix GUI: merge tool bug fix: the "mux this" combo box
was disabled if a single attachment was selected.
* mkvmerge: bug fix: removed spurious output generated during file
identification in the HEVC detection code (e.g. "Error No Error").
* mkvmerge: bug fix: fixed the output of the "playlist_file" and
"other_file" properties of the "container" entity in the JSON
identification format from a single string to an array of
strings. The format version has been bumped to 3 due to this
change.
2016-01-30 Moritz Bunkus <moritz@bunkus.org>
* docs: added a Polish translation of the man pages by Daniel Kluz
(see AUTHORS).
* MKVToolNix GUI: "run program after XYZ" enhancement:
configurations can now be deactivated without having to change
them. Implements #1581.
2016-01-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed parsing of AAC in MP4 with a program
config element with an empty comment field at the end of the GA
specific config. Fixes #1578.
2016-01-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: when reading Matroska files created by
HandBrake that contain chapters the existing edition UIDs and
chapter UIDs are removed and random ones created. This is
necessary as HandBrake assigns sequential numbers starting at 1
for each file. Therefore there are two chapter entries with the
UID 1, two with the UID 2 etc. and those should, strictly
speaking, be treated as if they were a single chapter whereas the
user expects those entries to stay separate entries. Implements an
improvement for issues such as #1561.
* MKVToolNix GUI: merge tool bug fix: the GUI no longer requires
at least one source file to be present before muxing can start in
order to allow creation of track-less files. Fixes #1576.
2016-01-16 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: enhancement: the "escape for Windows' cmd.exe"
mechanism will only escape arguments that actually need escaping
in order to produce easier to read command lines.
2016-01-15 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: QuickTime/MP4 reader: fix a division by zero in the
index generation for certain old audio codecs that have certain
header fields (bytes_per_frame, samples_per_packet) set to 0.
2016-01-13 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: bug fix: global elements (EBML void and CRC-32
elements) are now handled correctly if they're located inside the
segment info or the chapter translate parents.
2016-01-10 Moritz Bunkus <moritz@bunkus.org>
* Released v8.8.0 "Wind at my back".
2016-01-09 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: "run program after XYZ" enhancement: added a
button for executing the program right now as a test run. See
#1570.
* MKVToolNix GUI: "run program after XYZ" enhancement: an error
message is shown if the program couldn't be executed. See #1570.
* MKVToolNix GUI: "run program after XYZ" enhancement: any leading
spaces in the executable path are removed in order to make copying &
pasting less error-prone.
* MKVToolNix GUI: "run program after XYZ" bug fix: the paths used
in the variables and the executable are converted to the platforms
native path separators. This fixes compatibility with Windows
applications that don't support the use of forward slashes in path
names like e.g. VLC. See #1570.
2016-01-08 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit: enhancement: mkvpropedit will accept terminology
variants of ISO 639-2 language codes and convert them to the
bibliographic variants automatically. Implements #1565.
2016-01-06 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: enhancement: the GUI's default font's size is
now scaled with the screen's DPI and is at least 9 points high (up
from 8). Additionally on Windows "Segoe UI", which is Windows'
default user interface font, is used instead of the default
provided by Qt, "MS Shell Dlg 2".
* MKVToolNix GUI: enhancement: the user can select the font family
and size for the GUI in the preferences.
2016-01-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed TrueHD detection both as raw streams as
well as inside other contains if the stream does not start with a
TrueHD sync frame.
2016-01-03 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new merge tool feature: added a layout for the
track properties where they're on the right of the files/tracks
lists in two fixed columns. Implements #1526.
2016-01-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed a mis-detection of an MPEG-2 video
elementary stream as a TrueHD file which then caused a
segmentation fault. Fixes #1559.
* mkvmerge: bug fix: Matroska attachments with the same name, size
and MIME type were not output during file identification.
* MKVToolNix GUI: merge tool enhancement: added a column to the
"attachments" tab containing the file size.
* MKVToolNix GUI: enhancement: pressing the insert key when the
focus is on the merge tool's source files or attachments list, on
the chapter editor's chapter list or on the header editor's list
will invoke the corresponding action for adding elements to that
list.
2016-01-01 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool bug fix: when using one of the
"select all tracks (of type…)" actions the "properties" column
didn't show the selection.
* MKVToolNix GUI: new feature: implemented adding, changing and
removing attachments in existing Matroska files as part of the
header editor. Implements #1533.
2015-12-31 Moritz Bunkus <moritz@bunkus.org>
* Released v8.7.0 "All of the above".
2015-12-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed the handling of a PES size of 0 ( =
unknown). Tracks whose PES packets had such a size were sometimes
not detected at all, and even if they were their content was
incomplete. Fixes #1553.
* mkvmerge: bug fix: made the MPEG 1/2 video elementary stream
file type recognition more resilient and more flexible dropping
the requirement for a file to start with an MPEG start code (0x00
00 01). Fixes #1462.
* mkvpropedit: bug fix: when changing the track language it is now
verified to be a valid ISO 639-2 language code before writing it
to the file. Fixes #1550.
* mkvmerge: enhancement: the MP4 reader will keep the display
dimensions from the track header atom ("tkhd") and use them as the
display width & height. See also #1547.
2015-12-29 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: the "add source files"
button now has optional popup menu containing actions for
adding/appending files and adding files as additional parts for
easier discovery of those actions. This popup is only shown if the
user clicks on the arrow shown on the right of the button.
* mkvmerge: new feature: TrueHD tracks that contain Dolby Atmos
will be identified as "TrueHD Atmos". Implements #1519.
* mkvmerge: bug fix: the Matroska reader now uses TrueHD-specific
code when reading Matroska files. This can fix things like wrong
frame type flags.
2015-12-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: MP4 edit lists of certain types (two entries,
first entry's media_time is -1, second entry's segment_duration is
!= 0) weren't handled properly resulting in key frame flags being
assigned to the wrong frames. Fixes #1547.
* mkvmerge: bug fix: the h.265/HEVC code was writing SEI NALUs
twice. This had already been mentioned in #1076 but never
fixed. Patch by Vladimír Pilný.
* mkvmerge: bug fix: the h.265/HEVC code wasn't converting slice
NALUs to RBSP form before parsing it resulting in wrongly
timestamped frames under certain conditions. This is a similar fix
to the issues reported in #918 and #1548.
* mkvmerge: bug fix: the h.264/AVC code wasn't converting slice
NALUs to RBSP form before parsing it resulting in wrongly
timestamped frames under certain conditions. Fixes #918 and #1548.
* mkvmerge: bug fix: the MP4 reader can now understand the 'random
access point' sample grouping information for marking open GOP
random access points as key frames. Fixes #1543.
2015-12-27 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed the decisions whether or not to write
the last frame of a track as a BlockGroup or a SimpleBlock and
whether or not to write a block duration for that frame. Fixes
#1545.
* MKVToolNix GUI: new merge tool feature: added menu options in
the "Merge" menu for copying either the first source file's name
or the current output file's name into the "file title" control.
2015-12-22 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit: new feature: added an option for calculating
statistics for all tracks and adding new/updating existing
statistics tags in a file. Second half of the implementation of
#1507.
2015-12-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: the progress calculation was sometimes
outputting negative numbers when appending Matroska files whose
timestamps don't start at 0 (e.g. if they were created by
splitting with linking enabled). In the the GUI this resulted in
lines like "#GUI#progress -2%" in the job's output.
* mkvpropedit: new feature: added an option for removing all
existing track statistics tags from a file. Part of the
implementation of #1507.
* mkvmerge: bug fix: AAC with low sampling frequencies was
sometimes mis-detected with the wrong profile preventing appending
it to other AAC tracks. Fixes #1540.
2015-12-17 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: chapters were output as both "chapters" and
"track_tags" in JSON identification mode. Fixes #1538.
* mkvmerge: enhancement: added the container's internal track ID
as the "number" attribute in verbose & JSON identification modes
for several container types (QuickTime/MP4: the track ID from the
'tkhd' atom; MPEG program stream: the sub-stream ID in the upper
32 bits and the stream ID in the lower 32 bits; MPEG transport
stream: the program ID; Ogg/OGM: the stream's serial number field;
RealMedia: the track ID). Implements #1541.
2015-12-16 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix: the "split mode" drop-down box got
reset to "do not split" each time the preferences dialog was
closed with the "OK" button. Fixes #1539.
* mkvmerge: enhancement: if JSON identification mode is active
then warnings and errors will be output as JSON as well. They're
output as arrays of strings as the keys "warnings" and "errors" of
the main JSON object. Implements #1537.
* all: reversion of a change: several ISO 639-2 codes of languages
that are very old and not spoken anymore have been re-added
(e.g. "English, Middle (1100-1500)") due to feedback from users
who did have a use for such codes.
* all: reversion of a change: all of the tools will write a byte-order
mark (BOM) to text files encoded any of the UTF-* schemes
again. This reverts the change in release 8.6.0 due to user
feedback preferring the old way.
2015-12-12 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit: enhancement: when using --add-attachment,
--replace-attachment or --update-attachment the UID can be changed
with --attachment-uid. See #1532.
* mkvpropedit: new feature: added an option "--update-attachment"
for updating the properties of existing attachments without
replacing their content. Implements #1532.
2015-12-11 Moritz Bunkus <moritz@bunkus.org>