2009-08-16 Moritz Bunkus * Added a new program 'mkvpropedit' that can modify certain properties of existing Matroska files. It is mmg's header editor, just for the command line. 2009-08-13 Moritz Bunkus * Released v2.9.8. * mmg: bug fix: The inputs for timecode files and the language are deactivated if the user has selected a track that will be appended to another track. Fix for bug 432. 2009-08-06 Moritz Bunkus * mmg: bug fix: mmg will handle multiple consecutive spaces in the options given with "add command line options" properly and not cause mkvmerge to exit with misleading error messages anymore. The "add command line options" dialog has been reordered, and the drop down box in it is now read-only. Fixes for bug 429. * doc, mmg: bug fix: The tooltip and documentation for the 'delay' option was misleading. Fix for bug 420. 2009-07-31 Moritz Bunkus * mmg/header editor: enhancement: Implemented a considerable speedup in the processing of large files. 2009-07-30 Moritz Bunkus * mmg/header editor: bug fix: The header editor copes better with files that do not contain all mandatory header fields. The missing ones are added or assumed to be default values. 2009-07-23 Moritz Bunkus * all: bug fix: Selecting the translations with the "--ui-language" option did not work on Mac OS X. 2009-07-16 Moritz Bunkus * mkvmerge: bug fix: Fixed an invalid memory access in the VobSub reader module. Fix for bug 426. * mmg: bug fix: Tracks added from Matroska files did not get their 'default track' drop down box set correctly if the flag was 'off' in the source file and no other track of its kind hat its 'default track' flag set. * mkvmerge: bug fix: mkvmerge was wrongly turning the 'default track' flag back on for the first subtitle track muxed from a Matroska file if none of the subtitle tracks muxed had their 'default track' flag set in their source files and if the user didn't use the '--default-track' option for setting that flag explicitely. 2009-07-15 Moritz Bunkus * mmg: bug fix: Running mkvmerge on Windows from an installation directory with two spaces in the path (e.g. "C:\Program Files\Video tools\mkvtolnix") crashed mmg when the user started muxing. Fix for bug 419. 2009-07-13 Moritz Bunkus * mmg: bug fix: Files for which all tracks were disabled were left out from mkvmerge's command line so that tags, chapters and attachments were not copied from such files either. * mkvmerge: bug fix: Appending MPEG4 part 2 video tracks from Matroska files which contain aspect ratio information will not result in an error message "connected_to > 0" anymore. Fix for bug 427. 2009-07-06 Moritz Bunkus * mkvmerge: bug fix: Fixed the audio sync for tracks read from AVI files containing garbage at the beginning. Fix for bug 421. * mmg: bug fix: Trying to save chapters that contain editions without a single chapter entry does no longer result in a crash but a descriptive error message instead. Saving empty chapters to a Matroska file will remove all chapters contained in the file instead of not doing anything. Fixes for bug 422. 2009-07-05 Moritz Bunkus * mkvinfo: enhancement: Implemented speed-ups of up to 50% for middle to larger files. 2009-07-02 Moritz Bunkus * mkvmerge: bug fix: Fixed reading AVC/h.264 video tracks from OGM files. Fix for bug 418. * mmg: bug fix: The chapter language for chapters copied from source files (e.g. Matroska, MP4 or OGM files) is only changed if the user has selected any language other than "und". Fix for bug 420. * mmg: bug fix: mmg will no longer show an error message if the user has not selected a country in the "chapters" tab of the preferences dialog. 2009-07-01 Moritz Bunkus * Released v2.9.7. 2009-06-28 Moritz Bunkus * mkvmerge: bug fix: The handling of NVOPs in native MPEG4 part 2 video storage has been improved. NVOPs are dropped again both from packed and non-packed bitstreams, and timecodes are adjusted to match the number of dropped frames. 2009-06-25 Moritz Bunkus * mmg: The "preferences" dialog has been split up into several tabs. Some other preferences available in other dialogs have been merged into the "preferences" dialog. * mkvmerge: bug fix: The I frame detection for AVC/h.264 video has been fixed. Sometimes a single I frame was recognized as two or more consecutive I frames resulting in garbled display and wrong timestamps. Fix for bug 415. 2009-06-23 Moritz Bunkus * mmg: new feature: The list of common languages can be configured by the user via the 'preferences' dialog. 2009-06-22 Moritz Bunkus * all: bug fix: The programs do not try to close iconv handles -1 anymore which resulted in segfault during uninitialization on some platforms (e.g. FreeBSD, Mac OS X). Fix for bug 412. 2009-06-21 Moritz Bunkus * mkvmerge: bug fix: Complete rewrite of the code for the native storage mode for MPEG4 part 2 video tracks. Fix for bug 298. 2009-06-18 Moritz Bunkus * mkvmerge: bug fix: Made the detection rules for raw MP3, AC3 and AAC audio files more strict. This avoids a mis-detection of certain files, e.g. AVC/h.264 ES files being misdetected as MP3 files. Fix for bug 414. 2009-06-14 Moritz Bunkus * mkvmerge: bug fix: Appending MP4 or OGM files with chapters will merge the chapters from all appended files and not just take the chapters from the first file and discard the chapters from the following files. Fix for bug 397. * mkvmerge, mmg: new feature: The language for chapters read from files such as OGM and MP4 files can be chosen with the --chapter-language command line option. Fix for bug 399. * mkvmerge, mmg: new feature: Chapter and tag information contained in source files are now shown in the "track" selection box and can be toggled individually. The user can set the charset for chapters if the source file's chapters are not encoded in UTF-8 (e.g. in some OGM/MP4 files). The old file specific checkboxes "no tags" and "no chapters" have been removed. Fix for bug 400. 2009-06-13 Moritz Bunkus * mmg: bug fix: The chapter editor was corrupting Matroska files if the chapters were saved to a file twice in a row without reloading them from the Matroska file. 2009-06-09 Moritz Bunkus * mmg: enhancement: If the user selects the option "Verify" from the "Chapters" menu then a message will be shown even if the validation succeeded. Fix for bug 410. * mmg/mkvmerge: bug fix: Adding MP4 files with chapter entries that are not encoded in UTF-8 will not result in mkvmerge aborting with a message about invalid UTF-8 sequences anymore. Fix for bug 408. 2009-06-07 Moritz Bunkus * Released v2.9.5. 2009-06-06 Moritz Bunkus * mkvmerge: bug fix: The handling of TrueHD/MLP audio in MPEG program streams was broken resulting in many dropped packets. * all: bug fix: There was the possibility that invalid memory access occured and e.g. mkvmerge crashed on systems with the posix_fadvise() function (mainly Linux) if mkvmerge was opening several files from certain file systems (e.g. VFAT). Apart from obvious crashes the only other side effect was that the posix_fadvise() function would not be used resulting in slightly worse I/O performance. 2009-05-31 Moritz Bunkus * mkvmerge: new feature: Improved the control over which tags get copied from a source file to the output file. The old option "--no-tags" was replaced with the new options "--no-global-tags" which causes global tags not to be copied and "--no-track-tags" which causes track specific tags to not be copied. The new option "--track-tags" can be used to select tracks for which tags will be copied. The default is still to copy all existing tags. * mkvmerge: new feature: Included chapters, global and track specific tracks in the output of mkvmerge's identification mode. * mkvmerge: Renamed a couple of command line options to make the command line interface more consistent: "--no-audio", "--no-video", "--no-subtitles", "--no-buttons", "--audio-tracks", "--video-tracks", "--subtitle-tracks", "--button-tracks". The old versions of these options "--noaudio", "--novideo", "--nosubs", "--nobuttons", "--atracks", "--vtracks", "--stracks" and "--btracks" still work. * mkvmerge: bug fix: The sequence header of MPEG-1/2 video tracks is put into the CodecPrivate again while still leaving sequence headers in the bitstream as well. This is more compatible with some existing parsers. 2009-05-30 Moritz Bunkus * mmg: bug fix: Removed the check if the user has added tracks and files before starting mkvmerge because mkvmerge itself is able to create track-less files (e.g. chapters only). Fix for bug 402. * mkvmerge: bug fix: Improved the handling of consecutive AC3 packets with the same timecode (e.g. if AC3 is read from MP4 files). Fix for bug 403. 2009-05-27 Moritz Bunkus * mkvmerge: bug fix: Fixed an endless loop in the TrueHD code occuring when the TrueHD stream is damaged somewhere. 2009-05-26 Moritz Bunkus * mkvmerge: bug fix: Fixed the detection of MPEG transport streams with other packet sizes than 188 bytes (e.g. 192 and 204 bytes). 2009-05-24 Moritz Bunkus * mkvmerge: bug fix: The detection of invalid padding packet lengths in the MPEG program stream reader was improved to not produce as many false positives. Patch by Todd Schmuland (see AUTHORS). Fix for bug 393. 2009-05-23 Moritz Bunkus * mkvmerge: new feature: Added support for the FourCCs ".mp3" and "XVID" in QuickTime files. * mmg: bug fix: Pressing 'return' in the job dialog will close the dialog on Windows, too. Fix for bug 392. 2009-05-22 Moritz Bunkus * mmg: bug fix: Fixed the behaviour of how mmg sets the output file name automatically if the option is enabled. If the user adds more than one file then the extension of the output file name is set each time a file is added and not only when the first one is. The full file name and path will only be set when the first file is added. Fix for bug 391. * Released v2.9.0. 2009-05-17 Moritz Bunkus * all: Added a translation to Traditional Chinese by Dean Lee (see AUTHORS). * mkvmerge: bug fix: mkvmerge was not handling dropped frames well when converting from VfW-mode MPEG-4 part 2 to native mode MPEG-4 part 2 (with '--engage native_mpeg4'). This resulted in timecodes being to low which in turn resulted in the loss of audio/video synchronization. Fix for bug 236. 2009-05-16 Moritz Bunkus * mkvextract: bug fix: The modes 'chapters', 'cuesheet' and 'tags' did not honor the '--redirect-output' option and where always writing to the standard output. * mkvmerge: new feature: Added a hack ('vobsub_subpic_stop_cmds') that causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not have a duration field. Patch by Todd Schmuland (see AUTHORS). 2009-05-15 Moritz Bunkus * mmg: enhancement: Changed how mmg sets the output file name automatically if the option is enabled. If the user adds more than one file then the output file name is set each time a file is added and not only when the first one is unless the user has changed the output file name manually. Fix for bug 229. 2009-05-14 Moritz Bunkus * mkvmerge: enhancement: Improved support for QuickTime audio tracks with version 2 of the STSD sound descriptor. * mmg: bug fix: The "remove all" button was sometimes disabled even though there were still files left to be removed. * mkvmerge: enhancement: The MPEG program stream reader will now detect invalid padding packets and skip only to the next 2048 byte packet boundary instead of skipping several good packets. Patch by Todd Schmuland (see AUTHORS). * mmg: enhancement: The "no chapters" checkbox can now be used for QuickTime/MP4 files and OGM files as well. * mkvmerge: enhancement: The OGM reader will only print the warning that no chapter charset has been set by the user if the title or the chapter information contained in the OGM file is actually used and not overwritten with '--title ...' or '--no-chapters'. 2009-05-13 Moritz Bunkus * mkvextract: bug fix: The VobSub extraction was made more compatible with most applications. Fix for bug 245. Patch by Todd Schmuland (see AUTHORS). * mkvmerge: bug fix: Fixed support for Windows systems that use code pages that are not supported by the iconv library (e.g. code page 720). mkvmerge was exiting with warnings causing mmg to report that file identification had failed. Fix for bug 376. 2009-05-12 Moritz Bunkus * mkvmerge: new feature: Added support for handling MPEG-1/-2 video in AVI files. Fix for bug 388. 2009-05-11 Moritz Bunkus * all: bug fix: Global variables are deconstructed in a pre-defined way no longer causing segfaults when the programs are about to exit. * mkvmerge: enhancement: Implemented small speedups for some common memory operation (affects e.g. the MPEG program stream parser). * mkvmerge: bug fix: Fixed potential and actual segmentation faults occuring when appending VC-1 video tracks, Dirac video tracks and DTS audio tracks. 2009-05-10 Moritz Bunkus * mmg: bug fix: The header and chapter editors will no longer crash the application if the user wants to open a file that's locked by another process and show an error message instead. * mkvmerge: enhancement: Invalid VobSub packets whose internal SPU length field differs from its actual length are patched so that the SPU length field matches the actual length. This fixes playback issues with several players and filters. Fix for bug 383. * mkvmerge: new feature: Added support for reading chapters from MP4 files. Fix for bug 385. 2009-05-09 Moritz Bunkus * Released v2.8.0. 2009-05-07 Moritz Bunkus * all: Added a translation to Chinese (simplified) by Dean Lee (see AUTHORS). * mkvmerge: enhancement: Added support for handling AC3 audio in MP4 files with the FourCC "sac3" (as created by e.g. Nero Recode v3/4). Fix for bug 384. * mkvmerge, mmg: enhancement: Made mmg's "FPS" input field available for all video tracks. mkvmerge's corresponding option "--default-duration" now not only modifies the track header field but affects the frame timecodes as well. 2009-05-06 Moritz Bunkus * mkvmerge: bug fix: The VobSub reader was dropping the very last MPEG packet possibly resulting in the very last subtitle entry being garbled or discarded completely. Patch by Todd Schmuland. 2009-05-03 Moritz Bunkus * mmg: enhancement: Added "60000/1001" as a pre-defined option to the "FPS" drop-down box. 2009-04-29 Moritz Bunkus * mmg (header editor): bug fix: The header editor controls on the right stopped responding after the second file had been loaded or the "reload file" feature had been used. Fix for bug 372. 2009-04-27 Moritz Bunkus * mmg: new feature: Added an option for clearing all inputs after a successful muxing run. 2009-04-25 Moritz Bunkus * mkvmerge: bug fix: Made the AAC detection code stricter in what it accepts. This results in fewer mis-detections. Fix for bugs 373 and 374. 2009-04-16 Moritz Bunkus * mkvmerge: bug fix: Splitting without the option "--engage no_simpleblocks" resulted in broken files: all frames were marked as B frames. Fix for bug 371. * mkvinfo: bug fix: Timecodes of SimpleBlock elements that were output formatted in summary mode were too small by a factor of 1000000. 2009-04-15 Moritz Bunkus * mkvmerge: bug fix: The duration of subtitle frames was overwritten with the difference between the next frame's timecode and the current frame's timecode if a timecode file was used for that track. Fix for bug 286. * mmg: bug fix: Removed the option "always use simple blocks" from the preferences dialog as this option was already removed from mkvmerge. Fix for bug 370. 2009-04-14 Moritz Bunkus * Released v2.7.0. * Build requirements changed: mkvtoolnix requires Boost v1.32.0 or later. 2009-04-13 Moritz Bunkus * mkvmerge: mkvmerge will now use SimpleBlock elements instead of normal BlockGroup elements by default. 2009-04-11 Moritz Bunkus * mkvmerge, mmg: new feature: Added support for the "forced track" flag. Fix for bug 128. * mmg: bug fix: The header editor and chapter editor will not write zero bytes anymore if there's not enough space to write an EbmlVoid element when saving to Matroska files. 2009-04-08 Moritz Bunkus * mkvmerge: By default mkvmerge keeps the aspect ratio information in AVC/h.264 video bitstreams now (equivalent to specifying "--engage keep_bitstream_ar_info" in earlier versions). A new option "--engage remove_bitstream_ar_info" is available that restores the previous behaviour. * mkvmerge: bug fix: Fixed the aspect ratio extraction for AVC/h.264 video by adding three more pre-defined sample aspect ratios. Mkvmerge also only assumes "free aspect ratio" if the aspect ratio type information indicates it and not if the type information is unknown. 2009-04-05 Moritz Bunkus * mmg: new feature: Added drag & drop support for the header editor (files can be opened by dropping them on the header editor). * mkvmerge: new feature: Added support for reading the track language from QuickTime/MP4 files. Thanks to Eduard Bloch for the code for unpacking the language string. * mmg: bug fix: All arguments are shell escaped and quoted instead of only those with spaces in them. Only applies to the menu options "show command line", "save command line to file" and "copy command line to clipboard". Fix for bug 364. 2009-03-30 Moritz Bunkus * mkvmerge, mkvextract: new feature: Added support for MLP audio. * mmg: bug fix: When adding a file with colons in the segment title all colons were replaced with the letter 'c'. 2009-03-29 Moritz Bunkus * mkvmerge, mkvetract: new feature: Added support for TrueHD audio (read from raw streams with or without embedded AC3 frames, MPEG program streams). 2009-03-25 Moritz Bunkus * mmg: bug fix: The job manager's status output was garbled if mmg was run with another language as English. * mmg: bug fix: The progress bar for each individual job in the job dialog wasn't updated if mmg was run with another language as English. * mmg: bug fix: The timecodes in the job queue editor were off by one month. The "added job on" was additionally off by an amount depending on the user's time zone. Fix for bug 362. 2009-03-24 Moritz Bunkus * mkvmerge: bug fix: The MPEG program stream (VOB/EVO) reader was sometimes reading the timecodes wrong resulting in bad audio/video synchronization. Fix for bug 337. * Released v2.6.0. 2009-03-22 Moritz Bunkus * mmg: new feature: Added a header editor for Matroska files. 2009-03-21 Moritz Bunkus * mkvextract: bug fix: The "simple" chapter extraction mode (OGM style chapter output) outputs strings converted to the system's current charset by default now instead of always converting to UTF-8. This can be overridden with the "--output-charset" command line option. Fix for bug 359. 2009-03-18 Moritz Bunkus * mkvmerge: bug fix: QuickTime audio tracks will be stored with the CodecID "A_QUICKTIME". The CodecPrivate element contains the full "STSD" element from the QuickTime file (just like V_QUICKTIME). This method is used for all audio tracks which don't have a well-defined storage spec for Matroska (e.g. AAC, AC3, MP2/3 are still stored as A_AC3, A_AAC etc). Hopefully a fix for bugs 354 and 357. * mkvmerge: bug fix: The CodecPrivate element for QuickTime video tracks like Sorenson Video Codecs contained wrong data. Fix for bug 355. * all: Added a Japanese translation by Hiroki Taniura (see AUTHORS). 2009-03-17 Moritz Bunkus * mkvmerge: bug fix: Fixed detection of little endian PCM tracks in MOV files. Fix for bug 356. 2009-03-15 Moritz Bunkus * mkvextract: bug fix: The charset for text output was not initialized correctly resulting in garbled display of non-ASCII characters in non-UTF-8 locales. * all: bug fix: A couple of translated strings were converted from the wrong locale when they were displayed. * mmg, mkvinfo: The GUIs now require an Unicode-enabled version of wxWidgets. 2009-03-14 Moritz Bunkus * all: bug fix: The tools use the API call "GetOEMCP()" on Windows instead of "GetACP()". This should make messages output in cmd.exe come out correctly for Windows versions for which cmd.exe uses a different code page than the rest (e.g. on German Windows). 2009-03-08 Moritz Bunkus * mkvinfo: enhancement: If mkvinfo is started in GUI mode on Windows then the console that was started with it will be closed. * mkvinfo: bug fix: Chapter names and tag elements were recoded to the wrong charset resulting in garbled output. Fix for bug 353. 2009-03-07 Moritz Bunkus * Released v2.5.3. 2009-03-01 Moritz Bunkus * mkvmerge, mkvextract, mmg: bug fix: If the environment variables LANG, LC_ALL, LC_MESSAGES contained a locale that was supported by the system but for which mkvtoolnix did not contain a translation (e.g. fr_FR, it_IT, en_AU) then the programs would abort with an error message. Fix for bug 338. * mkvmerge: bug fix: Appending raw AVC/ES files resulted in segmentation faults. Fix for bug 344. 2009-02-28 Moritz Bunkus * mkvmerge: bug fix: When mkvmerge was run with the --attachments option to copy only some of the attachments in a Matroska file then any attachment with an ID larger than the first skipped attachment ID was not copied into the new file. Fix for bug 346. * Released v2.5.2. * installer: bug fix: If the installer is run in silent mode (switch "/S") then it will not ask the user whether or not to place a shortcut on the desktop, and that shortcut will not be created. Fix for bug 345. * mmg: new feature: Added two buttons "enable all" and "disable all" to the list of attached files that enable / disable all attached files. * mmg: bug fix: The action "File" -> "New" did not clear the internal list of attached files resulting in unexpected behaviour if files with attachments where added afterwards. * mmg: bug fix: The button "remove all files" did not clear the list of attached files. 2009-02-26 Moritz Bunkus * mkvinfo: new feature: Made mkvinfo's GUI translatable. Added a German translation for the GUI. 2009-02-25 Moritz Bunkus * mmg: On Linux wxWidgets 2.8.0 and newer uses the GTK combo boxes which suck. A lot. Therefore mmg uses wxBitmapComboBoxes for wxWidgets >= 2.8.0 on Linux and normal wxComboBoxes in all other cases. wxBitmapComboBoxes are still drawn by wxWidgets itself (just like wxComboBoxes before 2.8.0) and offer much better functionality. Fix for bug 339. * mkvmerge, mmg: bug fix: The MIME type autodetection for attachments was broken for paths with non-ASCII characters on non-UTF-8 encoded systems (mostly on Windows). Fix for bug 340. * source: various fixes for compilation with wxWidgets 2.9. 2009-02-24 Moritz Bunkus * all programs: bug fix: The locale was not detected properly often resulting in the program aborting with the message that "the locale could not be set properly". Fix for bug 338. 2009-02-22 Moritz Bunkus * Released v2.5.1. * mmg: bug fix: Fixed the selection of the translation to use if the LC_MESSAGES environment variable has been set on Windows. 2009-02-21 Moritz Bunkus * Released v2.5.0. * mmg: bug fix: Fixed a crash during the check if files could be overwritten by the next mux. Possible fix for bugs 335 and 336. 2009-02-19 Moritz Bunkus * mkvmerge, mkvinfo, mkvextract, mmg: Made all those programs nearly completly translatable. Added a German translation for all four programs (only for the programs, not for the static documentation: man pages, the guide to mmg etc). * mkvmerge, mmg: new feature: Added options ('-m' / '--attachments' and its counterparts '-M' / '--no-attachments') to mkvmerge for selecting which attachments to copy and which to skip and the corresponding controls to mmg. 2009-02-06 Moritz Bunkus * mkvmerge: bug fix: Fixed the detection of AAC files whose first AAC header does not start on the first byte of the file. 2009-01-19 Moritz Bunkus * mmg: bug fix: It was possible to crash mmg by clicking onto the root element in the chapter editor. 2009-01-18 Moritz Bunkus * mkvextract: bug fix: During timecode extraction mkvextract wrote large timecodes in scientific notation. 2009-01-17 Moritz Bunkus * Released v2.4.2. 2009-01-15 Moritz Bunkus * mkvmerge: bug fix: If subtitle files are appended to separate video files (e.g. two AVI and two SRT files) then the subtitle timecodes of the second and all following subtitle files were based on the last timecode in the first subtitle file instead of the last timecode in the first video file. Fix for bug 325. * mkvmerge: bug fix: Due to uninitialized variables mkvmerge would report OGM files as having arbitrary display dimensions. Fix for bug 326. 2009-01-08 Moritz Bunkus * mkvmerge, mmg: enhancement: Implemented MIME type detection for attachments with libmagic on Windows. 2009-01-03 Moritz Bunkus * mkvmerge: bug fix: If a Matroska file containing attachments was used as an input file and splitting was enabled then the attachments were only written to the first output file. Now they're written to each output file. Partial fix for bug 324. 2008-12-21 Moritz Bunkus * mkvmerge: enhancement: Decreased the time mkvmerge needs for parsing Quicktime/MP4 header fields. 2008-12-17 Moritz Bunkus * mkvmerge: bug fix: The parser for the simple chapter format (CHAPTERxx=...) can now handle more than 100 chapters. Fix for bug 320. * mmg: bug fix: The commands "Save command line" and "Create option file" did not save mmg's current state but the state it was in when the command "Show command line" was last used or when mmg was started. 2008-12-13 Moritz Bunkus * mkvmerge: bug fix: Fixed a crash (segfault) with MPEG-4 part 2 video if "--engage native_mpeg4" is used. Fix for bug 318. 2008-12-08 Moritz Bunkus * Windows installer: The installer cleans up leftovers from old installations during an upgrade. It doesn't write registry entries for an exe called "AppMainExe.exe" anymore. It asks whether or not the user wants a shortcut on the desktop. It does not install the document for base64tool anymore because base64tool itself isn't installed anymore either. Fixes for bugs 314, 315, 316 and 317. * mmg: bug fix: Fixed a compilation problem with non-Unicode enabled wxWidgets. Fix for bug 313. 2008-12-05 Moritz Bunkus * mkvmerge: new feature: Added support for reading the pixel aspect ratio from Theora video tracks. 2008-12-04 Moritz Bunkus * Released v2.4.1. * Build system: bug fix: Configure does not use "uname -m" for the detection of the Boost libraries anymore but configure's "$target" environment variable. This fixes the Boost detection for cross compilation builds. Fix for bug 311. Patch by Dominik Mierzejewski (see AUTHORS). 2008-12-03 Moritz Bunkus * mkvmerge: bug fix: PCM audio tracks bigger than approximately 8 GB were cut off after approximately 8 GB. 2008-12-02 Moritz Bunkus * mkvmerge: bug fix: mkvmerge recognizes SRT subtitle files with timecodes that contain spaces between the colons and the digits and timecodes whose numbers are not exactly two or three digits long. 2008-11-28 Moritz Bunkus * mmg: bug fix: mmg processes window events much more often during muxing. * all: Updated the language code list from the offical ISO 639-2 standard. 2008-11-04 Moritz Bunkus * mmg: bug fix: Split timecodes with more than three decimals were not allowed even though the docs say that they are. They are now, as mkvmerge supports such timecodes. 2008-11-03 Moritz Bunkus * mkvmerge: bug fix: Changed the way mkvmerge calculates the timecodes when appending files. Should result in better audio/video synchronization. * mkvmerge: new feature: Added support for reading SRT and SSA/ASS subtitles from AVI files (fix for bug 64). 2008-11-01 Moritz Bunkus * mkvmerge: bug fix: mkvmerge's LZO compressor would segfault if mkvmerge was compiled against v2 of the LZO library and the v1 LZO headers were not present. 2008-10-29 Moritz Bunkus * mkvmerge: bug fix: SRT subtitle files are also handled correctly if the timecode lines do not have spaces around the arrow between the start and end timecodes. 2008-10-13 Moritz Bunkus * mkvextract: bug fix: Matroska elements with binary data were output as garbage in XML files. 2008-10-11 Moritz Bunkus * Released v2.4.0. * mmg: bug fix: The chapter editor's function "save to Matroska file" was corrupting the target file in some cases. Fix for bug 307. 2008-10-06 Moritz Bunkus * mkvmerge: bug fix: mkvmerge was only writing one reference block for real B frames. Patch by Daniel Glöckner. Fix for bug 306. * all: bug fix: The Windows uninstaller was not removing all start menu entries during uninstallation on Windows Vista. The installer now creates the start menu entries for all users instead of the current user only. Fix for bug 305. 2008-10-05 Moritz Bunkus * mmg: bug fix: The "language" drop down box contained some entries twice or more. Fix for bug 304. 2008-10-04 Moritz Bunkus * mkvmerge: bug fix: Incorrect usage of the iconv library caused some conversions to omit the last character of each converted entry (e.g. for the conversion from Hebrew to UTF-8). Fix for bug 302. 2008-09-25 Moritz Bunkus * mkvmerge: enhancement: mkvmerge will use the timecodes provided by the MPEG program stream source file for VC1 video tracks. 2008-09-24 Moritz Bunkus * mkvmerge: bug fix: Reading EVOBs with multiple VC1 video tracks was broken (all packets where put into a single video track). 2008-09-22 Moritz Bunkus * mkvextract: new feature: Added support for handling SimpleBlocks for timecode extraction. 2008-09-21 Moritz Bunkus * mkvmerge: bug fix: Reading raw (E)AC3 files bigger than 2 GB was broken. * mkvmerge: new feature: Added support for Dirac video tracks. 2008-09-20 Moritz Bunkus * mkvmerge: bug fix: Improved the detection of MPEG-1/-2 and AVC/h.264 video tracks in MPEG program streams (VOBs/EVOBs). * mkvmerge: bug fix: Fixed reading DTS audio tracks from MPEG program streams (VOBs/EVOBs). 2008-09-19 Moritz Bunkus * mmg: enhancement: Added the extensions "evo", "evob" and "vob" to mmg's "add file" dialog. 2008-09-18 Moritz Bunkus * mkvmerge: new feature: Added support for muxing VC1 video tracks read from MPEG program streams (EVOBs) or raw VC1 elementary streams (e.g. as produced by EVODemux). 2008-09-17 Moritz Bunkus * mkvmerge: new feature: Added support for 7.1 channel EAC3 files. Fix for bug 301. 2008-09-13 Moritz Bunkus * mkvmerge: bug fix: Revision 3831 (the change to the "--delay" and "--sync" options) caused mkvmerge to no longer respect the delay caused by garbage at the beginning of MP3 and AC3 audio tracks in AVI files. The timecodes of such tracks are now delayed appropriately again. Fix for bug 300. 2008-09-12 Moritz Bunkus * mkvmerge: bug fix: Unknown stream types in Ogg files (e.g. skeleton tracks) don't cause mkvmerge to abort anymore. They're simply ignored. Fix for bug 299. * mkvextract: new feature: Added support for extracting Theora video tracks into Ogg files. Fix for bug 298. * mkvmerge: bug fix: Fixed the frame type (key or non-key frame) detection for Theora tracks. 2008-09-08 Moritz Bunkus * mkvmerge: all: On Unix/Linux rpath linker flags have been removed again (they were actually removed before the release of v2.3.0). 2008-09-07 Moritz Bunkus * Released v2.3.0. 2008-09-06 Moritz Bunkus * mkvmerge: bug fix: improved the timecode calculation for MP3 tracks read from MP4 files. Another part of the fix for bug 165. 2008-09-03 Moritz Bunkus * mkvmerge: bug fix: mkvmerge honors the timecode offsets of all streams in a MPEG program stream (e.g. VOB file) fixing audio/video desynchronization. Fix for bug 295. 2008-08-30 Moritz Bunkus * mkvmerge: Switched from the PCRE regular expression library to Boost's RegEx library. 2008-08-23 Moritz Bunkus * mkvmerge: bug fix: DTS-in-WAV handling (14 to 16 bit expansion) was flawed. Fix for bug 288. * mkvmerge: new feature: Added support for Vorbis in AVI (format tag 0x566f). Fix for bug 271. * mkvmerge: new feature: Added support for PCM tracks with floating point numbers (CodecID A_PCM/FLOAT/IEEE). Patch by Aurelien Jacobs (see AUTHORS). 2008-08-21 Moritz Bunkus * mkvmerge: bug fix: The fix to the timecode handling for AVC tracks in MP4 files from 2008-04-16 caused certain other MP4 files to not be read correctly. The video tracks were found, but no frames were read. Fix for bug 294. * mkvmerge: new feature: Added support for Ogg Kate subtitles. Patch by ogg.k.ogg.k@googlemail.com. 2008-08-20 Moritz Bunkus * mkvmerge, mmg: The option "--delay" was removed. The option "--sync" now only modifies the timecodes of a given track. mkvmerge does not pad audio tracks with silence. "--sync" works with all track types now, but using a stretch factor other than 1 with audio tracks might not work too well during playback. mmg's inputs for "Delay" and "Stretch by" can be used with all track types. Fix for bug 287. 2008-08-19 Moritz Bunkus * mkvmerge: enhancement: mmg outputs a more informative error message for known but unsupported input file types (e.g. ASF, FLV, MPEG TS) instead of the cryptic "file identification failed". * mkvmerge: bug fix: The VobSub reader would sometimes read too many bytes for a single SPU packet. Part of a fix for bug 245. 2008-05-16 Moritz Bunkus * mkvmerge: bug fix: Using BZIP2 compression resulted in broken streams. Patch by Aurelien Jacobs (see AUTHORS). 2008-05-15 Moritz Bunkus * mkvmerge: new feature: Improved support for WAV files bigger than 4 GB which only contain a single DATA chunk and a wrong length field for this DATA chunk (e.g. eac3to creates such files). 2008-05-14 Moritz Bunkus * mkvmerge: bug fix: Certain Matroska files with dis-continuous streams (e.g. subtitles) caused huge memory consumption. Fix for bug 281. 2008-04-22 Moritz Bunkus * mkvmerge: bug fix: mkvmerge will output a proper error message if it is called with ASF/WMV files instead of detecting other kinds of streams (e.g. AVC ES streams). Fix for bug 280. 2008-04-20 Moritz Bunkus * mkvmerge: bug fix: Fixed an assertion in the OGM reader occuring for OGM files with embedded chapters. Fix for bug 279. * mkvmerge: all: On Unix/Linux rpath linker flags are added for library paths given in LDFLAGS and configure's "--with-extra-libs" options. 2008-04-16 Moritz Bunkus * mkvmerge: bug fix: Fixed wrong timecodes for MP4 files that contain video tracks with B frames and edit lists. Fix for bug 277. Patch by Damiano Galassi (see AUTHORS). 2008-04-14 Moritz Bunkus * mkvmerge: bug fix: mkvmerge will not strip leading spaces in SRT subtitles anymore. * mkvmerge: bug fix: Tuned the file type detection for MPEG ES streams. Fix for bug 265. 2008-04-03 Moritz Bunkus * mkvmerge: bug fix: Fixed writing to UNC paths on Windows. Fix for bug 275. 2008-03-09 Moritz Bunkus * mkvmerge: new feature: Added support for skipping ID3 tags in AAC and AC3 files. Fix for bug 204. * mkvmerge: new feature: Added support for DTS-HD (both "master audio" and "high resolution"). 2008-03-04 Moritz Bunkus * Released v2.2.0. 2008-02-29 Moritz Bunkus * mkvmerge: new feature: Added support for handling AC3 in WAV in ACM mode. 2008-02-28 Moritz Bunkus * mkvmerge: new feature: Added support for reading AC3 from QuickTime/MP4 files. Fix for bug 254. 2008-02-27 Moritz Bunkus * mkvmerge: new feature: Added support for handling AC3 in WAV in IEC 61937 compatible streams (aka SPDIF mode). * mkvmerge: new feature: Added support for WAV files with multiple data chunks. * mkvmerge: bug fix: Fixed a cause for the error message "no data chunk found" by fixing the skipping of 'fmt ' chunks. 2008-02-23 Moritz Bunkus * mkvmerge: new feature: Added support for AAC-in-AVI with CodecID 0x706d as created by mencoder. Fix for bug 266. 2008-02-20 Moritz Bunkus * mkvmerge: bug fix: Rewrote the OGM reader code. Another part of a fix for bug 267. 2007-12-31 Moritz Bunkus * mkvmerge: bug fix: Rewrote the timecode application code. Additionally force the "previous cluster timecodes" that libmatroska uses to the current timecode. This seems to get rid of libmatroska's assertions about the local timecode being to small/big to fit into an int16. It also seems to get rid of some of mkvmerge's errors about the packet queue not being empty, and it fixes a couple of crashes with file splitting. 2007-12-22 Moritz Bunkus * mkvmerge: bug fix: OGM files with non-Theora video tracks caused mkvmerge to fail since 2.1.0, or the resulting file was unplayable. Fix for bug 267. 2007-10-11 Moritz Bunkus * mkvmerge: bug fix: Accept other Theora header versions than 3.2.0 as long as the major version is 3 and the minor 2. Fix for bug 262. 2007-09-02 Moritz Bunkus * mkvmerge: bug fix: MPEG PS reader: Fixed the resyncing mechanism during normal reads. Another fix for bug 259. * mkvmerge: bug fix: MPEG PS reader: mkvmerge tries to resync to the next MPEG start code in case of error during stream detection. Fix for bug 259. 2007-08-31 Moritz Bunkus * mkvmerge: SVQ1 video tracks read from QuickTime files are output as V_MS/VFW/FOURCC tracks and not as V_QUICKTIME tracks. Fix for bug 257. 2007-08-30 Moritz Bunkus * avilib: bug fix: Fixed a segmentation fault if reading the first part of an index failed but a second/other index part is present. Fix for bug 256. 2007-08-19 Moritz Bunkus * mkvmerge: enhancement: SRT files that contain coordinates in the timecode line are supported. The coordinates are discarded automatically (as S_TEXT/SRT doesn't support them), and a warning is shown. * Released v2.1.0. 2007-08-16 Moritz Bunkus * mkvmerge: enhancement: Added support for reading MP2 audio tracks from OGM files. Patch by Mihail Zenkov (see AUTHORS). 2007-08-15 Moritz Bunkus * mkvextract: enhancement: Added support for extracting Dolby Digital Plus (EAC3) tracks. * mkvmerge: bug fix: SPS and PPS NALUs are no longer removed from AVC/h.264 streams. Hopefully a fix for bug 231. 2007-07-19 Moritz Bunkus * mkvmerge: enhancement: Fixed SSA/ASS detection for files produced by Aegis Sub which doesn't include a line with '[script info]' in the file. 2007-07-07 Moritz Bunkus * mmg: enhancement: Added another option how mmg choses the directory if automatic output filename creation is on. Implements all suggestions as listed in bug 248. 2007-07-05 Moritz Bunkus * mmg: enhancement: Moved the complete 'settings' tab to its own dialog accessible via the 'Settings' option in the 'File' menu. 2007-06-30 Moritz Bunkus * mmg: new feature: Added a buton 'remove all' which removes all input files and tracks leaving all other options as they are. Fix for bug 248. * mmg: new feature: Added an option for setting the default output directory if the automatic setting of the output file name is turned on. Fix for bug 248. * mkvmerge: enhancement: DTS code: Some tools (e.g. Surcode) can create DTS files which are padded with zero bytes after each DTS frame. These zero bytes are now skipped without printing a warning. * mmg: enhancement: mmg can now be called with any file name as an argument. If it ends with 'mmg' then the file will be loaded as a 'mmg settings file'. Otherwise mmg will 'add' it. Fix for bug 243. 2007-06-27 Moritz Bunkus * mkvmerge: bug fix: The OGM reader uses the OGM's timestamps for video tracks. Before it would just use the current frame number multiplied by the FPS. * mkvmerge: enhancement: The OGM reader now uses the AVC/h.264 video packetizer for AVC/h.264 tracks so that the aspect ratio can be extracted from it. 2007-06-25 Moritz Bunkus * mkvmerge: bug fixes: Fixed a couple of memory leaks. 2007-06-24 Moritz Bunkus * mkvmerge: new feature: Added better checks if two tracks can be appended to the passthrough packetizer so that tracks that are otherwise not known to mkvmerge can still be appended (e.g. V_VC1). Fix for bug 244. 2007-06-23 Moritz Bunkus * mmg: The NALU size length can now be chosen for all AVC tracks, not only for those that are handled by the 'AVC ES packetizer'. * mkvmerge: bug fix: The 'default track' flag was set to 'yes' for tracks read from Matroska files even if 'no' was specified on the command line. * mkvextract: new feature: Added support for the 'header removal' encoding scheme. 2007-06-21 Moritz Bunkus * mkvmerge: new feature: The NALU size length of an AVC/h.264 track can now be changed even if the source is not an elementary stream (e.g. for MP4 and Matroska files). 2007-06-19 Moritz Bunkus * mkvmerge: enhancement: Added support for RealAudio v3 in RealMedia files. Patch by Aurelian Jacobs. Fix for bug 246. 2007-06-11 Moritz Bunkus * mmg: Moved the command line to a separate dialog and reduced the main window's height. 2007-04-30 Moritz Bunkus * mkvmerge: bug fix: Another bug fix for handling various AC3 and E-AC3 files in MPEG program streams. 2007-04-26 Moritz Bunkus * mkvmerge: bug fix: Added support for handling SEI NALUs in AVC/h.264 elementary streams so that "key frames" can be detected even if no IDR slices are present. 2007-04-19 Moritz Bunkus * mkvmerge: bug fix: Fixed the VobSub reader so that "delay:" lines with negative timecodes are accepted. Fix for bug 241. 2007-04-18 Moritz Bunkus * mkvmerge: bug fix: Improved the file type detection code for MPEG transport streams. 2007-03-23 Moritz Bunkus * mkvmerge: bug fix: Fixed a problem reading normal AC3 tracks from MPEG program streams. 2007-03-22 Moritz Bunkus * mkvmerge: bug fix: Fixed an issue with negative/huge timecodes after splitting AVC/h.264 video. 2007-03-16 Moritz Bunkus * mkvmerge: enhancement: The SRT reader allows "." as the decimal separator as well as ",". 2007-03-12 Moritz Bunkus * mkvmerge: bug fix: Fixed a problem with concatenating more than two subtitle files. 2007-03-08 Moritz Bunkus * mkvmerge: The MPEG program stream reader will now sort the tracks it finds first by their type (video > audio > subs) and then by their stream ID. * mkvmerge: Disabled the support for DTS tracks in MPEG program streams because DTS HD is not supported yet. * mkvmerge: enhancement: Implemented a major speed-up for reading MPEG-1/2 and AVC/h.264 tracks from MPEG program streams. 2007-03-05 Moritz Bunkus * mkvmerge: enhancement: Fixed the MPEG PS reader so that it will just skip blocks whose headers it cannot parse instead of aborting. * mkvmerge: new feature: Added support for handling AVC/h.264 tracks in MPEG program streams. 2007-03-02 Moritz Bunkus * mkvmerge: new feature: Added support for EAC3 tracks in MPEG program streams. * mkvmerge: new feature: Added support for EAC3/DD+ (Dolby Digital Plus) files and tracks (raw EAC3 files or inside Matroska with CodecID A_EAC3). 2007-02-21 Moritz Bunkus * Released v2.0.2. 2007-02-19 Moritz Bunkus * mkvmerge: Reintroduced the "--engage allow_avc_in_vfw_mode" hack. 2007-02-06 Moritz Bunkus * mkvmerge: bug fix: Fixed suppoert for DTS-in-WAV files which are encoded with 14 bits per word. 2007-02-03 Moritz Bunkus * mkvmerge: enhancement: Added support for DTS files which use only 14 out of every 16 bits and which are not stored inside a WAV file. 2007-01-30 Moritz Bunkus * mkvmerge, mmg: Changed the default for the "NALU size length" to "4" and added a warning if "3" is used. * mkvmerge: bug fix: File type detection for Qt/MP4 files which start with a "wide" atom has been fixed. * mmg: bug fix: The "NALU size length" drop down box is now also enabled for h.264 tracks read from AVIs and for h.264 tracks stored in "VfW compatibility mode" in Matroska files. 2007-01-28 Moritz Bunkus * mkvmerge, mmg: new feature: Extended the option "--default-track" so that it can be forced to "off" allowing the user to create a file for which no track has its "default" flag set. Fix for bug #224. 2007-01-17 Moritz Bunkus * mkvmerge: bug fix: Fixed the wrong "default duration" if the user used "--default-duration ...23.976fps". 2007-01-16 Moritz Bunkus * mkvmerge: bug fix: The AVC/h.264 ES reader was losing frames if the file size was an exact multiple of 1048576 bytes. * mkvmerge: bug fix: The AVC/h.264 ES packetizer produced invalid CodecPrivate data if the AVCC did not contain the aspect ratio information. Fix for Bugzilla bug #225. * mkvmerge: bug fix: The Matroska reader passes the correct track number down to the AVC/h.264 ES packetizer in the case of "AVC in Matroska stored in VfW mode". * mkvmerge: bug fix: Fixed a crash (segmentation fault) in the AVC/h.264 ES handling code. 2007-01-15 Moritz Bunkus * mkvmerge, mkvextract, mkvinfo: new feature: Added support for using CodecState for signaling changes to CodecPrivate. It is used for MPEG-1/-2 video if it is turned on with "--engage use_codec_state". 2007-01-13 Moritz Bunkus * Released v2.0.0. 2007-01-12 Moritz Bunkus * mmg: new feature: Added another tab for each track in which the user can add arbitrary track options. * mkvextract: enhancement: mkvextract will now also print which container format it uses for each track. * mkvextract: new feature: Added support for extracting MPEG-1/2 video to MPEG-1/2 program streams. * mkvmerge: bug fix: Fixed the file type detection for MPEG-1/2 ES files with a single frame inside. 2007-01-11 Moritz Bunkus * mkvmerge: bug fix: MPEG-1/2 video: The sequence and GOP headers are not removed from the bitstream anymore. This should fix the blockiness if the sequence headers change mid-stream. Fix for Bugzilla bug #167. 2007-01-09 Moritz Bunkus * mkvmerge: enhancement: mkvmerge now handles the first frames in AVC/h.264 ES streams properly, especially for files for which it did not find a key frame at the beginning in earlier versions. 2007-01-08 Moritz Bunkus * mkvmerge: enhancement: Improved the detection of AVC/h.264 ES streams with garbage at the beginning. * mmg: enhancements to the job management dialog: There's a minimum width for the columns. The "up" and "down" buttons are disabled if all entries are selected. Pressing "Ctrl-A" selects all entries. * mmg: enhancements: "File -> New" will also focus the "input" tab. 2007-01-07 Moritz Bunkus * mmg: enhancements: The job manager can be opened with "Ctrl-J". The last directory from which a file is added is saved even if the file identification failed. The automatically generated output file name uses the extension ".mka" if no video track is found and ".mks" if neither a video nor an audio track is found in the first file. * mkvmerge: bug fix: Fixed the aspect ratio extraction for raw AVC/h.264 ES tracks. * mkvmerge: bug fix: If a raw AVC/h.264 ES file does not start with a key frame then all the frames before the first key frame are skipped, and mkvmerge does not abort anymore. 2007-01-05 Moritz Bunkus * mkvmerge: bug fix: AVC/h.264 ES parser: Fixed wrong NALU size length information in the AVCC. * mkvmerge: bug fix: AVC/h.264 ES parser: Fixed the decision if a NALU belongs to a previous frame or starts a new one. 2007-01-04 Moritz Bunkus * mmg: enhancement: Added an input for the new "NALU size length" parameter. * mkvmerge: bug fix: The NALU size length can be overridden for AVC/h.264 elementary streams. It defaults to 2 which might not be enough for larger frames/slices. 2007-01-03 Moritz Bunkus * mkvmerge: bug fix: Support for AVC/h.264 elementary streams with short markers (0x00 0x00 0x01 instead of 0x00 0x00 0x00 0x01). * mkvmerge: Removed the "--engage allow_avc_in_vfw_mode" hack. * mkvmerge: enhancement: Added "x264" to the list of recognized FourCCs for AVC/h.264 video in AVI and Matroska files. * mkvmerge: new feature: Added support for proper muxing of AVC/h.264 tracks in Matroska files that were stored in the MS compatibility mode (CodecID V_MS/VFW/FOURCC instead of V_MPEG4/ISO/AVC). * mkvmerge: bug fix: Fixed invalid memory access in the AVC ES parser. 2007-01-02 Moritz Bunkus * mkvmerge: new feature: Added support for proper muxing of AVC/h.264 tracks in AVI files. 2007-01-01 Moritz Bunkus * mkvmerge: new feature: Added support for reading AVC/h.264 elementary streams. 2006-12-30 Moritz Bunkus * mmg: enhancement: All inputs and controls are cleared and deactivated if the user select "File -> New". * mmg: enhancement: The user can switch between the "generic" and "format specific options" pages even if no track is selected. 2006-12-29 Moritz Bunkus * mkvmerge: bug fix: mkvmerge would not write frame durations if "--engage use_simpleblock" was used resulting in unplayable and unextractable subtitle tracks. 2006-12-28 Moritz Bunkus * mkvmerge: bug fix: Added a workaround for RealAudio tracks for which the key frame flag is never set. 2006-12-27 Moritz Bunkus * mmg: bug fix: Fixed a segfault that occured if the user had a track selected and its the file the track was read from is removed. * mmg: bug fix: Fixed the behaviour of a couple of ComboBoxes on Windows after selecting "File -> New". E.g. if the user selected "700M" in the "split after this size" ComboBox, selected "File -> New" and selected "700M" again, then it would not show up in the command line window until he selected another option and returned to the "700M" afterwards. 2006-11-25 Moritz Bunkus * Released v1.8.1. 2006-11-24 Moritz Bunkus * mmg: bug fix: Some input controls (like "subtitle charset") where disabled for appended tracks even though the user can and sometimes has to change those settings. Fixes Anthill bug 216. 2006-11-19 Moritz Bunkus * configure: new feature: Allow the user to tell configure which "wx-config" executable to use ("--with-wx-config=..."). 2006-11-14 Moritz Bunkus * mmg: bug fix: The "aspect ratio" box was losing its input when the user switched tracks. * mkvmerge/mmg: new feature: If ATDS AAC tracks are added to mmg and the AAC track's sample rate is <= 24000 Hz then mkvmerge and mmg assume that the AAC is a SBR track and mmg will check the "AAC is SBR" checkbox automatically. 2006-11-12 Moritz Bunkus * mkvmerge: bug fix: Quicktime/MP4 files with AVC video tracks and missing CTTS atoms caused mkvmerge to crash after the recent changes to the Quicktime/MP4 timecode handling. * mkvmerge: bug fix: Fixed a segfault if the file specified with "--attach-file" does not exist. Bugfix for Anthill bug 213 and Debian bug 393984. * mmg: bug fix: Fixed a crash on loading XML chapters after having saved XML chapters. 2006-11-11 Moritz Bunkus * mmg: new feature: Made the "set the delay input field from the file name" feature disengageable. 2006-11-10 Moritz Bunkus * Released v1.8.0. * mkvmerge: Changed the CodecID for AAC audio tracks to "A_AAC" by default. The CodecPrivate contains the same initialization data that are stored in the ESDS in MP4 files for AAC tracks. The old CodecIDs (e.g. "A_AAC/MPEG4/SBR") can be turned on again with "--engage old_aac_codecid". 2006-11-08 Moritz Bunkus * mmg: Reworked the "input tab" and split track options into two sub-pages. Also added an input for the "stereo mode" parameter for video tracks. 2006-11-07 Moritz Bunkus * mkvmerge: new feature: Added support for the "stereo mode" flag for video tracks. 2006-11-03 Moritz Bunkus * mkvmerge: bug fix: For MP4 files with certain CTTS contents mkvmerge would use negative timecodes for a couple of frames. Those frames were dropped and mkvmerge often ended up eating huge amounts of memory and crashing afterwards. * mkvmerge: bug fix: AAC-in-MP4 with the LC profile was sometimes misdetected as having a SBR extension and an output sampling frequency of 96000 Hz. Fixes Anthill bug 210. 2006-10-26 Moritz Bunkus * mkvmerge: Added support for API changes in the upcoming FLAC library v1.1.3. Patch by Josh Coalson (see AUTHORS). 2006-09-29 Moritz Bunkus * mkvmerge: bug fix: Fixed the random number generation on Windows. On Windows 9x/ME mkvmerge would simply hang. On newer versions the function was accessing invalid memory and was generally buggy. 2006-09-26 Moritz Bunkus * mkvmerge: bug fix: SSA/ASS subtitles with comments before the "[script info]" line were not identified. 2006-09-25 Moritz Bunkus * mkvmerge: bug fix: Made the checks for SRT timecodes a bit less strict (e.g. allow fewer than three digits after the comma). 2006-07-19 Moritz Bunkus * mkvmerge: bug fix: Comments in OGM files were not handled if mkvmerge was called in identification mode. One obvious result was that neither the track language nor the file title was imported into mmg. 2006-06-16 Moritz Bunkus * mmg: bug fix: The "stretch" input box was not accepting the same syntax that mkvmerge's "--sync" parameter accepts. * mkvmerge: bug fix: PCM audio data with 4 bits per Sample caused mkvmerge to allocate all available memory. Patch by Robert Millan (see AUTHORS). 2006-06-15 Moritz Bunkus * mmg: bug fix: Mixed up two tool tips on the "settings" tab. 2006-06-02 Moritz Bunkus * Build system: bug fix: Moved some @...@ style variables from configure.in to Makefile.in where they belong (very recent autoconf versions were choking on those). 2006-06-01 Moritz Bunkus * mmg: new feature: Added an option for always using simple blocks. * mmg: new feature: Pre-set the "delay" input field for audio tracks if the file name contains something like "DELAY XX" where XX is a number. 2006-05-24 Moritz Bunkus * mmg: enchancement: After adding files with drag&drop the next "open file" dialog will start in the directory the last file came from. 2006-05-23 Moritz Bunkus * mkvmerge: bug fix: mkvmerge will no longer create empty files (meaning neither input files nor things like chapters etc have been added). 2006-04-28 Moritz Bunkus * Released v1.7.0. * mkvmerge: enhancement: Added support for MIME type detection via libmagic (patch by Robert Millan with heavy modifications by myself). 2006-04-07 Moritz Bunkus * mkvmerge: bug fix: Theora headers were not handled correctly. 2006-04-03 Moritz Bunkus * mkvmerge: bug fix: The WavPack reader was broken on 64bit systems (e.g. AMD64). 2006-03-17 Moritz Bunkus * mkvmerge: bug fix: The Theora timecode handling was broken, and Ogg/Theora files were not identified correctly (they showed up as "unknown" in mmg). 2006-02-27 Moritz Bunkus * mmg: enhancement: The 'adjust timecodes' function accepts timecodes like 'XXXXXunit' with 'unit' being 'ms', 'us', 'ns' or 's'. * mkvmerge: enhancement: mkvmerge will no longer refuse to concatenate files with differing Codec Private contents and only issue a warning in such cases. * mkvmerge: bug fix: Quicktime/MP4 reader: Added support for version 1 media headers ('mdhd' atom) with 64bit fields. Fixed the duration of the last packet passed downstream. Fixed overflow issues during re-scaling from the Quicktime/MP4's time scale to nano seconds used by mkvmerge. 2006-01-18 Moritz Bunkus * mkvmerge: bug fix: Muxing wasn't working Windows 9x/ME because mkvmerge was trying to use Unicode file access functions when determining which directories to create. Fixes Anthill bug #177. 2006-01-17 Moritz Bunkus * mkvmerge: new feature: Added support for the "Delay:" feature and for negative timecodes in VobSub IDX files. 2005-12-14 Moritz Bunkus * mmg: new feature: If mmg is set to automatically fill in the output file name then it will clear the output file name once all input files have been removed. 2005-12-12 Moritz Bunkus * mmg: bug fix: Fixed a crash that occured if the user removed an attachment and clicked somewhere in the empty space in the attachment list. Occured only on Windows. 2005-12-10 Moritz Bunkus * mmg: bug fix: Re-added Chinese to the list of popular languages (those are listed first in the language drop down boxes). 2005-12-08 Moritz Bunkus * mkvmerge: bug fix: The last change to the ISO 639 language handling broke the VobSub reader so that it reported the wrong language codes. This also caused mmg to not display the correct language after adding a VobSub file. 2005-12-07 Moritz Bunkus * Released v1.6.5. 2005-12-06 Moritz Bunkus * source: bug fix: Changed the list of ISO 639 languages so that the terminology versions are converted into the bibliography versions of the 639-2 codes (e.g. use "ger" instead of "deu" for the German language). Converted almost all pieces of mkvmerge and mmg to accept ISO 639-1, 639-2 codes (both bibliography and terminology versions) and the languages' English names. Those will always be converted to the 639-2 code. Fixes Anthill bug #171. 2005-12-05 Moritz Bunkus * mkvmerge: bug fix: The country code used in XML chapter files was checked against the list of ISO 639-1 codes and not against the list of ccTLDs. Partial bugfix for Anthill bug #171. * mkvmerge: bug fix: When appending tracks and using timecodes the timecodes were only used for the first track in a chain of tracks. This has been changed so that you must specify only one timecode file in such cases (e.g. "mkvmerge ... --timecodes 0:my_timecodes.txt part1.avi +part2.avi"). mmg has already been working like this. Fixes Anthill bug #162. 2005-12-02 Moritz Bunkus * source: new feature: Added support for linking against liblzo2 (same compression algorithm, just a new library version). Patch by Diego Pettenò (see AUTHORS). * mkvmerge: new feature: Added a workaround for files created by Gabest's DirectShow Matroska muxer with slightly broken frame references. Fixes Anthill bug #172. * mkvextract: new feature: attachment extraction mode: Made the output file name optional. If it is missing (e.g. "mkvextract attachments source.mkv 92385: 124981:") then the name of the attachment inside the Matroska file is chosen instead. Patch by Sergey Hakobyan (see AUTHORS). * mkvmerge: new feature: If an output file name contains directories that don't exist then they're created. Patch by Sergey Hakobyan (see AUTHORS) with modifications by myself. 2005-11-24 Moritz Bunkus * mkvmerge: bug fix: Don't abort reading a Matroska if the next element is not a cluster. This is the case for e.g. files produced by Haali's muxer which writes the segment tracks element in intervals. Fixes Anthill bug #169. 2005-11-19 Moritz Bunkus * mmg: bug fix: Fixed a problem with the selection of language codes for chapters in the chapter editor. 2005-11-18 Moritz Bunkus * mkvmerge: bug fix: If at least or more attachments were present and the user used --attachment-name for each of them (as mmg does) then mkvmerge was wrongly outputting a warning about multiple uses of --attachment-name for a single attachment. * mkvmerge: new feature: Added limited support for edit lists in MP4/QuickTime files. Fixes Anthill bug #151. * mkvmerge: bug fix: MP4/QuickTime files which contain another atom before the 'avcC' atom in the video track headers weren't correctly remuxed. 2005-11-16 Moritz Bunkus * mkvmerge: bug fix: mkvmerge will now refuse to append AVC/h.264 video tracks whose codec initialization data blocks do not match. Invalidates Anthill bug #163. 2005-11-12 Moritz Bunkus * mkvmerge: bug fix: Fixed a crash If the granulepos (the timecodes) reset in the middle of an Ogg/OGM file. Fixes Anthill bug #166. * mkvmerge: bug fix: Fixed a division-by-zero error in the RealMedia demuxer. Fixes Anthill bug #161. * mkvmerge: bug fix: Fixed a couple of potential (and actual) segmentation faults by accessing invalid memory addresses. Initial patch for the VobSub reader by Issa on Doom9's forum. 2005-11-04 Moritz Bunkus * mkvmerge, mmg: new feature: The names of attached files can be set with a new option --attachment-name or on mmg's "Attachments" page. 2005-11-02 Moritz Bunkus * mkvmerge: bug fix: Fixed another bug when appending AVC/h.264 tracks that would mkvmerge cause to die with "bref_packet == NULL". Fixes Anthill bug #160. 2005-11-01 Moritz Bunkus * mmg: bug fix: When the user saved the muxing output in a log file that file didn't use Windows line endings (CR LF) on Windows. * mmg: bug fix: Appending tracks was broken because the track numbers in the command line were incorrect. Fixes Anthill bug #160. 2005-10-23 Moritz Bunkus * mkvmerge: new feature: Added support for Ogg/Theora. 2005-10-22 Moritz Bunkus * mkvmerge: Changed the CodecID for AAC audio tracks to "A_AAC" by default The CodecPrivate contains the same initialization data that are stored in the ESDS in MP4 files for AAC tracks. The old CodecIDs (e.g. "A_AAC/MPEG4/SBR") can be turned on again with "--engage old_aac_codecid". 2005-10-21 Moritz Bunkus * mkvinfo: new feature: The sub elements of the EBML head are now shown. * mkvinfo: new feature: Added support for the new SimpleBlock. * mkvextract: new feature: Added support for the new SimpleBlock. * mkvmerge, mmg: new feature: Added support for the new SimpleBlock instead of BlockGroups (only available via "--engage use_simpleblock" for now). Patch by Steve Lhomme (see AUTHORS) with fixes by myself. 2005-10-14 Moritz Bunkus * Released v1.6.0. 2005-10-09 Moritz Bunkus * mkvmerge: new feature: Implemented the new header removal compression: compression for native MPEG-4 part 2, decompression for all types (don't use it yet, folks!). 2005-10-04 Moritz Bunkus * mkvextract: bug fix: Extra codec data wasn't written to AVI files if it was present (e.g. for the HuffYuv codec). Fixes bug 157. * mkvmerge: bug fix: mkvmerge was choking on AVIs with a single frame inside. Fixes bug 156. 2005-09-30 Moritz Bunkus * mkvmerge: bug fix: Changed how AVC video frames are referenced. This is not ideal yet, but at least references are kept intact when reading AVC from Matroska files. Should fix bug 154. 2005-09-18 Moritz Bunkus * mkvmerge: bug fix: Appending AVC video tracks was broken if they contained aspect ratio information that the user overwrote on the command line. * mmg: bug fix: If a video track was selected that was appended to another track then the aspect ratio drop down box was still active. * mkvmerge: new feature: MPEG-4 part 2 streams are searched for the pixel width/height values. Those are taken if they differ from those values in the source container. This is a work-around for buggy muxers, e.g. broken video camera firmwares writing bad MP4 files. Fixes bug 149. 2005-09-15 Moritz Bunkus * mkvmerge: bug fix: Appending files with RealVideo was broken. 2005-09-09 Moritz Bunkus * mkvmerge, mkvextract: bug fix: ASS files sometimes use a column called 'Actor' instead of 'Name', but both should be mapped to the 'name' column in a Matroska file. 2005-09-07 Moritz Bunkus * Released v1.5.6. 2005-09-06 Moritz Bunkus * mmg: bug fix: If the user selected an aspect ratio for a video track, then chose "File -> new", added a file, selected another video track and chose the same aspect ratio as before then it wasn't added to the command line. Fixes Anthill bugs 132 and 146. * mkvmerge: bug fix: Support Qt/MP4 files with 64bit offset tables ('co64' atom instead of 'stco' atom). 2005-09-04 Moritz Bunkus * mkvmerge: new feature: mkvmerge will remove the aspect ratio information from a AVC/h.264 video track bitstream and put it into the display dimensions (until now the AR information was kept on the bitstream level). The reason is that in Matroska the container AR is supposed to take precedence over bitstream AR, but some decoder programmers ignore the container AR in favour of bitstream AR. 2005-08-31 Moritz Bunkus * mkvinfo: bug fix: The GUI couldn't open files with non-ASCII chars in the file name. 2005-08-30 Moritz Bunkus * mkvmerge: bug fix: Display dimensions were reported for all tracks, even if they weren't present. In that case they allegedly were "0x0" which caused mmg to add "--display-dimensions ...:0x0" for each track read from a Matroska file, even if the tracks were not video tracks. 2005-08-28 Moritz Bunkus * mkvextract: bug fix: The extracted timecodes were wrong for blocks with laced frames. 2005-08-25 Moritz Bunkus * mkvmerge: bug fix: If a Matroska file with a MPEG-4 part 2 video track was muxed into a Matroska file and the source file did not contain the display width/height elements for that track then the aspect ratio was extracted from the video data itself which clashes with the Matroska specs which say that display width/height default to the pixel width/height if they're not present. 2005-08-24 Moritz Bunkus * mkvmerge: bug fix: Native MPEG-4 ASP storage was still bugged: timecodes were assigned twice, frames referenced themselves. * mkvmerge: bug fix: Embedded fonts and pictures in a SSA/ASS file are not discarded any longer. They are converted to Matroska attachments instead. Other sections that were discarded are added to the CodecPrivate data as are "Comment:" lines in the "[Events]" section. Those comment lines still lose their association for which "Dialogue:" line they were meant, but that cannot be changed. 2005-08-21 Moritz Bunkus * mkvmerge: bug fix: --delay was not working at all. * mkvmerge: bug fix: Single digit numbers followed by 's' were not recognized as valid numbers with a unit (e.g. in '--delay 0:9s'). * Released v1.5.5. * mkvtoolnix: Disabled storing AVC/h.264 video tracks in VfW mode. 2005-08-16 Moritz Bunkus * mkvtoolnix: bug fix: On Windows the command line output was terminated with CR CR NL instead of just CR NL. 2005-08-13 Moritz Bunkus * mkvmerge: bug fix: The Quicktime/MP4 reader wasn't skipping unknown elements correctly. 2005-08-03 Moritz Bunkus * mkvextract: new feature: Added a new extraction mode for outputting timecodes in a timecode v2 format file. It is called "timecode_v2" and takes the same arguments as the "tracks" extraction mode. * mkvinfo: new feature: Added a command line switch "--output-charset" which sets the charset that strings read from Matroska files are output in (e.g. if you want the output in UTF-8 and not your system's local charset). * mkvinfo: new feature: Added a command line switch "-o" for redirecting the output to a file (for systems which re-interpret stdout). * mkvmerge: bug fix: The combination of using external timecode files and video tracks with B frames was not working as intended. The user had to order the timecodes in the timecode file just like the frames were ordered (meaning the timecodes for a IPBBP sequence with 25 FPS had to be "0", "120", "40, "80"...). This has been fixed. They have to be ascending again and mkvmerge will assign them properly. 2005-08-02 Moritz Bunkus * mkvextract: new feature: Added support for extracting h.264 / AVC tracks into proper h.264 ES streams supported by e.g. MP4Box. Patch by Matt Rice (see AUTHORS). 2005-07-25 Moritz Bunkus * mkvinfo: bug fix: Files with non-ASCII chars weren't opened because conversion to UTF-8 was done before the charset routines were initialized. 2005-07-20 Moritz Bunkus * mkvmerge: bug fix: Fixed a crash if a track in a MP4/QuickTime file did not contain a STCO atom (chunk table) but a STSC atom (chunk map table). 2005-07-19 Moritz Bunkus * mkvmerge: bug fix: Very large values were not kept correctly for a lot of elements (meaning they were truncated to 16 or 32 bits). * mkvinfo: bug fix: Very large values were not displayed correctly for a lot of elements (meaning they were truncated to 16 or 32 bits prior to displaying). * mkvmerge: bug fix: AVC/H.264 references were wrong, and muxing of AVC from Matroska files with proper references resulted in unplayable files. 2005-07-08 Moritz Bunkus * mkvmerge: bug fix: Fixed support for USF subtitles stored in UTF-16 and UTF-32. Added support for USF subtitles stored in UTF-8 without a BOM. 2005-07-01 Moritz Bunkus * Released v1.5.0. 2005-06-26 Moritz Bunkus * mkvmerge: bug fix: The track language read from old Matroska files was wrongfully set to "und" if it was not written although the specs say that "eng" is the default value. * mkvmerge: bug fix: USF subtitles: If identical tags were nested (e.g. "font") and both were closed right after each other then the result looked like "". * mkvmerge: bug fix: Native MPEG-4 was not working if read from OGM files. 2005-06-24 Moritz Bunkus * mmg: new feature: Added an input box for mkvmerge's new "split after these timecodes" feature. 2005-06-16 Moritz Bunkus * mkvmerge: bug fixes: Improved the native MPEG-4 generation a lot (thanks to Haali for testing and pushing me). The codec version string inside the MPEG-4 initialization data is now checked if it indicates "DivX packed bitstream" and changed to not indicate it anymore. 2005-06-07 Moritz Bunkus * mmg: bug fix: If mmg was minimized when it was closed (e.g. with Windows' "Show desktop" function) then it didn't show up after a restart and could only be shown by maximizing it. * mkvmerge: bug fix: If a OGM style chapter file contains empty chapter names ('CHAPTER01NAME=' without something after the '=') then this chapter's timecode is used as the name instead of aborting. 2005-06-05 Moritz Bunkus * mkvmerge: new feature: Added splitting after specific timecodes. 2005-06-04 Moritz Bunkus * mkvmerge, mkvinfo, mkvextract: bug fix: Inifite sized segments were not handled correctly. 2005-05-23 Moritz Bunkus * mmg: bug fix: On Windows mmg could be crashed by adding a file and clicking into the empty space in the "track" selection box. Fixes Anthill bug 133. * mkvextract: new feature: Implemented the extraction of USF subtitles. * mkvmerge: new feature: Implemented the muxing of USF subtitles. 2005-05-17 Moritz Bunkus * mkvextract: bug fix: The MPEG packets are now padded to 2048 byte boundaries as some programs require them to be. Patch by Mike Matsnev (see AUTHORS). 2005-05-07 Moritz Bunkus * mkvinfo: bug fix: Removed the restriction of max. ten levels of nested elements. * mmg: bug fix: If splitting was enabled and "splitting by time" selected and the user chose "new" from the "File" menu then "splitting by time" was not selectable anymore. This happened only on Windows. Fixes Anthill bug 131. 2005-05-05 Moritz Bunkus * mkvextract: bug fix: Use the native newline style when extracting text subtitles (\r\n on Windows and \n on all other systems). * mkvextract: bug fix: SSA/ASS text was missing in the output if the "Format=" line contained newlines at the end of the CodecPrivate data (e.g. our old Mew Mew sample file). 2005-05-03 Moritz Bunkus * mkvmerge: new feature: Added support for the ChapterSegmentUID element. 2005-04-29 Moritz Bunkus * mkvmerge: bug fix: Support WAV files that use other RIFF chunks than the usual "fmt " followed by "data". 2005-04-18 Moritz Bunkus * mkvmerge: bug fix: Remuxing MPEG1/2 tracks resulted in a failing "assert(0)". 2005-04-16 Moritz Bunkus * Released v1.4.2. * mkvmerge: bug fix: In rare occasions involving B frames mkvmerge freed data too early. In such a case it was eating more and more memory finally exiting with a message about not finding a packet for a "bref". 2005-04-09 Moritz Bunkus * all: bug fix: My output functions did not work on AMD64 systems. Fixes Anthill bug 120. 2005-04-07 Moritz Bunkus * mkvextract: new feature: Added the extraction of the raw data with the "--raw" and "--fullraw" flags. Patch by Steve Lhomme (see AUTHORS). * mkvextract: bug fix: WAVPACK extraction did not update the "number of samples" header field. Patch by Steve Lhomme (see AUTHORS). * mkvmerge: bug fix: RealMedia files contain a "FPS" field in their track headers. Unfortunately this field does not always contain the actual FPS of a video track but the maximum number of FPS that the encoder has output or should output. Therefore mkvmerge does not use a "default duration" element for RealVideo tracks anymore. Fixes Anthill bug 113. * mkvmerge: bug fix: Failing calls to posix_fadvise upon adding a file to mmg caused mmg to think that the file identification failed. Now warnings for posix_fadvise are not output anymore, and posix_fadvise is silently switched off for that file. Fixes Anthill bug 123. * mkvmerge: bug fix: Appending files that were created with mkvmerge's "--link" option was broken. The timecodes for both the chapters and the actual media data blocks were not adjusted correctly. Fixes Anthill bugs 115 and 116. * mkvmerge: bug fix: If chapters are present in several appended files and there were atoms who shared the same UID then those entries were present multiple times in the output files. Now such entries are merged into one chapter entry. Fixes the second part of Anthill bug 122. 2005-04-06 Moritz Bunkus * mkvmerge: bug fix: If chapters were present and splitting was enabled then mkvmerge would not treat chapters correctly that spanned across several files. Now the spanning chapters are kept in all files, and their start timecodes are adjusted accordingly. Fixes the first part of Anthill bug 122. 2005-03-28 Moritz Bunkus * mkvinfo: bug fix: On Windows mkvinfo was linked without the console subsystem resulting in no output at all if run without the GUI (-g). Fixes Anthill Bug 118. 2005-03-23 Moritz Bunkus * mkvmerge: bug fix: Due to the compiler doing some strange number conversion mkvextract seemed to hang on Windows with certain files. 2005-03-20 Moritz Bunkus * mkvmerge: bug fix: Appending VobSubs with more than one track in a .idx file and video files at the same time was broken resulting in parts of some of the VobSub tracks not ending up in the resulting Matroska file. Fixes Anthill bug 114. 2005-03-19 Moritz Bunkus * mkvmerge: bug fix: The track numbers were assigned wrongly when appending tracks (this is more or less cosmetic). * mkvmerge: bug fix: Splitting by time was broken for audio-only files. Fixes Anthill bug 112. * mkvmerge: bug fix: The --fourcc switch was not working. 2005-03-16 Moritz Bunkus * mmg: bug fix: Tracks that were not selected on saving the settings file were selected after loading a settings file. 2005-03-15 Moritz Bunkus * Released v1.4.1. 2005-03-14 Moritz Bunkus * mkvmerge: bug fix: AC3 detection was broken in rare cases. 2005-03-13 Moritz Bunkus * mmg: bug fix: If the TEMP environment variable contains spaces then the calls to mkvmerge when adding files failed. 2005-03-06 Moritz Bunkus * mkvmerge: bug fix: Extracting the FPS from some AVC MP4 files did not work. * mkvmerge: bug fix: Appending + splitting was segfaulting if used together and at least one split occured after a track has been appended. 2005-03-02 Moritz Bunkus * mkvmerge: Added more descriptive error messages if two tracks cannot be concatenated because "their parameters do not match". 2005-02-28 Moritz Bunkus * mkvmerge: bug fix: A failing call to posix_fadvise will only turn its usage off for that one file and not abort mkvmerge completely. * mmg: bug fix: When "appending" a file all tracks where added to the end of the track list making it unnecessarily difficult to concatenate similar structured files. Now the tracks from the "appended" files are inserted into the track list after their counterparts from the file this new one is appended to. 2005-02-27 Moritz Bunkus * mmg: bug fix: An "appended" file could not be removed if there were two tracks that we not separated by a track from another file in the track list box. * mmg: bug fix: The check whether or not a file might be overwritten while splitting is active has been fixed. * mmg: bug fix: Improved the word wrapping of the tooltips on Windows. * mmg: bug fix: It was possible to select a file for appending even though no file was added first. * mkvmerge: bug fix: mkvmerge was wrongly outputting large numbers of warnings when Remuxing AVC/h.264 video from a Matroska file. * mmg: bug fix: The job queue was not loaded on startup on Windows Unicode builds (another wxWidgets 2.5.3 problem). 2005-02-26 Moritz Bunkus * mmg: bug fix: The job status in the job runner dialog was broken on Unicode builds on all systems. * mmg: bug fix: "Splitting by time" was not selectable on Windows Unicode builds (problem with wxWidgets 2.5.3). * mmg: bug fix: mkvmerge's output during muxing was not converted from UTF-8. * mmg: bug fix: The default extension added when the user doesn't give one is different in wxWidgets 2.4.x and 2.5.x. It should always be .mkv and not .mka. * Released v1.4.0. 2005-02-19 Moritz Bunkus * mmg: new feature: The "default track" checkboxes are set properly when a Matroska file is added. * mmg: new feature: Added a warning right before the muxing starts if the chapter editor contains entries but no chapter file has been selected (can be turned off). 2005-02-11 Moritz Bunkus * mkvextract: new feature: Added VobSub extraction based on Mike Matsnev's code. 2005-02-08 Moritz Bunkus * mkvmerge: bug fix: Track names could not be set to be empty. 2005-02-06 Moritz Bunkus * Released v1.0.2. 2005-02-02 Moritz Bunkus * mkvmerge: new feature: Use the posix_fadvise function on *nix systems. This results in a considerable speed up for the whole muxing process. As the function call seems to be buggy on at least Linux kernels 2.4.x it can be disabled completely during configure. It will only be used on Linux with a kernel from the 2.6.x series or newer. 2005-02-01 Moritz Bunkus * mkvmerge: bug fix: Empty video frames in AVIs right at the beginning were breaking the MPEG-4 aspect ratio extraction and caused problems in other parts, too. 2005-01-30 Moritz Bunkus * mmg: bug fix: It was possible to create chapter entries with invalid or even empty language entries. Not only are those invalid, such XML files can also not be loaded by mmg. * mmg: bug fix: Overwriting a chapter file did not erase the previous file. So if the previous file was bigger than the current chapters then garbage remained at the end of the file. 2005-01-22 Moritz Bunkus * mkvmerge: bug fix: mkvmerge did not accept XML chapter files created with older mkvtoolnix versions due to deprecated chapter elements. Such elements are now skipped. * mkvmerge: new feature: Added some more possible formats for binary data in XML files besides Base64 encoded data: hex encoded and ASCII "encoded". 2005-01-20 Moritz Bunkus * mmg: bug fix: The "stretch" input box tooltip was wrong. The resulting command line was broken, too. 2005-01-18 Moritz Bunkus * mkvmerge: new feature: Hex values accept more formats (like optional white space between numbers or the "0x" prefix). 2005-01-15 Moritz Bunkus * mkvmerge: Changed the AVC/h.264 timecode handling to include the timecode offsets from the CTTS atom. 2005-01-15 Moritz Bunkus * mmg: Reformatted the HTML guide and updated the screenshots. It should be more readable for those whose desktop is not 1200 pixels wide. 2005-01-08 Moritz Bunkus * mmg: new feature: Made the mkvmerge GUI guide available by pressing F1 or selecting "Help" from the "Help" menu. 2005-01-07 Moritz Bunkus * mkvextract: bug fix: ASS/SSA extraction was broken in some rare cases. 2005-01-02 Moritz Bunkus * mmg: new feature: Added support for mkvmerge's new "appending tracks" feature. 2004-12-31 Moritz Bunkus * mkvmerge: new feature: Added support for reading the pixel aspect ratio from AVC/h264 video data. * mkvmerge: new feature: Added AVC/h264 muxing from MP4. 2004-12-28 Moritz Bunkus * mkvmerge: new feature: Added a MPEG PS demuxer. * mkvinfo: new feature: Added a couple new elements (silent tracks). Patch by Steve Lhomme (see AUTHORS). 2004-12-27 Moritz Bunkus * mkvextract: new feature: Added WAVPACK4 extraction. Patch by Steve Lhomme (see AUTHORS). 2004-12-18 Moritz Bunkus * mkvmerge: new feature: Added WAVPACK4 muxing. Patch by Steve Lhomme (see AUTHORS). * mmg: bug fix: Again the window handling. Hopefully this is better than the other attempts. 2004-12-17 Moritz Bunkus * mkvmerge: new feature: Added VobButton muxing. Patch by Steve Lhomme (see AUTHORS). 2004-12-15 Moritz Bunkus * mmg: bug fix: One was able to crash mmg by pressing 'ok' in the muxing dialog right after muxing finished, especially if the 'abort' button was hit before. This mostly happened on Linux. * mkvmerge: bug fix: Fixed negative audio displacement for a couple of formats. 2004-12-13 Moritz Bunkus * Released v1.0.1. 2004-12-11 Moritz Bunkus * mmg: Fixed some layout issues with wxWidgets 2.5.3 and newer. 2004-12-10 Moritz Bunkus * mmg: new feature: The window position is saved and restored when mmg is started the next time. 2004-12-09 Moritz Bunkus * mmg: bug fix: Fixed a crash/memory corruption showing weird characters in the input boxes. This happened when the user removed a file from mmg while mmg was updating the command line. * mmg: bug fix: mmg now has an icon associated with it while it is running instead of the generic Windows application icon (Windows only). * mmg: bug fix: The main window is now minimized during muxing. This allows to hide both of the windows while muxing is running and restoring them later, even if they were iconized when muxing finished (Windows only). 2004-11-26 Moritz Bunkus * mkvmerge: bug fix: The first packet of an AAC track read from Real containers might not start at the timecode 0. This offset was ignored by mkvmerge. 2004-11-22 Moritz Bunkus * mmg: bug fix: Made the muxing dialog ("mkvmerge is running") modal all the time. This prevents the user from hitting the main window's minimize button. On Windows this makes mmg stuck in iconized mode if it was iconized when muxing finished. 2004-11-20 Moritz Bunkus * mkvmerge: bug fix: Fixed a buffer overflow in the UTF-8 file reading routines. 2004-11-18 Moritz Bunkus * mkvmerge: Implemented concatenating files with chapters. * mkvmerge: Changed the "progress" output. It's now correct for file concatenation, too. 2004-11-17 Moritz Bunkus * Released v1.0. * mkvmerge: new feature: Concatenating/appending files is now possible. A lot of things aren't tested, and others simply don't work yet (chapter merging, duplicate tag elimination, proper progress report, support in mmg just to name a few), but the basic functionality seems to work. * mkvmerge: bug fix: The Matroska reader doesn't insist on having a default duration ( = FPS) for video tracks in the "AVI compatibility mode" ( = with the CodecID "V_MS/VFW/FOURCC"). This enables re-muxing of Matroska files created from MP4 files. 2004-11-05 Moritz Bunkus * mmg: bug fix: File names with non-ASCII characters were not working if mmg was compiled against a Unicode enabled wxWidgets. 2004-11-04 Moritz Bunkus * mkvmerge: new feature: Added reading DTS from AVIs and from Matroska files. * mkvmerge: bug fix: A variable initialization was missing which very recent gcc versions (3.4.2) did not like very much. Also fixed a small compilation bug. 2004-10-24 Moritz Bunkus * mkvmerge: bug fix: The handling of external timecode files was still not correct but should be OK now. 2004-10-17 Moritz Bunkus * mmg: Added an error message if the user selects 'mmg' as the 'mkvmerge executable' because that would lead to an infinite number of 'mmg's being spawned. 2004-10-16 Moritz Bunkus * mkvmerge: bug fix: If LFE is on for DTS then the number of channels is one more than what the DTS frame header says. * mkvmerge: bug fix: Timecodes for Vorbis were wrong on rare occasions (when reading laced Vorbis from a Matroska file and changing the lacing, e.g. when splitting for the second and all following files). 2004-10-10 Moritz Bunkus * mkvmerge/mkvinfo/mkvextract: bug fix: The chapter and tag element tables were not always intialized correctly depending on the compiler and the optimization flags used. * mkvmerge: bug fix: The OGM reader was broken if at least one track was not to be copied from the file (happened between 0.9.5 and 0.9.6). * mmg: bug fix: After loading saved mmg settings the track input box listed the tracks always coming from the last input file and not from the one they really came from. 2004-10-09 Moritz Bunkus * mmg: enhancement: Made mmg's main window properly resizable. * mkvmerge: Rewrote the code for the external timecode files. This also fixes bug 99: The durations for the individual tracks were not correct for those tracks for which --timecodes was used. 2004-10-08 Moritz Bunkus * mmg: bug fix: Crash when saving chapters from the chapter editor. Same as the mkvinfo issue below but on all OS. * mkvinfo: bug fix: The chapter and tag element tables were not initialized on Windows resulting in a crash when one of those elements was encountered. 2004-10-07 Moritz Bunkus * Released v0.9.6. * mkvextract: bug fix: The track extraction was creating the output file twice if the Matroska file contained a copy of the track headers. This resulted in the first extracted file being overwritten at the end of extraction. * mmg: bug fix: If the file title is read from an input file, not modified by the user and that input file is removed again then the file title will be unset. 2004-10-05 Moritz Bunkus * mkvmerge: enhancement: Converted the raw FLAC reader to use another interface to the FLAC libraries. This results in a speedup of up to 50%. Thanks to Josh Coalson for telling me about its existence. 2004-10-04 Moritz Bunkus * mkvmerge: new feature: Added two warnings. One about invalid track IDs that were used on the command line but that don't correspond to an available track in a file and one if no track will be copied from a source file. Both warnings hint at bad command line arguments. 2004-10-03 Moritz Bunkus * mkvmerge: Only write the segment duration as a 64bit float if there is no video track present. This way users won't have to update their DirectShow filter/apps for most files. Only audio-only files need this precision anyway. * mkvmerge: Changed the Ogg/OGM reader to use the stream number and not its serial number as the track ID (meaning the track IDs will be 0, 1, 2... etc. instead of the random numbers oggenc uses as the serial numbers). 2004-09-30 Moritz Bunkus * mkvmerge: new feature: The CUE sheet parser now accepts INDEX lines with indices from 00 up to 99 and implements the Red Book specification for audio CDs that way. Patch by Vegard Pettersen . 2004-09-28 Moritz Bunkus * mkvmerge, mkvextract: bug fix: ASS was handled like SSA which is not correct in each case, especially when extracting it. * mkvextract: bug fix: The WAV writer was not endian safe. 2004-09-27 Moritz Bunkus * mkvmerge: bug fix: The charset was not set correctly on Solaris. * mkvmerge: bug fix: mkvmerge crashed when reading Matroska files that contain an empty tag list. 2004-09-26 Moritz Bunkus * mkvmerge: bug fix: Some Matroska files that e.g. have had their timecodes offset with the Matroska Stream Editor or other means may contain timecodes that caused mkvmerge to print a warning about "timecode < last_timecode". A new fix implements a workaround and a warning message with a proper explanation for this case. 2004-09-24 Moritz Bunkus * mkvmerge: bug fix: Older Matroska files containing chapters caused mkvmerge to abort muxing. 2004-09-21 Moritz Bunkus * mkvmerge: bug fix: mkvmerge was only copying the last tag of a list of tags applying to a track from a Matroska file. 2004-09-17 Moritz Bunkus * mkvmerge: bug fix: mkvmerge will show a nice warning if the entries in a SRT have non-continuous timestamps. It'll also sort the entries by their start timestamp instead of throwing the generic "timecode < previous timecode" warning. * mmg: bug fix: The 'Matroska file analysis' window that occurs when reading chapters from a Matroska file did not disappear if it was minimized when the process finished. 2004-09-16 Moritz Bunkus * mkvmerge: new feature: Added a new parameter --aspect-ratio-factor. * mkvinfo: bug fix: Strings from chapters and tags were shown in UTF-8 instead of the local charset. This bug was introduced around 2004-08-28. * mkvmerge: bug fix: Not all chapter elements were copied correctly from a source Matroska file. 2004-09-07 Moritz Bunkus * mkvextract: Sped up the extraction of attachments, chapters, cuesheets and tags by using the seek head information and not parsing the full file each time. 2004-09-02 Moritz Bunkus * mkvmerge: bug fix: The Matroska reader was not handling very big cluster timecodes correctly. Those can occur when the timecode scale factor is very small. * mkvmerge: bug fix: Empty clusters in Matroska files no longer make mkvmerge think that file has been read completely. 2004-08-31 Moritz Bunkus * mkvmerge: new feature: Added support for MP2 (and maybe MP3) audio in MP4 containers. 2004-08-29 Moritz Bunkus * mkvmerge: new feature: The chapter and tag parsers accept XML element attributes instead of sub-elements for those sub-elements that only contain data. Example for a "simple tag": * mkvmerge: bug fix: The automatic MIME type detection based on the file name extension was using the file name extension as the MIME type. 2004-08-28 Moritz Bunkus * mkvmerge, mkvinfo: new feature: Added the four new PixelCrop elements. * mkvmerge, mkvextract, mkvinfo: new feature: Added 'TargetTypeValue' as a supported tagging element. * mkvmerge, mkvextract, mkvinfo: Complete rewrite of the chapter and tag parsing and output functions. Additions will be much easier now. * mkvmerge, mkvextract, mkvinfo: feature removed: Dropped support for the very old and deprecated tagging system. No one used it anyway. 2004-08-24 Moritz Bunkus * mkvmerge: new feature: Allow the use of two-letter ISO639-1 country codes in for the '--language' parameter. Those will be converted to the corresponding ISO639-2 language code automatically. 2004-08-22 Moritz Bunkus * mkvmerge, mkvinfo, mkvextract: new feature: Added support for the 'TargetType' tag element (which I meant to add before the 0.9.5 release...). * mkvmerge: bug fix: The MP3 handling was broken on weird and rare occasions when reading MP3 from a Matroska file. * mkvmerge: bug fix: Removed a bogus warning about an attachment's MIME type having been given more than once. 2004-08-21 Moritz Bunkus * Released v0.9.5. * mkvmerge: bug fix: WAV files which contained a 'PAD ' chunk before the 'data' chunk were not processed at all. * mkvmerge: bug fix: Use 'setjmp' and 'longjmp' Instead of throwing a C++ exception during the chapter parsing stage. Otherwise libexpat will abort with a non-descriptive error message on Windows. 2004-08-20 Moritz Bunkus * mkvmerge: bug fix: SSA/ASS subs with the old codec ID 'S_SSA' and 'S_ASS' were accepted, but their codec ID was kept. It is now correctly changed to 'S_TEXT/SSA' and 'S_TEXT/ASS'. 2004-08-19 Moritz Bunkus * mkvmerge, mkvinfo, mkvextract: new feature: Added support for the new 'EditionFlagHidden', 'EditionFlagDefault' and 'EditionManaged' elements. * mkvmerge: Added 'EditionUID' to valid elements below '' in XML tags. Fixed the creation of the 'Targets' with --global-tags and --tags. 2004-08-16 Moritz Bunkus * mkvmerge, mkvinfo, mkvextract: Added support for the new tag elements ('tag language' and 'default/original language'). * mkvmerge: new feature: If there was no MIME type given for an attachment then mkvmerge will try to guess it based on the file's extension just like mmg. 2004-08-14 Moritz Bunkus * mkvmerge, mkvextract, mmg: Changes to the chapter handling. EditionUIDs are always created. mkvextract outputs EditionUIDs and ChapterUIDs normally. mkvmerge tries to keep EditionUIDs and ChapterUIDs but replaces them if they aren't unique. 2004-08-13 Moritz Bunkus * mmg: bug fix: The 'down' button on the 'input' tab was not working correctly in all cases. 2004-08-06 Moritz Bunkus * mkvinfo, mmg: bug fix: Fixed compilation with Unicode enabled versions of wxWidgets. 2004-08-05 Moritz Bunkus * mkvmerge: bug fix: Try to guess whether tags read from OGM files (for automatic language tag setting and for copying chapter information) are already in UTF-8 or not. If not try to convert them from the current system's charset. 2004-08-04 Moritz Bunkus * mkvmerge: bug fix: use the same UID for the EditionUID in the chapters and in the tag targets when parsing a CUE sheet. 2004-08-02 Moritz Bunkus * mkvmerge/mkvextract: new feature: Use the new EditionUID entries when convert CUE sheets to chapters and tracks. This is in preparation for 'multiple CDs to single Matroska file' conversions. * mkvmerge: new feature: Abort muxing if the output file name is the same as the name of one of the input files. 2004-08-01 Moritz Bunkus * mkvmerge: new feature: Implemented sample-precision for timestamps and durations on audio only files. * mkvextract: bug fix: The CUE extraction wrote UTF-8 characters but no UTF-8 BOM (byte order marker) at the beginning. * mkvmerge: bug fix: Handle TTA files with ID3 tags correctly ( = skip the ID3 tags). * mkvmerge: bug fix: There was an illegal free() in the OGM reader. 2004-07-27 Moritz Bunkus * mkvextract: bug fix: The subtitle track extraction used the wrong duration in 0.9.4. 2004-07-26 Moritz Bunkus * mkvextract: new feature: Limited support for extracting chapters as CUE sheets that haven't been created by using a CUE sheet with mkvmerge's "--chapters" option. * mkvmerge: bug fix: Block durations with 0s length (e.g. entries in a SSA file) were not written. * mkvmerge: bug fix: The FLAC packetizer gets the duration from the FLAC packet itself. * mkvmerge: bug fix: The word 'TAG' occuring in e.g. SRT subs caused the ID3/MP3 frame detection to be stuck n an endless loop. 2004-07-25 Moritz Bunkus * Released v0.9.4. 2004-07-24 Moritz Bunkus * mkvextract: new feature: Added support for extracting TTA tracks to TTA files. * mkvmerge: bug fix: SRT file recognition failed if the file contained spaces at the end of the first line. 2004-07-21 Moritz Bunkus * mkvextract: new feature: Implemented the extraction of chapter information and tags as a CUE sheet which is the reverse operation to using a CUE sheet with mkvmerge's '--chapters' parameter. 2004-07-20 Moritz Bunkus * mkvmerge: bug fix: Broken VobSub .idx files which contain timestamps going backwards no longer crash mkvmerge. A warning will be printed for such inconsistencies. 2004-07-19 Moritz Bunkus * mkvmerge: bug fix: The Matroska reader contained a nice little illegal memory access (introduced in 0.9.3 with the fixes to the 'default track' handling). * mkvmerge: bug fix: The SSA reader was segfaulting if a line contained an empty text field. * mmg: new feature: Added support for the two flags 'hidden' and 'enabled' in the chapter editor. * mkvmerge: new feature: The pregap from a CUE sheet is converted into two sub-chapters (one for "INDEX 00", one for "INDEX 01"). These sub-chapters have their 'hidden' flag set. * mkvinfo: bug fix: Fixed compilation for MATROSKA_VERSION = 2. * mkvinfo: bug fix: Fixed compilation with gcc 3.2. 2004-07-18 Moritz Bunkus * mkvmerge: bug fix: The CUE sheet parser interpreted a timestamp as HH:MM:SS (hours, minutes, seconds). The correct spec is HH:MM:FF (hours, minutes, frames with 1 frame = 1/75 second). * Released v0.9.3. * mmg: bug fix: The 'default track' checkbox was broken. 2004-07-14 Moritz Bunkus * mkvmerge: bug fix: Using '--cues ...:all' was broken for audio tracks that use lacing. 2004-07-13 Moritz Bunkus * mkvmerge: bug fix: The latest OpenDML AVI files generated by mencoder were not read correctly. Only the first RIFF chunk was processed. 2004-07-10 Moritz Bunkus * mkvmerge: If the user does not specify a --language for a track 'und' ('undefined') will now be used instead of 'eng'. The user can use the new option '--default-language' to change that. 2004-07-07 Moritz Bunkus * mkvmerge: new feature: When using a CUE sheet as a chapter file mkvmerge will automatically convert some of the entries to tags. 2004-07-03 Moritz Bunkus * mkvmerge: bug fix: The default track feature did not work correctly with the new --track-order. * mkvmerge: new feature: Added support for TTA lossless audio files. 2004-06-29 Moritz Bunkus * Released v0.9.2. * mmg: Updated the mkvmerge GUI guide to reflect changes and additions. 2004-06-25 Moritz Bunkus * mmg: new feature: Added 'minimize' buttons to the two 'mkvmerge is running' dialogs. * mmg: new feature: Added an option for automatically calling 'File -> new' after a job has been added to the job queue. 2004-06-24 Moritz Bunkus * mkvextract: bug fix: Video extraction was not working correctly on big endian systems. 2004-06-21 Moritz Bunkus * mmg: bug fix: The job manager did not always catch all of mkvmerge's output, especially if a job failed. 2004-06-20 Moritz Bunkus * mkvmerge, mmg: new feature: --track-order now controls the track creation order globally, meaning that it isn't used for each file but only once. This allows the tracks to be created in ANY order (before it was first ordered by file, then by track). For mmg this means that the track list contains all available tracks and that there are no 'up' and 'down' buttons in the file list anymore. * mmg: new feature: Line wrap the tooltips on Windows. * mmg: new feature: Suggest a name for a new job based on the output file name. * mmg: new feature: Temporarily disaable 'always on top' if the muxing or the job dialog are visible. * mmg: new feature: Ask for confirmation before adding a job if there's already an old job with the same description. * mkvmerge: new feature: You can specifiy the time after which to split with ms precision. 2004-06-19 Moritz Bunkus * mmg: bug fix: The functions 'move up', 'move down' and 'delete' in the 'job' dialog were not working correctly on Windows. 2004-06-15 Moritz Bunkus * mkvmerge: bug fix: Fixed more of that 'garbage at the beginning of MP3 streams' issue. 2004-06-13 Moritz Bunkus * mmg: bug fix: The 'always on top' option was ignored when starting mmg. * mkvmerge: bug fix: Reading of broken / unfinished AVI files was broken on Windows. * Released v0.9.1. * mkvmerge: Dropped supoprt for 'aviclasses' (one of the two libraries for accessing AVI files). This mostly affects the Windows users as I've used aviclasses and not avilib on Windows so far. The 0.9.0-pre-builds so far haven't shown any problems, though, so I hope this doesn't break anything. * mmg: bug fix: The job manager did not handle the conversion of non-ASCII characters correctly. * mmg: new feature: The action 'delete job' in the job manager will also delete the file in the 'jobs' subdirectory. 2004-06-12 Moritz Bunkus * mmg: new feature: Added an option to make mmg stay always on top (only on Windows). * mkvmerge: new feature: mmg will set the 'display dimensions' automatically for AVI files whose video track is MPEG4 and has the pixel aspect ratio stored in the bitstream. * mkvmerge: bug fix: The improved MP3 garbage detection was broken resulting in an error message from mkvmerge in some weird situations. 2004-06-08 Moritz Bunkus * mkvmerge: bug fix: Matroska tracks can use lacing (several frames inside one Matroska block with only one timecode for the whole block). mkvmerge did not recreate the timecodes for the frames 1..n in the lacing correctly. 2004-06-06 Moritz Bunkus * mkvmerge: feature removed: Dropped support for 'time slices'. They were not used, didn't offer the player any additional value and caused massive increase in overhead. * mmg: new feature: Added a dialog for adding arbitrary command line options which includes a list of advanced options to chose from. 2004-06-04 Moritz Bunkus * mkvmerge: bug fix: The OGM fix in 0.9.0 broke handling for non-broken OGM files a bit. 2004-06-03 Moritz Bunkus * mkvmerge: new feature: Added support for the audio/video synchronization method used by NanDub (garbage at the beginning of audio tracks inside an AVI) for AC3 and MPEG audio tracks. In other words: If an AVI is read and an audio track contains garbage right at the beginning then the corresponding audio delay is calculated and used instead of simply discarding the garbage. 2004-06-01 Moritz Bunkus * mkvmerge: new feature: Enabled reading MPEG4 video from MP4 files (nope, they're not stored in Matroska's native mode yet). 2004-05-31 Moritz Bunkus * Released v0.9.0. * mkvmerge: bug fix: Improved handling for OGM files. Streams that are lacking the comment packet are handled better. 2004-05-29 Moritz Bunkus * mkvmerge: bug fix: Some MP3 streams are padded in the front with trash (mostly those in AVI files). This trash might contain valid MP3 headers which do not match the remaining headers for the actual track. Both the MP3 reader and the MP3 packetizer can now skip up to one of those bogus headers in the trash. 2004-05-25 Moritz Bunkus * mmg: bug fix: On some occasions the chapter editor thought there was no language associated with a chapter name and complained about that. * mmg: Removed the 'advanced' tab. Those options shouldn't be used anyway. * mkvmerge: bug fix: The OGM reader was not endian safe. 2004-05-20 Moritz Bunkus * mkvmerge: Rewrite of the VobSub handling code. 2004-05-17 Moritz Bunkus * mmg: bug fix: The chapter editor did not honor the values selected for 'country' and 'language'. 2004-05-15 Moritz Bunkus * mkvmerge: bug fix: Audio sync for Vorbis was partially broken for positive offsets. 2004-05-06 Moritz Bunkus * mmg: Fix for compilation with wxWindows < 2.4.2. * Released v0.8.9. * mmg: new feature: mmg will ask for confirmation before overwriting a file. This can be turned off on the settings tab. 2004-05-04 Moritz Bunkus * mmg: new feature: Implement drag'n'drop of files onto the input, attachment and chapter tabs. For the input and attachment tabs it works like pressing the 'add' button. On the chapters tab it works like calling 'Chapter Editor -> Open'. 2004-05-02 Moritz Bunkus * mkvinfo/mmg: Enabled compilation with wxWidgets 2.5 and Unicode enabled builds of wxWidgets. 2004-04-30 Moritz Bunkus * all: Increased the precision for timecodes in chapter files to nanoseconds (optionally, you can still use fewer digits after the '.'). 2004-04-26 Moritz Bunkus * mkvmerge: Fixes for compilation with gcc 3.4. 2004-04-24 Moritz Bunkus * mkvmerge: bug fix: Some strings read from RealMedia files were not zero-terminated resulting in broken track recognition for some files. 2004-04-23 Moritz Bunkus * Released v0.8.8. * mkvtoolnix now depends on libebml 0.7.0 and libmatroska 0.7.0. 2004-04-21 Moritz Bunkus * mkvinfo: bug fix: mkvinfo was forcing libmatroska not to handle unknown elements and crashed on those. 2004-04-15 Moritz Bunkus * mmg: new feature: When adding Matroska files the video track's display dimensions are displayed as well. 2004-04-13 Moritz Bunkus * mkvmerge: new feature: Implemented reading AAC from AVIs. 2004-04-11 Moritz Bunkus * mkvmerge: bug fix: The Flac packetizer was accessing uninitialized memory resulting in a crash on Windows. * avilib: bug fix: Fixed compilation on big endian systems. * mkvmerge: bug fix: Fixed the handling of RealMedia files with 'multirate' tracks (again). 2004-04-09 Moritz Bunkus * mkvmerge: bug fix: On some rare occasions chapters were not written correctly when splitting was active. 2004-04-06 Moritz Bunkus * mmg: bug fix: On non-Windows systems some combinations of wxWindows and GTK caused continuous 100% CPU usage after a special call to wxExecute. 2004-04-05 Moritz Bunkus * Released v0.8.7. 2004-04-03 Moritz Bunkus * mkvinfo: new feature: Added a terse output format via '-s'. 2004-03-27 Moritz Bunkus * mkvmerge: new feature: If using MPEG4 video and no aspect ratio or display dimensions are given mkvmerge will extract the aspect ratio information from the stream and automatically set the display dimensions accordingly. 2004-03-22 Moritz Bunkus * mkvmerge: bug fix: Using audio sync on AC3 tracks read from Matroska files did not work. 2004-03-21 Moritz Bunkus * mkvextract: new feature: Added extraction of RealAudio and RealVideo tracks to RealMedia files. 2004-03-16 Moritz Bunkus * mmg: new feature: Added a 'job queue'. The current settings can be added as a new job, and all pending jobs can be started for batch processing without user interaction. 2004-03-13 Moritz Bunkus * Released v0.8.6. * mkvmerge: bug fix: OGMs created by Cyrius OGMuxer are missing comment packets for some streams which mkvmerge choked on. 2004-03-10 Moritz Bunkus * mkvmerge/mmg: bug fix: The LANGUAGE and TITLE comments from OGM files were not set in the GUI when adding such files. 2004-03-09 Moritz Bunkus * mmg: bug fix: If the FourCC was set for one track it had been used for each track you selected as well. * mkvmerge: new feature: Tags are being kept when reading Matroska files. * mkvmerge: bug fix: Large values for --sync (over 2100) would cause an integer overflow resulting in no sync being done at all. * mkvmerge: bug fix: The VobSub handling was broken if the .idx file contains an entry for a track ("id: en") but no "timestamp:" entries for such a track. * mkvmerge: bug fix: The segment UID was not generated if splitting was off. * mmg: new feature: Automatically set the output file name when the first file is added to the same name but with a '.mkv' extension if it hasn't been set yet. Can be disabled on the 'settings' page. * mkvmerge: bug fix: More of the non-ASCII character fixes (in --tags and --chapters this time). * mkvmerge/mmg: new feature: Made the process priority selectable on the 'settings' page and default to 'normal' again (was 'lower' before). 2004-03-07 Moritz Bunkus * mmg: new feature: mmg will ask for confirmation before overwriting an existing output file. 2004-02-29 Moritz Bunkus * mkvmerge: bug fix: No memory was allocated for the --attachment-description resulting in weird descriptions or mkvmerge aborting with 'invalid UTF-8 characters'. * mkvmerge: bug fix: More of the non-ASCII characters fixes. 2004-02-28 Moritz Bunkus * mkvmerge: bug fix: File names with non-ASCII characters like Umlaute are handled correctly. 2004-02-27 Moritz Bunkus * mkvmerge: bug fix: Some RealMedia files contain several tracks for multirate stuff which are now ignored. Only tracks with known MIME types (audio/x-pn-realaudio and video/x-pn-realvideo) are used. 2004-02-23 Moritz Bunkus * mmg: Added a list of 'popular' languages on top of all language drop down boxes. 2004-02-22 Moritz Bunkus * Released v0.8.5. 2004-02-21 Moritz Bunkus * mkvmerge: bug fix: segfault in the RealMedia reader. * mmg: bug fix: When adding a Matroska file that contains a track name or a title with non-ASCII characters those would be displayed as UTF-8 in the appropriate input boxes. This has been changed, but obviously it won't work if you add files with Japanese characters on a system with a different locale. For full Unicode support you'll have to wait quite a bit longer. * mmg: bug fix: For some 'browse file' buttons the default directory was not set to the last directory a file was selected from. 2004-02-16 Moritz Bunkus * mmg: new feature: Added a function for adjusting the chapter timecodes by a fixed amount. 2004-02-15 Moritz Bunkus * mkvmerge: bug fix: Splitting by size would sometimes abort directly after opening the second file. 2004-02-14 Moritz Bunkus * mkvmerge: bug fix: Splitting by time was broken. 2004-02-12 Moritz Bunkus * all: A couple of changes that allow compilation on MacOS X. * avilib: synchronized with transcode's current CVS version. 2004-02-11 Moritz Bunkus * Released v0.8.4. * mkvmerge: bug fix: When reading Matroska files the durations attached to blocks were lost (e.g. for subtitle tracks). 2004-02-09 Moritz Bunkus * Released v0.8.3. 2004-02-08 Moritz Bunkus * mkvmerge: new feature: The LANGUAGE, TITLE tags and chapters are being kept when reading OGM files. * mkvmerge: Changed the meaning of '--global-tags'. They now apply to the complete file. 2004-02-07 Moritz Bunkus * mkvmerge: bug fix: VobSub durations were not converted from ms to ns precision resulting in VERY short packets :) 2004-02-01 Moritz Bunkus * mkvmerge: bug fix: The change from ms to ns precision broke subtitle handling from OGM. 2004-01-31 Moritz Bunkus * mkvmerge: Made "do not link files when splitting" the default, just like in mmg. * mkvmerge: new feature: Enabled reading of AAC from OGMs. * mkvmerge: The VobSub reader will not discard packets that exceed a certain size (64KB) anymore. * mkvmerge: Improved some internal memory freeing decisions. This should help with files/sections in which are only few keyframes. 2004-01-30 Moritz Bunkus * mkvmerge: Changed the two-pass splitting into a one-pass splitting. The resulting files will always be a little bit larger than the desired size/length, but this shouldn't matter. 2004-01-25 Moritz Bunkus * mkvmerge: bug fix: Segfault when using external timecode v1 files. 2004-01-24 Moritz Bunkus * mmg: Rewrote the chapter editor. It now makes a lot more sense: You can have multiple names for one chapter entry, and for each name there's only one language/country association. 2004-01-23 Moritz Bunkus * mkvmerge: bug fix: The AAC-in-Real stuff again. 2004-01-22 Moritz Bunkus * mkvmerge: Changed the complete timecode handling from ms precision to ns precision. Expect some things to be broken by this change. * mkvmerge: bug fix: Fixed a couple of memory leaks, especially in the QuickTime/MP4 parser. 2004-01-21 Moritz Bunkus * mmg: Added some more extensions for RealMedia files. * mkvmerge: bug fix: Proper handling for AAC read from RealMedia files (sample rate/output sample rate were not assigned correctly). * Released v0.8.2. 2004-01-19 Moritz Bunkus * mkvmerge: bug fix: The PCM handling was broken resulting in packets that did not end on sample boundaries. 2004-01-17 Moritz Bunkus * mkvmerge: bug fix: AVIs with uncompressed sound were leading to buffer overflows. * mkvmerge/mmg: allow the track names to be empty so that you can remove them when muxing Matroska files. Same for the file title. * mkvmerge: new feature: The track headers will be rendered completely including the elements that are set to their default values. Causes less confusion and allows the setting of e.g. the track language without having to remux the file completely. * mkvmerge: bug fix: If remuxing a file that contains frames with a reference to the same timecode those references were lost turning such P frames into I frames. This was the case for some RealAudio stuff. 2004-01-15 Moritz Bunkus * mmg: new feature: Automatically pre-set the attachment's MIME type if the file has a known extension (e.g. 'text/plain' for '.txt'). * mkvmerge: new feature: Unknown/unsupported track types can be copied 1:1 from Matroska input files. * mkvmerge: new feature: Added proper support for AAC-inside-RealMedia files. 2004-01-14 Moritz Bunkus * mkvmerge: new feature: Write cues for audio-only files as well (not more than one cue entry during a two seconds period). 2004-01-12 Moritz Bunkus * mkvmerge: bug fix: The default track flags could not be overriden on the command line when reading Matroska files. * Windows binaries after v0.8.1 require a new runtime DLL archive. Please download it from http://www.bunkus.org/videotools/mkvtoolnix/ Thanks. 2004-01-11 Moritz Bunkus * mkvmerge: new feature: Added the two new chapter flags 'hidden' and 'enabled'. * mkvmerge: new feature: Added a new format for the external timecode files. 2004-01-09 Moritz Bunkus * mkvmerge: bug fix: The VobSub handling was on occasion putting SPU packets for the wrong MPEG stream into the current stream resulting in that particular entity not being displayed. 2004-01-06 Moritz Bunkus * Released v0.8.1. 2004-01-05 Moritz Bunkus * mkvmerge: bug fix: The I/O classes were not initialized correctly on Windows resulting in spontaneous strange error messages, especially when muxing VobSubs. 2004-01-03 Moritz Bunkus * mkvmerge: bug fix: For some special atom sizes in Quicktime and MP4 files the size was not read correctly. This affected e.g. files created by Nero Digital. 2004-01-02 Moritz Bunkus * mkvmerge: bug fix: Segfault when muxing some video formats due to unchecked data (includes RealVideo). 2004-01-01 Moritz Bunkus * Released v0.8.0. 2003-12-29 Moritz Bunkus * mmg: bug fix: Fixed the "write chapters to Matroska file" feature. * mmg: bug fix: Made mmg not abort but only display an error message when malformed XML chapter files should be loaded. 2003-12-28 Moritz Bunkus * mkvmerge: bug fix: The timescodes for Vorbis were calculated one packet too early (meaning that the first packet did not start at 0). * mmg: Made "don't link" ON by default because some players might have problems with the second and all following files if they don't expect them not to start at 0. * mkvmerge, mkvextract, mkvinfo: Added support for the new tagging system. * mmg: bug fix: The default values for the chapter language and chapter country are now applied when loading simple (OGM) style chapter files as well. * mkvmerge: bug fix: The VobSub packetizer will assume MPEG2 if no MPEG version identifier was found ("Unsupported MPEG version: 0x00..."). 2003-12-23 Moritz Bunkus * mkvmerge: There are MP4 files that actually contain HE-AAC but don't have the 5 byte identifier. mkvmerge will also assume SBR if there's only the 2 byte identifier with a sampling frequency < 44100Hz. 2003-12-22 Moritz Bunkus * mkvextract: bug fix: Wrong display output and illegal memory access when extracting FLAC files. 2003-12-17 Moritz Bunkus * mmg: bug fix: If one added a Matroska file and the track name or language of a track consisted of only blanks then mmg would segfault. 2003-12-15 Moritz Bunkus * mmg: The input box will automatically select the first track when a file is selected. Upon track selection the input focus is set to the track name input box. * mmg: The chapter editor automatically focuses the chapter name input box whenever a chapter entry is selected. * mmg: bug fix: The chapter editor did not properly escape the chapter names resulting in invalid XML files if the special characters &, < or > were used. 2003-12-12 Moritz Bunkus * mkvmerge: bug fix: If splitting was active then a wrong CodecID was written to the second and all following files for MP2 tracks. 2003-12-11 Moritz Bunkus * Released v0.7.9. 2003-12-05 Moritz Bunkus * mkvmerge: Set the thread priority to BELOW_NORMAL on Windows (mkvmerge was already nice(2)'d on Unix systems). * mmg: bug fix: Removed the Ctrl-v and Ctrl-c accelerators that I used for mmg functions which overrode the usual 'paste' and 'copy' functionality. * mmg: Command line arguments are put into an option file which is then handed over to mkvmerge. This allows really long command lines, even on Windows. * mkvmerge: bug fix: Negative track IDs in Ogg files were reported incorrectly for mkvmerge -i (which affected the GUI). * mkvmerge: bug fix: Internal changes had messed up the --language and --track-name functionality. 2003-12-04 Moritz Bunkus * mmg: new feature: Added "up" and "down" buttons for the tracks, too. * mmg: new feature: Added a menu option, 'set output file', that can be used as an alternative to the "browse" button at the bottom (for those poor users with nothing more than 800x600 ;)). * mkvmerge: new feature: The user can alter the order in which the tracks for an input file are put into the output file with the new "--track-order" option. * mmg: bug fix: The "AAC is SBR" check box was grayed out for AAC inside MP4 files. 2003-12-03 Moritz Bunkus * mmg: bug fix: The "load settings" function did not load all settings, and some strings were not allocated at all resulting in a crash when a track was removed after loading these settings. * mkvmerge: bug fix: The AAC packetizer was not working if packets were being read from a raw AAC file (it worked fine from MP4 and Matroska files). * mkvmerge: bug fix: Avoid deadlocks when parsing broken SPU packets from VobSubs. * mmg: new feature: Added buttons for moving input files up and down in the input file box. 2003-12-02 Moritz Bunkus * Released v0.7.8. * mmg: new feature: You can set the values for the language and/or country codes for a chapter and all its children with the push of one button (the new "Set values" button). * mmg: new feature: You can set default values for the language and the country codes in the chapter editor (Chapter menu -> Set default values). 2003-12-01 Moritz Bunkus * mkvmerge: bug fix: Display dimensions were sometimes off by one, e.g. 640x479 instead of 640x480. This should not happen anymore for sane pixel dimensions. * mkvmerge: Changed the options '--fourcc' and '--aspect-ratio'. They now take a track ID just like all the other track specific options. * mkvmerge: new feature: Added an option '--display-dimensions' which allows the direct setting of the display dimensions. It is mutually exclusive with '--aspect-ratio', of course. 2003-11-29 Moritz Bunkus * mmg: bug fix: The language combo box was not correctly set on Windows. 2003-11-25 Moritz Bunkus * mkvmerge: Added an option for dumpig all split points including file size and timestamp information after the first splitting pass. 2003-11-23 Moritz Bunkus * mmg: bug fix: Quotes were missing if the timecode file's name contained spaces. 2003-11-18 Moritz Bunkus * mkvmerge: Rewrote the SPU packet parsing code. It should not abort anymore. * everything: Committed a lot of cross-OS compatibility fixes (thanks to Haali and thedj). 2003-11-16 Moritz Bunkus * Released v0.7.7. * mkvextract: Added extraction of FLAC to raw FLAC or OggFLAC files. * mkvmerge: Added full support for FLAC (both raw FLAC and OggFLAC are supported, even though raw FLAC is very slow). 2003-11-15 Moritz Bunkus * mmg: Added an input field for the 'CUE sheet to chapter name' conversion format. * mkvmerge: bug fix: Reworked the audio sychronization which did not work correctly for Matroska source files. 2003-11-13 Moritz Bunkus * mkvmerge: bug fix: Increased the size of the space reserved for the first meta seek element (see mkvmerge.1 for an explanation). In some situations (with tags, chapters, attachements and very big file) it might not have been enough in order to contain all elements. 2003-11-12 Moritz Bunkus * mmg: Added an input field for the 'timecodes' file to the track options. * mkvmerge: bug fix: When reading MP3 audio tracks from a Matroska file with the A_MS/ACM CodecID (MS compatibility mode) the layer was not identified correctly. * mkvmerge: Improved the file type detection for AC3 and AAC files a bit. * mkvmerge: Implemented a lot of fixes for big endian systems and processors that don't allow non-aligned memory access for word or bigger sized objects. * mmg: Made mmg accept return codes of 1 when 'mkvmerge -i' is run when an input file is added. This way mmg won't reject mkvmerge's output if mkvmerge only printed some warnings which will result in a return code of 1 instead of 0. * mkvmerge: bug fix: If running in identification mode (-i, used by mmg a lot) then don't output any warnings or mmg will not accept this file. 2003-11-10 Moritz Bunkus * mkvmerge: new feature: CUE sheets can be used for chapters. 2003-11-09 Moritz Bunkus * mkvmerge: Added support for --sync for VobSub tracks. * mkvtoolnix: Re-worked the configure script. Removed all the lib specific --with-...-include and --with-...-lib options. The --with-extra-includes and --with-extra-libs options can be used instead. 2003-11-08 Moritz Bunkus * mmg: When a file is being added then some information from it (languages, track names, file title) are kept, and the appropriate input boxes are pre-set with these values. Works only for formats that support such information (Matroska, VobSub). * mkvmerge: Sped up the reading of VobSub .idx files. 2003-11-05 Moritz Bunkus * Released v0.7.5. * mkvmerge: bug fix: The VobSub .idx parser was dividing by 0 if a track only contained one entry. * mkvmerge: Fixed the timecode reader code and made it a bit more flexible. Added more documentation for this feature along with an example file (examples/example-timecodes.txt). * mmg: bug fix: When 'default track' is selected then all other tracks of the same type will have their 'default track' flag cleared. * mkvmerge: SPU packets belonging to the same timecode are grouped together, and the duration is extracted directly from the SPU stream. 2003-10-29 Moritz Bunkus * mkvmerge: The VobSubs are now stripped of the MPEG program stream, and only the SPU packets are kept. 2003-10-28 Moritz Bunkus * mkvmerge, mkvextract: The Matroska reader and the OGM reader (mkvmerge) as well as mkvextract will discard empty or 'cleaning only' subtitle packets as they are appear in OGMs in order to mark the end of an entry. 2003-10-27 Moritz Bunkus * mkvmerge: new feature: Added the ability to read timecodes from text files which override the timecodes mkvmerge calculates normally. 2003-10-26 Moritz Bunkus * mkvextract: bug fix: Add all the mandatory elements when extracting chapters so that the resulting XML can always be used directly with mkvmerge again without having to manually add e.g. ChapterLanguage. * mkvmerge: bug fix; Handle audio tracks from Matroska files with the CodecID A_MS/ACM correctly. 2003-10-25 Moritz Bunkus * mkvmerge: Changes to use libmatroska's new lacing code. 2003-10-23 Moritz Bunkus * mkvmerge: bug fix: The VobSub .idx parser was mis-calculating the subtitle entry frame sizes. * mkvmerge: bug fix: The Vorbis packetizer was miscalculating the number of samples to add/remove when using audio sync. 2003-10-22 Moritz Bunkus * mmg: new feature: Added a new menu entry "File -> new" which will clear all the current muxing settings. * mmg: Added support for VobSub subtitles including their compression options. Added the .m4a extension to the 'add file' dialog. * mmg: bug fix: Made the input boxes for file names (tags and chapters) editable so that their contents can be deleted. * mkvmerge: Adjusted the compression handling to the final content encoding specs. 2003-10-19 Moritz Bunkus * mkvmerge: new feature: Implemented generic support for frame compression (mostly useful for VobSub subtitles but could also be used for others) and the complete framework for handling content encodings in the Matroska reader. 2003-10-18 Moritz Bunkus * mkvinfo: new feature: Dump unknown elements recursively. 2003-10-15 Moritz Bunkus * mkvmerge: bug fix: Made the SRT reader more tolerant regarding empty lines. 2003-10-14 Moritz Bunkus * Released v0.7.2. * mkvmerge: bug fix: If 'no linking' and splitting was active mkvmerge would abort on the start of the second output file due to timecodes that were calculated incorrectly. * mkvmerge: Implemented some speedups for a couple of container formats and track types (mainly AVI reader, MP3/AC3/AAC packetizers). Especially noticeable when splitting is active as well. 2003-10-12 Moritz Bunkus * mkvextract: bug fix: Support for extracting SBR AAC (previous 'fix' did not actually fix this). * mkvextract: bug fix: All extracted subtitles where written to the first output file given, not to the one they were supposed to be written to. 2003-10-11 Moritz Bunkus * mmg: bug fix: The 'abort' button was doing nothing under Windows. 2003-10-06 Moritz Bunkus * mmg: bug fix: Audio, video and subtitle track selection was translated into the wrong command line options. * mkvmerge: Replaced the avilib based AVI reading functions with AVI classes from Cyrius. 2003-10-03 Moritz Bunkus * Released v0.7.1. * Added a guide for mmg including some pictures. 2003-10-01 Moritz Bunkus * mkvmerge: Changed the lacing strategy again. New defaults are NOT to write duration elements for all blocks, NOT to use time slices and to USE lacing for most audio tracks. This will save some space. The downside is that the laced frames 'lose' their precise timecode information. Current demuxers don't care and will work nevertheless. More sophisticated applications that make use of these advanced information (duration elements, time slices) are not available at the moment. All these options can be toggled by the user with the new/modified options --disable-lacing, --enable-durations and --enable-timeslices. 2003-09-29 Moritz Bunkus * mkvmerge: new feature: Attachments are kept when reading Matroska files. 2003-09-28 Moritz Bunkus * mmg: new feature: Added a (nearly) full-featured chapter editor. 2003-09-26 Moritz Bunkus * mkvmerge: bug fix: XML chapters were not parsed correctly. 2003-09-24 Moritz Bunkus * mkvmerge: bug fix/new feature: Rewrote the complete MP3 handling. Now files with ID3 tags (both v1 and v2) are handled correctly. All MPEG-1 audio files (all layers) should be handled correctly now. 2003-09-23 Moritz Bunkus * mkvextract: new feature: Support for extract HE-AAC tracks to .aac files. Bug fix: Missing elements (default values) are handled correctly for audio tracks. 2003-09-19 Moritz Bunkus * mkvmerge: bugfix: If attachments were given with path components then the path component wasn't discarded for the attachment's description on Windows (normally only the file name should be used as the attachment's name). * mmg: Fixed wrong order of the options --chapters, --chapter-language and --chapter-charset. 2003-09-17 Moritz Bunkus * mmg: Added a lot of checks on the data given by the user so that invalid data is reported by mmg and not by mkvmerge. * mmg: Made the app a GUI app which gets rid of the "DOS box" on Windows. 2003-09-16 Moritz Bunkus * mmg: bugfix: Moved the aspect ratio and FourCC input fields from the global tab to the input tab where they belong to. * mkvmerge: new feature: RealAudio can be read from Matroska files. * mkvmerge: bugfix: RealVideo was not read correctly from Matroska files. * mkvmerge: bugfix: The SRT reader would abort if there was more than one empty line between subtitle entries line. * mkvextract: bugfix: Proper BOMs are written according to the desired charset when extracting text subtitles. * Released v0.7.0. * mkvextract: Add an UTF-8 BOM to extracted SSA/ASS and SRT subtitle files. Print warnings for missing durations for text subtitle tracks. 2003-09-14 Moritz Bunkus * Added a complete GUI for mkvmerge, mkvmergeGUI (mmg) based on the work of Florian Wagner. 2003-09-12 Moritz Bunkus * mkvmerge: Support for setting the track names. * mkvmerge: For Matroska source files: If the source contains chapters then these are kept unless the user specified chapters with --chapters. 2003-09-11 Moritz Bunkus * mkvmerge: Implemented an experimental VobSub reader and packetizer. No specs exist for these yet, though. * mkvmerge: Improved the support for Matroska files with tracks with big gaps between entries, e.g. subtitle tracks whose entries are a minute or more apart. * mkvmerge: When splitting is active and the source is a Matroska file then splitpoints were borked, and the first pass was slow as your average mole. * mkvmerge: The track UIDs are kept when reading Matroska files even when splitting is active. 2003-09-09 Moritz Bunkus * mkvmerge: Added a QuickTime/MP4 reader. Can handle several QuickTime video and QuickTime audio formats as well as AAC (both 'normal' AAC and SBR AAC). 2003-09-08 Moritz Bunkus * mkvmerge: DisplayWidth and DisplayHeight are kept intact when reading from a Matroska file but can be overridden with --aspect-ratio. 2003-08-30 Moritz Bunkus * Wrote documentation, XML examples and the DTD for the XML chapter files. * mkvinfo: Rewrote mkvinfo to use libebml's Read() function instead of manually reading each and every element. * mkvmerge: Added support for XML based chapter files. 2003-08-29 Moritz Bunkus * Released v0.6.5. 2003-08-28 Moritz Bunkus * mkvmerge: On Windows the 'isspace()' function used to trim leading and trailing white spaces from tags considered some parts of valid UTF-8 character sequences to be white spaces as well. Fixed by replacing 'isspace()' with 'isblank()'. Reported by Liisachan. * mkvmerge: Support for chosing the charset and language used in simple chapter files. Suggestion by Liisachan. * Rewrote the UTF-8 conversion routines. They should now handle U+8000 characters correctly. Reported by Liisachan. * mkvmerge: Real reader: For RV40 the actual dimensions were also used for the aspect ratio/display dimensions. This has been fixed: the actual dimensions are used for PixelWidth/PixelHeight, the dimensions stored in the RM container are used for the aspect ratio/DisplayWidth & DisplayHeight. Reported by Karl Lillevold. 2003-08-27 Moritz Bunkus * Released v0.6.4. * mkvextract: Support for re-creating dropped frames when extracting video to an AVI. Works only well if the frame durations in the source file are multiples of the frame rate, of course. * mkvmerge: The MP3 packetizer did not start at 0 with its timecodes. It does now. Reported by alexnoe. * mkvmerge: Proper support for dropped frames when reading AVI files. Reported by alley_cat, Horváth István. * mkvmerge: Fixed some missing default values in the Matroska reader (e.g. mono audio files). Reported by Liisachan. 2003-08-25 Moritz Bunkus * mkvmerge: Improved all command line parsing error messages. * mkvmerge: Improved the error message for the XML tag file parser if an invalid &-sequence is found. * mkvextract: Strings are postprocessed so that the special characters &, <, >, " are replaced by their HTML equivalents &, <, > and ". 2003-08-24 Moritz Bunkus * mkvmerge: Disabled lacing by default and renamed --no-lacing to --enable-lacing. With all the proper info about the laced frames lacing is actually producing larger files than without lacing. * mkvmerge: Meta seek element is split into two elements. The first's located at the start of the file containing only a small number of level 1 elements. The clusters are referenced in a second meta seek element located at the end of the file. Removed the options "--meta-seek-size" and "--no-meta-seek". Added the option to disable that second meta seek entry, "--no-clusters-in-meta-seek". 2003-08-22 Moritz Bunkus * mkvextract: Backwards compatibility: Accepts S_SSA and S_ASS as valid CodecIDs (new CodecIDs are S_TEXT/SSA and S_TEXT/ASS). * mkvmerge: Bugfix: If a subtitle packet was the last packet in a cluster then its duration was not written resulting in a broken file. 2003-08-21 Moritz Bunkus * mkvinfo: Added support for the following elements: KaxPrevFilename, KaxNextFilename, KaxTrackFlagEnabled, KaxTrackName, KaxCodecName, KaxCodecSettings, KaxCodecInfoURL, KaxCodecDownloadURL, KaxCodecDecodeAll, KaxTrackOverlay, KaxAudioPosition, KaxAudioOutputSamplingFreq, KaxVideoDisplayUnit, KaxVideoColourSpace, KaxVideoGamma, KaxVideoFlagInterlaced, KaxVideoStereoMode, KaxVideoAspectRatio, KaxClusterPosition, KaxClusterPrevSize, KaxBlockVirtual, KaxBlockAdditions, KaxBlockMore, KaxBlockAddID, KaxBlockAdditional, KaxReferenceVirtual, KaxSliceBlockAddID, KaxChapters, KaxEditionEntry, KaxChapterAtom, KaxChapterUID, KaxChapterTimeStart, KaxChapterTimeEnd, KaxChapterTrack, KaxChapterTrackNumber, KaxChapterDisplay, KaxChapterString, KaxChapterLanguage, KaxChapterCountry 2003-08-20 Moritz Bunkus * Released v0.6.3. * mkvmerge: The Real reader accepts incomplete video packets and tries to re-assemble them instead of aborting with 'die: len != total'. 2003-08-18 Moritz Bunkus * mkvmerge: Implemented a switch that has to be used for SBR AAC / AAC+ / HE-AAC if the source file is an AAC file and the AAC file contains SBR AAC data (no automatic detection possible in this case!). 2003-08-14 Moritz Bunkus * mkvmerge: Low bitrate AC3 tracks from Real's DNET are identified as A_AC3/BSID9 or A_AC3/BSID10. * mkvmerge: The RealMedia reader takes the number of packets into account when reading which results in better end-of-file detection. 2003-08-12 Moritz Bunkus * Windows versions: Fixed a bug with files bigger than 2GB not being recognized. The accompanying error message was "File NAME has unknown type. Please have a look at the supported file types..." * all tools: Fixed a bug which would only allow Matroska files up to 4GB to be read. The accompanying error message was "No segment found" or something similar. * mkvinfo: Unknown elements are properly skipped now. 2003-08-11 Moritz Bunkus * mkvmerge: For RV40 (RealVideo 9) the actual video dimensions are decoded from the first video frame. * Released v0.6.2. * mkvmerge: Video aspect ratio was set wrong if the user did not specify any. * Released v0.6.1. * mkvmerge: RealVideo: Support for all kinds of frames including "short" and "merged" frames (results are identical to Gabest's output). 2003-08-10 Moritz Bunkus * mkvmerge: The aspect ratio setting will only cause upscaling of the current video dimensions which are then put into KaxVideoDisplayWidth and KaxVideoDisplayHeight. * mkvextract: Changed how the global elements are handled by taking the parent's size into account. This re-enables processing of files produced with the latest VirtualDubMod. * mkvmerge: Changed how the Matroska reader handles global elements by taking the parent's size into account. This re-enables processing of files produced with the latest VirtualDubMod. * mkvinfo: Changed how mkvinfo handles global elements by taking the parent's size into account. Hopefully this is now correct. * mkvextract: Support for MultiComment tags. * mkvmerge: Fixed support for reading MultiComment tags from XML tag files. * mkvmerge: Allow some slightly broken Matroska files to be processed correctly if the reference blocks are off by at most 1ms. 2003-08-09 Moritz Bunkus * mkvmerge: MP3: Better support for other MPEG versions and layers (number of samples per packet). * mkvinfo: Added Adler32 calculation and display for frame contents with the -c option. * mkvmerge: RealAudio: "dnet" is actually byte-swapped AC3 and is being treated as such (re-swapped and output as AC3). * mkvmerge: Fixed a bug with chapters and splitting which would crash mkvmerge if no chapter belonged into the output file. 2003-08-06 Moritz Bunkus * Changes for compilation with gcc 2.95. 2003-08-04 Moritz Bunkus * Released v0.6.0. 2003-07-30 Moritz Bunkus * base64tool: Added a tool for Base64 encoding/decoding needed for binary elements in the tags. 2003-07-29 Moritz Bunkus * mkvextract: Support for extracting chapter information. * mkvmerge: Added support for simple chapter files (CHAPTER01=..., CHAPTER01NAME=Hello World etc). 2003-07-26 Moritz Bunkus * mkvmerge: Added support tags based on XML files. * mkvextract: Rewrote the command line syntax. Added extracting attachments and tags as new options. * mkvmerge: Fixed a bug in the SRT reader which would not always handle Unix/DOS style new line cases correctly. 2003-07-23 Moritz Bunkus * mkvmerge: Added support for the "SegmentTitle" (general title of the file written). 2003-07-16 Moritz Bunkus * mkvmerge: Added support for UTF-8 and UTF-16 encoded text files for the SRT and SSA/ASS readers. 2003-07-15 Moritz Bunkus * mkvmerge: The SSA/ASS reader ignored the --sub-charset option and always used the current charset to recode the subtitles. 2003-07-14 Moritz Bunkus * mkvmerge: Added support for attaching files to the output file(s). * mkvinfo: Support for the elements dealing with attachments (KaxAttachments, KaxAttached, KaxFileDescription, KaxFileName, KaxMimeType, KaxFileData). 2003-07-13 Moritz Bunkus * mkvmerge: Changed the RealVideo packaging method: Subpackets are assembled into complete packets so the demuxer does not have to do that anymore. * mkvmerge: DisplayWidth and DisplayHeight, which form the display aspect ratio, are now always written to ease changing them later without having to completely remux the file. 2003-07-08 Moritz Bunkus * mkvmerge: Fixed some infinite-reading-from-a-file bug that occured on Windows when reading SSA/ASS files. * mkvmerge: Fixed a bug which would mostly appear with subtitles that have very long ( > 60s) gaps between entries. Here the cluster would not been rendered properly leaving mkvmerge either comatose ( = endless loop) or just plain dead ( = crashing). 2003-07-07 Moritz Bunkus * mkvinfo: Added support for the rest of the tags: KaxTagMultiComment, KaxTagMultiCommentName, KaxTagMultiCommentComments and KaxTagMultiCommentLanguage. Almost all tags have been successfully tested. 2003-07-06 Moritz Bunkus * Added a RealMedia demuxer that can handle both RealVideo and RealAudio (all codecs). 2003-07-02 Moritz Bunkus * mkvinfo: Added support for allmost all tags (totally untested): KaxTag KaxTagArchivalLocation KaxTagAudioEncryption KaxTagAudioGain KaxTagAudioGenre KaxTagAudioPeak KaxTagAudioSpecific KaxTagBibliography KaxTagBPM KaxTagCaptureDPI KaxTagCaptureLightness KaxTagCapturePaletteSetting KaxTagCaptureSharpness KaxTagChapterUID KaxTagCommercial KaxTagCropped KaxTagDate KaxTagDiscTrack KaxTagEncoder KaxTagEncodeSettings KaxTagEntity KaxTagEqualisation KaxTagFile KaxTagGeneral KaxTagGenres KaxTagIdentifier KaxTagImageSpecific KaxTagInitialKey KaxTagKeywords KaxTagLanguage KaxTagLegal KaxTagMood KaxTagMultiCommercial KaxTagMultiCommercialAddress KaxTagMultiCommercialEmail KaxTagMultiCommercialType KaxTagMultiCommercialURL KaxTagMultiDate KaxTagMultiDateDateBegin KaxTagMultiDateDateEnd KaxTagMultiDateType KaxTagMultiEntity KaxTagMultiEntityAddress KaxTagMultiEntityEmail KaxTagMultiEntityName KaxTagMultiEntityType KaxTagMultiEntityURL KaxTagMultiIdentifier KaxTagMultiIdentifierBinary KaxTagMultiIdentifierString KaxTagMultiIdentifierType KaxTagMultiLegal KaxTagMultiLegalAddress KaxTagMultiLegalType KaxTagMultiLegalURL KaxTagMultiPrice KaxTagMultiPriceAmount KaxTagMultiPriceCurrency KaxTagMultiPricePriceDate KaxTagMultiTitle KaxTagMultiTitleAddress KaxTagMultiTitleEdition KaxTagMultiTitleEmail KaxTagMultiTitleLanguage KaxTagMultiTitleName KaxTagMultiTitleSubTitle KaxTagMultiTitleType KaxTagMultiTitleURL KaxTagOfficialAudioFileURL KaxTagOfficialAudioSourceURL KaxTagOriginalDimensions KaxTagOriginalMediaType KaxTagPlayCounter KaxTagPopularimeter KaxTagProduct KaxTagRating KaxTagRecordLocation KaxTags KaxTagSetPart KaxTagSource KaxTagSourceForm KaxTagSubGenre KaxTagSubject KaxTagTargets KaxTagTitle KaxTagTrackUID KaxTagVideoGenre 2003-06-29 Moritz Bunkus * mkvmerge: Support for handling native video tracks (e.g. B frames) when reading Matroska files. * mkvmerge: Implemented time slice durations , default block duration and block durations for slices where necessary. 2003-06-24 Moritz Bunkus * mkvinfo: Support for KaxSegmentFilename, KaxTitle, KaxSlices, KaxTimeSlice, KaxSliceLaceNumber, KaxSliceFrameNumber, KaxSliceDelay and KaxSliceDuration. 2003-06-22 Moritz Bunkus * Released v0.5.0. * Added 'ReferencePriority' element to the known elements for mkvinfo. * Removed "(mkvinfo) " from mkvinfo's output in order to improve readability and save space. * --sub-charset now also needs a track ID. * Modified the verbosity levels for mkvinfo: The seek head subentries and cue subentries will only be shown at level 2 to make the output easier to read. * The language and default track settings are now kept again if not overridden when reading from Matroska files. 2003-06-21 Moritz Bunkus * Added mkvextract which can extract tracks from a Matroska file into other files. 2003-06-20 Moritz Bunkus * Switched from cygwin to MinGW32 for the Windows binaries. * Fixed a double free() on cleanup (after writing the cues) which resulted in a segfault sometimes. * Added a SSA/ASS reader. 2003-06-19 Moritz Bunkus * Support for reading text subtitles from Matroska files. * Made the AAC reader automatically recognize if a MPEG4 AAC file contains the emphasis header (deprecated) or not (current standard). 2003-06-15 Moritz Bunkus * Released v0.4.4. * Several options now need an explicity track ID to specify which tracks of an input file the option should be applied to. These options include --atracks, --vtracks, --stracks, --sync, --default-track, --cues and --language. * The Matroska reader now handles track selection correctly. 2003-06-13 Moritz Bunkus * Added an option for identifying input files and their track types. 2003-06-12 Moritz Bunkus * Released v0.4.3. 2003-06-11 Moritz Bunkus * Support for proper linking of segments via the segment UIDs. The first and last files created can be manually linked to given UIDs. 2003-06-08 Moritz Bunkus * Added support for splitting output files by size or by time and limiting the number of output files. * Added support for the segment UID/next segment UID/previous segment UID. 2003-06-06 Moritz Bunkus * A lot of changes to comply with libmatroska/libebml 0.4.4. 2003-06-03 Moritz Bunkus * Implemented stricter content based file type identification for MP3 and AC3 files so that those won't be mis-identified. 2003-05-31 Moritz Bunkus * Some improvements to the mkvinfo GUI (thanks to jcsston for the patch/the ideas). 2003-05-29 Moritz Bunkus * Released v0.4.2. * Support for some more tags in both mkvmerge and mkvinfo. * Fixed a segfault in the Matroska reader. * Removed the '--sub-type' switch as all text subtitles will be stored in UTF-8 format. Made iconv mandatory in the configure checks for this very reason. * Added a GUI to mkvinfo. 2003-05-23 Moritz Bunkus * Released v0.4.1. * A lot of changes regarding file I/O. Files bigger than 2GB should now be handled correctly on both Linux and Windows. 2003-05-22 Moritz Bunkus * Added checks for MP4/Quicktime files which will abort mkvmerge. * Support for reading AAC tracks from Matroska files. * Released v0.4.0. 2003-05-21 Moritz Bunkus * Some internal changes and enhancements. Code requires libebml and libmatroska 0.4.3 now. 2003-05-19 Moritz Bunkus * ADTS headers are stripped from the AAC streams. This is what I'd call 'proper AAC support'. 2003-05-18 Moritz Bunkus * Better support for DTS streams in general and for DTS-in-WAV in particular (patch by Peter Niemayer ). 2003-05-17 Moritz Bunkus * Renamed '--no-utf8-subs' to '--sub-type utf8'. Polished the man page regarding subtitle handling. * Fixed a bug with mono MP3 files. * Added support for AAC files (only those with ADTS headers at the moment). 2003-05-15 Moritz Bunkus * Released v0.3.3. * If an error occurs while writing to the destination file the error is reported and mkvmerge aborts with a non-zero exit code. * The OGM reader reported I frames as P frames and vice versa round making seeking not really nice ;) 2003-05-11 Moritz Bunkus * Fixed a bug with the AC3 timecode calculation (patch by Peter Niemayer ). * Support for reading DTS files & putting them into Matroska (main patch by Peter Niemayer , a few things by me). * Released v0.3.2. * Fixed the huge memory need if reading from AVI files (introduced on 2003-05-06 with the internal changes). * Proper handling of the 'default track' flag and the language for the Matroska reader. * Proper handling of the 'default track' flag for all the packetizers. 2003-05-09 Moritz Bunkus * Made mkvtoolnix compile under cygwin. 2003-05-06 Moritz Bunkus * Added support for aspect ratio. * Subtitle charsets can be specified with --sub-charset and do not rely on the current locale anymore. * For the last packet of each track its duration is now stored. * A lot of internal changes - I hope nothing has broken... (See ChangeLog.cvs for details.) * The matroska reader calculated wrong header lengths for Vorbis tracks. 2003-05-04 Moritz Bunkus * mkvinfo reports the FourCC for video tracks with a CodecID of V_MS/VFW/FOURCC and the format tag for audio tracks with a CodecID of A_MS/ACM. 2003-05-03 Moritz Bunkus * Released v0.3.1. * Tracks read from a Matroska file will keep their UID if it hasn't been used yet. * Support for reading text subtitle streams from OGM files. * Added support for EbmlVoid everywhere to mkvinfo. 2003-05-02 Moritz Bunkus * Support for KaxTrackLanguage and ISO639 languages. 2003-04-30 Moritz Bunkus * First public release.