# Version 184.108.40.206
Contains fixes for a couple of problems: reading certain DTS files, reading certain AAC files, settings dialog was cropped when the system font size was larger than normal, should not require compatibility mode setting on Vista and Windows 7 anymore. It's partially migrated from C-string functions to STL. This is NOT PROPERLY TESTED, I just want to release it, otherwise I'd never get it out. Maybe you want to test...
# Version 1.17.8
o The CTextFile class is redone. Text files can now be handled in UTF-16 big and little endian (with BOM only), UTF 8 (with BOM only) and the local charset of your windows installation
o Added highlighting for streams that are default and for streams that AVI-Mux GUI cannot put into AVI files (this visual feature can be disabled)
o When creating XML files, now STL is used
o Matroska tags can be used to create several titles for one matroska stream. Note that this is, as far as I know, not yet supported by players or filters.
o The BitStream class is redone. Reading AAC audio is now faster.
o The widht and height of the settings window is increased if the right-bottom-most button is cropped.
o There is now a setting to enable, disable or leave unchanged the cleartype font setting
* fixed bugs
o When opening Matroska files containing Vorbis audio streams, the vorbis audio streams' titles were not imported
o A crash occurred when opening a matroska file containing Tags with no target
o The windows size should not be restored correctly and on the correct screen when restarting AVI-Mux GUI
o The delay setting was printed in the wrong place for A_MS/ACM audio tracks in matroska files
o DTS streams with frames of 2012 bytes got a wrong duration because the PCMSampleCount header field was not used. This made the audio go out of sync
o When the size estimation of a Vorbis audio track failed, a crash occurred
o AC3 and DTS: The LFE channel was ignored. This caused incorrect channel information to be written in headers. This did not affect replay on most players, but I got a report that a Nero AVI file parser interpreted this difference between header and real stream data as a broken file.
o AC3: Due to some rounding that (erroneously) occurred when reading AC3 audio files with 44.1 kHz, such streams were muxed incorrectly.
o Nowadays, there is no long double anymore in Visual Studio. Due to this, when trying to write 80 bit floats into matroska file, a 64 bit float was written instead and padded with 2 zero bytes. This is fixed. IMPORTANT: 80 bit floats are no longer allowed in the matroska specification. 80 bit floats can only be selected when matroska v1/v2 enforcement is disabled.
o the file name in the START command in scripts was converted to UTF-8, then it was interpreted as 8859-1 and again converted to UTF-8, which led to disrupted file names
o a crash occurred when dropping an XML chapter file onto an edition in the chapter editor
# Version 1.17.7
* fixed bugs
o 1.17.6 didn't allow raw video stream extraction due to a missing change after a modification in the GUI
o reading multisegment matroska files was broken in 1.17.6
o Muxing an AVI file had higher CPU load when showing the progress view
o There was a problem in the SSA parser leading to a crash when some attributes simply didn't exist
o A problem introduced with 1.17.6 causes a crash when opening WAV files. This was introduced when adding file highlighting in the source file list
o Video stream names were ignored for AVI files
o MP3 files with garbage at the beginning were never detected as CBR
o Joining NanDub-made AVI files with b0rky AC3 streams didn't work
# Version 1.17.6
o separate output thread when muxing
o highlighting for files in the source file list
o use PgUp/PgDn buttons to move files and streams
o hex viewer for EBML/RIFF tree
o can choose default file name
o deletes files instead of directly overwriting them, hopefully this fixes the problem that some virus scanners b0rked AVI-Mux GUI.
* fixed bugs
o video stream default flag was ignored and always set
o after deleting files from the source file list, adding new files didn't work
o after starting to mux from a matroska source, the ebml tree of that file could not be built anymore (critical section handling bug)
o CLOSEAPP script command didn't work anymore in .5
o when restarting a muxing job, OGG/Vorbis source files were not reinitialized
o when using Vorbis audio sources, the large CodecPrivate wasn't taken into consideration when guessing the required header space. With auto cue size enabled, this could lead to a lockup when trying to finalize a matroska output file
o fixed another bug in the read-ahead mechanism
can set video stream name and language code (only MKV output!)
got rid of separate video stream window
simply use double-click to generate stream sources from one file
more windows, especially the main window, are resizeable
reasonable TAB order in chapter editor
RIFF Tree window now builds the tree in a separate thread and doesn't stall anymore
-stdin parameter when launching the application makes it read a script file from stdin (might b0rk with UTF-8 files!)
deletes files instead of directly overwriting them, hopefully this fixes the problem that some virus scanners b0rked AVI-Mux GUI.
saving a configuration now results in a script file that can restore weird file and stream orders
chapter editor allowed to type a title before defining the first language code for an edition
LOAD command in scripts can now also load files over network folders using servershareblah
very small timecode scales in combination with out-of-temporal-order video frames resulted in a bad file because a 'backstep' by more than -30ku relative to the cluster start wasn't caught
accidently discarded the first cuepoint (does not affect playability of files)
fixed bug that caused a frame to be dropped when the first video cuepoint didn't point somewhere into the first cluster
file size and disk space warnings should now only occur when they are supposed to
AVI overhead estimation for low overhead mode was wrong
AVI-Mux GUI crashed when trying to mux audio and subtitles with no video
cache class is completely rewritten and should work now, so that overlapped unbuffered writing is available now
flaky behaviour of EBML tree should no longer occur when multiple elements are expanded at once
Should no longer hang when trying to launch a muxing job a second time (happened in some cases due to a bug in the cache).
fixed bug that could make the video information window crash
fixed bug which caused a crash when loading large XML files
fixed a memory allocation bug that could crash the chapter editor
fixed bug that caused laced vorbis streams in matroska files to be remuxed incorrectly
fixed splitting MKA files by something else than size
support for header striping (reading and writing) to decrease overhead
chapter editor, video information window and ebml tree are now resizeable
support for SimpleBlocks, see Matroska v2 (reading and writing)
can handle A_AAC codec id (can be used instead of A_AAC/MPEGx/blah[/SBR], should not matter to most users)
segment title is now an unicode edit field
crash when closing multisegment input file
several reasons for the chapter editor to crash
couldn't read matroska files with stuff between clusters
video information window crashed when opening files with lots of chapters lots of times
AAC-in-AVI didn't work properly when a delay was applied
crash on SMI file due to improper file type check
fixed idiotic "lc-acc (he)" display
minor fixes to tab order and gui layout
# Version 1.17.3 (bugfix release)
o fixed: bug in 1.17.2 that caused MKC file creating not to work properly
o fixed: bug in cache causing AVI-Mux GUI to hang in some cases when a muxing process was started a second time (i've been looking for this one for more than a year)
o fixed: minor fixes to user interface
# Version 1.17.2
o added more control over Cues creation for MKV output
o added some more drag&drop to the chapter editor
o creation of random uids now uses Windows' CryptAPI instead of rand()
o added mkvmerge-compatible xml file output
o added hard-linking for matroska output
o fixed: bug in 1.17.1 causing some Non-Cluster Level 1 Matroska elements not to be indexed
o fixed: when splitting matroska files and using ordered editions, the result had weird chaptering
o fixed: muxing WAV to MKV resulted in b0rked files when the format was not handled natively
o fixed: could not launch AVI-Mux GUI from a directory containing non-ASCII characters
o fixed: problem with SSA files with weird usage of whitespaces in the headers
o fixed: added a nonsense dropped frame when joining MKV
# Version 1.17.1
o added mp1 and mp2 muxing to AVI files (only CBR)
o fixed: after muxing an AVI file, opening an AVI file sometimes caused a crash (thanks to Martin Tofall for locating the bug in the source code)
o fixed: "overwritedlg 0" option in scripting got broken in 1.17
o fixed: 1.17 could not read mkv files without cues
o fixed: some save-as dialogs were still calling the old dialog and did thus not work with unicode filenames
o fixed: EBML tree viewer does no longer malfunction with files with undefined segment size
o fixed: 1.17 generated bad stream names from audio files containing non-ascii characters
o fixed: when joining audio-only files, weird chaptering was created. This problem was introduced when adding support for editions
# Version 1.17
o added read support for FFMPEG's Vorbis-in-AVI files
o added some CRC check for matroska files
o added support for Editions (allows to define "playlists" of chapters) and for Medium Linking (no soft-linking yet). See here for more information
o added support for AVI files with JUNK before the headers (reading and writing).
o added support for Unicode file names
o added support for Matroska's PixelCrop - elements. See resolution settings
o When manually changing the AVI frame rate, you can use a format like 30000/1001.
o numbering for multi part files has been changed. See here
o space to be reserved for headers of matroska files at the beginning of the file is configurable now
o opening large Matroska files is faster as parsing Cues is postponed to "when necessary" (calling File Information on very large files with subtitles, but with no Cues for subtitles, will cause Cue parsing!)
o fixed bug causing old style AVI files with rec lists to have bad index entries for rec lists (should not cause playback issues)
o fixed bug causing a bad delay to be applied for MP3 streams with MP3-VBR interleave != 1
o fixed bug in the cache which caused random crashes or b0rked audio/video data when trying to launch a muxing process a 2nd time
o fixed bug which sometimes allowed to select Low Overhead mode even when the Legacy Index was enabled for Open-DML AVI output
o fixed bug causing crash when trying to save a chapter file in XML format to a file that could not be opened for writing
o fixed bug causing matroska files containing no tracks (e.g. chapter-only files) not to be accepted
o fixed bug causing bad CRC32 values to be written sometimes
o fixed bug causing ChapterUIDs/TrackUIDs between 33 and 64 bits not to be handled properly
o fixed bug causing SSA files containing empty lines between 2 Event elements not being read
o fixed bug causing SRT files with lines that contained only spaces not to be read
o fixed bug causing bad delay to be applied to audio streams when reading audio from MKV files
o fixed bug causing OGM files to be mistaken as OGG/Vorbis files
o fixed bug causing file titles being written to AVI files in UTF-8 encoding (MKV uses UTF-8, AVI has to use ASCII)
o fixed bug causing some XML chapter files to be rejected
o fixed bug causing stream titles and language codes not to be read from vorbis-in-mkv sources
1.17 beta version, not really tested, might have weird, funny, or less funny bugs!
* see chapters
* reads vorbis-in-avi created by ffmpeg
# Version 1.16.11
o memory allocation bug could create corrupted low overhead AVI files (oops)
# Version 1.16.10
o added low overhead mode for AVI output
Warning: This mode is compatible with Microsoft's AVI splitter, but not compatible with the integrated AVI splitter in MPC 220.127.116.11
o fixed: couldn't use MKV source files with large gaps in an audio stream
o can mux the video stream of MKV files to an AVI file (MKV-audio is not yet possible)
o can resolve Vorbis laces now (i.e. can rebuild the original timestamp of each Vorbis frame in a laced block)
o element order randomization to track down lazy coders of matroska demuxers
o can read VobSub subtitles from Matroska files (uncompressed and zlib compressed)
o fixed problems with special characters in file names
o added support for multiple chapter strings in the chapter editor
o fixed: wrote bad forward references if the value was larger than 127 (i.e. mpeg1/2 video streams were destroyed)
o fixed: wrote an empty cluster at the beginning of MKA files if a delay larger than the time per cluster was applied
o fixed: bug introduced in 1.16.8 causing bad chapters with file splitting
o fixed: matroska files with neither Cues nor index entries for Clusters in Metaseek were not read (in other words: idiotic files)
o fixed: a random DTS sync header within the 1st 32kB of a file could screw up file type detection. The chance that this happened was less than 1:10000, but it happened :o
can import and export XML chapter files (e.g. for usage in MKVMerge)
added low-overhead-muxing for MP3-VBR streams in AVI files (incompatible to some editting applications! File splitting will be impaired!)
added low-overhead-muxing for DTS (should not impair file splitting)
can write 64 bit floats to matroska files.
can handle file titles for AVI files (like SegmentTitle for MKV)
improved joining to avoid causing a longer video frame at the joining point for MKV source files
fixed: could not read 64/80 bit floats in Matroska files
fixed: could not read Matroska files with more than one Tag per Target
fixed: did not import chapters from MKA files
hopefully fixed: wrote bad CodecID when remuxing Flac/RealAudio-in-MKA (i don't have RealAudio files. Please test)
fixed: Wrote BitDepth value of 0 for unknown BitDepths (oops)
fixed: RIFF Tree hung when parsing files containing empty movi-Lists
fixed: reading of AVI files muxed with VirtualDubMod 18.104.22.168 with rec lists failed.
fixed: could not read streams from matroska files with 2 or more blocks with negative timecode in a sequence
better handling for AVI files with MP3 VBR audio where NanDub (or a similarly b0rked app) tried to set a delay
can join AAC,AC3,DTS files
Extracting AAC from AVI/MKV was broken if the number of channels was >= 4
XIPH lacing failed if the 2nd-last frame in a lace had a size of 255*x bytes (x natural). This only could occur with AAC audio.
couldn't change SBR setting for AAC-in-MKV sources
loading nonfirst parts of linked files written with mkvmerge failed due to a bug introduced in one of the former 1.16.x versions.
temporarily disabled overlapped output. There is something wrong with it
could not read files with empty but existing INFO list
When trying to join MKV files containing Vorbis audio, a wrong CodecID was written
Can extract AAC streams to ADTS-AAC files
Can extract Vorbis streams from Matroska files to OGG/Vorbis
Writes and reads default stream settings from and to AVI files (not supported by M$ AVI reader)
tries to retrieve AVI stream delays in NanDub-like AVI files
writes duration elements for the last block of each stream in matroska files
high bitrate SBR AAC was written incorrectly to AVI.
Warning: Older versions of AVI-Mux GUI will NOT read AVIs with AAC writting by this or later versions!
fixed problem that some MP3 files were not recognised
fixed bug that AVI files containing subtitle streams with long names couldn't be read
fixed bug which could cause an infinite loop at the end when remuxing MKA files
unbuffered read mode available to increase performance
changing the order of subsitles and audio streams works again, and is kept when saving a configuration
added support for MPEG2 Layer3 VBR audio, so that it can be written to AVI files correctly.
bug added in 1.16.3 causing mkv files with many subtitles not to be read anymore
I somewhen broke joining multiple AVI files with MP3 audio to MKV. This has been repaired...
splitting files when muxing subtitles appearently got broken in 1.16.2. Fixed.
could not read the stream name of AAC streams in AVI
EBML-Tree extended a bit more
Added possibility to write hybride AVI files with a small legacy block. Such files won't cause the terrible windows explorer to hang, but the overhead is still as small as for normal Open-DML files. This mode is applied as default, if you did not use AVI-Mux GUI before. Otherwise, set it manually.
partially fixed problems with OGG/Vorbis files using ordered codebooks. Reading still fails if the last codebook of the initialization packet is ordered!
Audio/Subtitle - Tree uses UTF-16: Now stream names like ??????? can be displayed.
When muxing MKV files, the delay was interpreted as microseconds, instead of milliseconds
Some unsigned int EBML elements were not written in the intended order (files were nethertheless completely Matroska compliant)
SRT files containing lines consisting of only one character were not handled correctly
proper progress bar when remuxing MKA files
now refuses to join MKV files with incompatible video properties
EBML-Tree extended a bit
When muxing from AVI to MKV with 1.16 / 1.16.1, references were screwed up. Fortunately, those files did not work anyway...
Should now correctly join MKV files having been created by mkvmerge using 'link files' - setting
saves script files as UTF-8
can auto-save protocol files
did not correctly store non-ansi stream names to script files
more flexible settings for Cues
Timecode scale values can be adjusted
writes CRC32 values
can lace video (hack! Read the output setting page before using that!)
can write audio-only matroska files (*.mka)
Bitrates are written using the new matroska tagging system
fixed some bad behaviour of the stream name and language edit fields
Vorbis audio won't run off sync any longer if you stop and restart muxing
Support for Vorbis audio format. Note that you can currently not mux Vorbis into AVI, but only into MKV
More flexible control over lacing: lacing rules can be defined separately for MP3, AC3, AAC, DTS and Vorbis
After a report that the 4-audio-stream-open-dml-large-index-chunk-M$-AVI-splitter bug also occured with 2 streams, the 'auto' setting of the index interleave pattern for Open-DML files has been changed
Very sparse subtitle streams in matroska source files caused large amount of prebuffering due to bad end-of-stream check
Framerate for video as dwRate/dwScale is written with numbers as small as possible (instead of 10,000,000/400,000). LiteOn players did not like those large numbers.
Version 1.15.5 (bugfix)
When muxing AAC files with a sample rate below 48 kHz into AVI, bad headers have been written
support for AAC file format (ADTS packing required).
Note: The technique used for VBR storage is the same as for MP3. It cannot be guarantied that such files work, especially not on systems not based on DirectShow.
Memory was heavily leaking when muxing from MKV, but not using all streams, or when demuxing a stream from MKV
LOAD command only accepted absolute paths
'split at' was read as 'split after'
muxing DTS to MKV was broken
reading chapter files in ChapterXtractor - format was broken
AVI files haven't been joined correctly when output format was AVI
standard AVI output has been broken in 1.15 due to a bug in the write cache
support for Matroska file format (incl. chapters, variable frame rate,...)
reads language files in UTF-8 format (will NOT work on Windows 9x/ME!)
reads subtitles in UTF-8 format
tries to handle input sources where the 1st frame is a delta frame
can adjust AC3 interleave scheme for AVIs
subtitles are written to AVI now in UTF-8 coding
displayed wrong file size for small input files
does no longer reject subtitle files using only 0x0A for line feed
check for available disc space returned bad values for network drives
fixed wrong display of estimated output file size if it was >> 4 GB
displayed nonsense audio length in protocol if no audio was included
fixed problem that silence files were not used sometimes due to a floating point compare operation
fixed bug in AVI parser which prevented reading from old AVI files with strn chunk
fixed bug in audio delay setting
support for SSA file format
no longer different executeables for different languages
added more warnings when output file might not work in DirectShow due to bugs in there
can build RIFF structure trees now
added MP3 CBR frame mode
cleaned main window
supports naming of audio streams
faster identification of source file format
Dutch language file by Ron Kerkenaar
can extract SRT and SSA subtitles from AVI files
improved accuracy when splitting output file
file size and overhead are now display on byte accuracy
subtitle naming could cause a crash
fixed round-off issue which could cause unusual bitrate values for short streams
fixed endless loop when checking an MP3 file for CBR which is broken at the beginning
fixed crash when trying to access keyframe attribute of (last + 1) - th frame
MP3-VBR @ 44.1 kHz works now
when joining 2 files with MP3 CBR, but different bitrate, the output file didn't get VBR headers
added support for subtitles in SRT format
items can be moved in any listbox (press middle mouse button, or shift+left mouse button)
saving the configuration also saves now loaded files, as well as delays and selections.
open configuration files now as media files
display video information now works in video source listbox as well
2 more workarounds for M$ DirectShow bugs
can now create Open-DML files with more than 3 audio streams, so that they can be replayed by DirectShow
Open-DML files with PCM-audio should now always work correctly
use silence files for padding with silence
files to be loaded can now also be provided via command line
MP3 files with only one channel have not been detected as mono (thanks to Vladimir Savelev for sending the fix)
output had a tendency to be out of sync when setting manual split points and using preload => fixed
when loading an AVI with CBR MP3 headers, the set audio delay setting was not available even when loaded with force MP3 VBR having being activated.
script command DESELECT was broken
"no audio" - option added, allowing to demux video
duplicate first AC3 frame if too many broken data is encountered during the stream to avoid running out of sync
cleaned up main window
added option to set maximum number of output files (will override conflicting settings!)
audio interleave can now be based on kBytes instead of frames
can easily switch off numbering of output files
fixed some memory leaks
protocol shows exact position where the output has been splitted
added M$-Bug-warning for OpenDML with more than 3 audio streams
added all audio - option
detects broken dwTotalFrames value in OpenDML files larger than 1 GB written with DirectShow
dwSuggestedBufferSize - values are "better" now for OpenDML (important for some players)
Scripts for loading of configuration files are possible
fixed flaws in DTS muxing
fixed some crashes
splitting at delta frames did not work, even if explicitely demanded
error message "could not read from audio source" has sometimes been displayed erroneously
can search for the first frame header (AC3 and MP3)
can resync AC3 streams (necessary to reprocess broken files written with NanDub)
can read DTS files
playback requires Intervideo Audio Decoder which accepts DTS input!
There is no support for broken DTS streams, nor for DTS streams which are stored only in the 14 LSBs of each word)
AVI<->AC3/DTS - filter required!
source file type (AVI, MP3, WAV, AC3, DTS) will no longer be identified by file name extension. Now any of these files should be recognised and opened correctly, regardless of the file name extension.
changed interleave pattern for AC3: Now 2 AC3 frames are stored into one chunk.
This is required for some broken SB drivers to work correctly with SPDIF-Out. DTS will take the same interleave pattern.
calculation of free space now scans for files to be overwritten and considers their space available (this is only an estimation and will not work properly if some split points are set manually!)
reports details on broken AC3 streams
"set delay" does no longer appear for MP3-CBR (it cannot work properly anyway. Force it to MP3-VBR if you need to set a delay)
fixed corrupt error message
fixed occurence of nonsense windows overwrite prompt dialog
fixed bug in Mode 2 Form 2 - reader class
If a new file was supposed to be created due to maximum file size setting somewhere between the last keyframe of the source file and its end, AVI-Mux GUI crashed
can now change the dwFlag value in the MainAVIHeader
drag&drop for source files
can force VBR headers for MP3 files
CRC check for Mode 2 Form 2 - files can be set to active as default
can now read WAV files (only checked with PCM, divX and MP3-CBR audio)
added check if there's enough space left on the destination device
can automatically change the FourCC from "DX50" to "divx"
MP3 CBR sometimes hasn't been detected correctly for 44,1 kHz sampling rate
when the audio interleave was set to 0, CPU load was 100% without doing anything
When saving configuration, the audio interleave was not saved
fixed bad MP3-CBR output for Open-DML files
Can now avoid crash if index contains invalid high dwLength values
Division by Zero - error on fast CPUs fixed
allows changing framerate to stop people from using corrupt programs as AVIfrate
can save detailed AVI information to a file now
repairing bad framerate values in the main header, which are caused my AVIfrate, whose author obviously had no idea as to what he's doing.
repairing bad dwDuration values in Open-DML files over 2 GB created with VirtualDub 1.4.10. The bug has been fixed in version 1.4.11.
Crash at the end of the muxing process, if you use an audio stream from an avi source which is slightly shorter than the video stream and which is not stored frame-based.
fixed unpredicable behaviour if the first frame header of an MP3 source was bad.
CRC check possible when reading Mode 2 Form 2 - files. This avoids reading corrupt data
direct extraction of Mode 2 Form 2 - source files possible
added displaying detailed information about an AVI file
When writing multipart AVI, the audio - delay was only applied to the first file.
fixed corrupt dwDuration-Values in the superindex for MP3-VBR streams.
can now open AVIs on CDs in Mode 2 Form 2 format, (without CRC check! E32-block errors will lead to reading corrupt data!)
can now create Open-DML-files containing an additional legacy index
now supports AC3 files
allows setting of an audio delay
fixed bug which displayed wrong overhead size value when writing Open-DML files
fixed bad reading strategy for CD source files in connection with the "avoid unnecessare seek operations" setting. The cache has an TLB now.
you can now move audio streams in their list to change their order
saving and loading of configuration files possible (including split point list, but not file list)
an error message will now be displayed if the output file can't be opened (instead of writing to /dev/null)
an error message will now be displayed if you try to allow files over 4000 MB on a non-NTFS-device
if you used MP3 files shorter than your video file and opened it with avoid unnecessary seek operations, AVI-Mux GUI sometimes crashed at the end of the muxing process
somewhat higher performance by reducing seek operations when reading from the source file
MP3 streams can now be saved to a MP3 file
The list boxes can be emptied without leaving AVI-Mux GUI
Preferences are now saved
made program more fool proof, fixed several crashes cause by wrong handling
switched internal timing from micro- to nanosecons. Might solve the MP3-VBR-44.1-kHz-issue. A first test was successful.
fixed some crashes when closing / clearing the list boxes
Open-DML output available
you can now set specific positions where to start a new output file
some synchronization issues...
Source file can be multipart AVI
fixed an error when calculating the average framerate for CBR audio streams, which caused asynchronous replay when seeking through the movie
if the cbr audio was shorter than the video, the audio was stretched to the length of the video for calculating the average bitrate
sometimes too much audio was stored into one part of a multipart file, which caused the next part to be asynchronous
MP3 files can now be detected as being CBR. This might take some time, for the whole files had to be read.
If a dropped Frame was added to the file just after flushing the write cache to the file, this dropped frame was not stored but the overhead was added to the total file size, which caused an invalid output.
Tons of memory leaks fixed