2011-03-29 - divxenc 1.6.4
	* Added support for setting the crop rounding value
	
2011-03-07 - divxenc 1.6.3
	* Fixed a bug in directory batch mode were wrong conditional was used to check
	  for the DEFOUTPUT variable
	* Display which file is currently being processed in batch mode
	* Check only for files while in batch mode
	* Fixed the video_deblock_func() function. Wrong vars used for some of the filters
	
2011-01-31 - divxenc 1.6.2
	* Use -demuxer lavf when trying to get the video length for bitrate calculation
	  for a target file size. Should be more reliable on M2TS/TS files
	* Added support for the delogo filter and bumped config file version to 16
	* Updated copyright dates
	
2010-11-26 - divxenc 1.6.1
	* Remove double $HOME variable in the -scan option
	
2010-10-29- divxenc 1.6.0
	* Added support for setting subtitle codepage during hardcoding of external subs
	* Added support for the audio equalizer filter. This updates the config file version
	  to 15
	* Removed 'time' requirement
	* Fixed a bug: removed a double semicolon in the hq preset which causes mencoder to exit
	
2010-09-22 - divxenc 1.5.9
	* Workaround mencoder stupidity. With recent versions of mencoder that have subs
	  enabled by default (who came up with that great idea?), in case the user selects
	  to dump a sub for importing into mkv/mp4, during multipass encoding the first sub
	  will always get hardcoded due to missing -nosub option in the 2nd and 3rd pass code.
	  This is only valid for multipass encodes so people using one pass modes (-1p or -fq)
	  are safe.
	* Small update to the -scan option. Just check if input file is there, regardless if
	  user provides the full path or not
	  
2010-08-07 - divxenc 1.5.8
	* Add -nosub to prevent auto-loading of subs
	
2010-06-26 - divxenc 1.5.7
	* Bugfix for the ps3 preset: autoapsect -> autoaspect. Reported by Thomas Troeger
	
2010-05-15 - divxenc 1.5.6
	* Small bugfix in the get_devices_func() function; script exits when user hits enter
	  to accept default device
	* Updated the man page
	
2010-05-05 - divxenc 1.5.5
	* Reworked a bit the audio channels decode/output function. This function also got
	  renamed from audio_channels_func() to audio_channels_decode_func()
	* Added support for the audio channels filter which can be used to add/remove/route channels
	  This updates the config file to version 14 and adds variable ALLOW_AUD_CHANNELS
	* Some various small improvements
	
2010-03-12 - divxenc 1.5.4
	* Small bugfix: the $ildctme interlace variable wasn't passed on to mencoder
	* Space escaped some previously missed variables
	
2010-02-27 - divxenc 1.5.3
	* Small bugfix: wrong variable used when exporting from the send_email_func() function
	  to the batchfile
	* Added new variable DEFOUTPUT to the config where user can set a default output directory.
	  This updates the config version to 13
	* Updated the set_output_filename_func() function to support the above change
	* Use one variable in the presets (divxparams) for all MEncoder MPEG4 encoding options.
	  Reduces some code and simplifies things a bit
	* Updated the preset.cfg file to support the "one variable for all MPEG4 encoder opts"
	  Note: those using custom preset files for encoding should read the preset.cfg file
	  in the doc dir and adapt their existing preset files to be compatible with the
	  changes. Previous older custom presets written by users will not work with this and
	  future versions of divxenc!
	
2010-02-02 - divxenc 1.5.2
	* Reduced duplication in the audio encode exporting code by moving it inside functions
	* Reduced duplication in the MKV/MP4/OGM exporting code by moving it inside functions
	* Reduced duplication in the code that prints some information before encoding starts
	* Various minor code improvements
	
2010-01-21 - divxenc 1.5.1
	* Renamed the rmconf() function to rmtemp() 
	* Moved creation of temp dir, the interrupt_func() and rmtemp() functions at the beginning
	  of the script
	* Fixed a bug in the DVD part of the -scan option where lsdvd doesn't get a valid device
	  passed. Bug was introduced due to changes in the new get_devices_func() function
	* Reduced some duplication in the mencoder_opts() function
	* Various small code improvements
	* Updated the README.divxenc file
	
2010-01-19 - divxenc 1.5.0
	* Added two new variables, DVD_DEVICE and CDROM_DEVICE, to the config file where user can
	  set his preferred dvd/cd block device. This updates the config file to version 12
	* Merged the get_dvd_devices_func() and get_vcd_devices_func() functions into a new one
	  called get_devices_func()
	* Removed the -a52drc option for AC3 encoding
	
2009-12-28 - divxenc 1.4.9
	* Changed all video ALLOW_* variables in the config file to ALLOW_VID_*
	* When using dd to dump a DVD to an ISO, use options noerror,sync and a bs size of 2048
	* Added support for sending mails. This requires the 'mailx' program and a valid .mailrc
	  file in the home directory. Mail notification can be enabled in the config file of
	  divxenc which also offers an example of a gmail setting for .mailrc
	* Added support for loading custom preset files. Have a look at the preset.cfg file in
	  the doc directory on how to write such files
	* Added support for setting a custom temp dir in the config file
	* Small update to the mkvtags_func() function
	* Bumped config file version to 11
	* Updated copyright dates
	* Updated the man page
	
2009-11-17 - divxenc 1.4.8
	* Implemented a simple telecine detector for NTSC DVDs. Currently it's a dumb solution
	  which can't distinguish between hard telecine and interlacing but it's enough to
	  detect soft telecine and mixed progressive/telecine content which is more common
	* Simplified the FPS detection code
	* Sed a comma at the end of resolution detection in case we're dealing with TS files. The
	  default TS demuxer in MPlayer has a comma at the end of the resolution info which results
	  in errorneous behavior in the bc calculation
	* Simplified the resolution detection code
	* Small general code improvements and cosmetics
	
2009-10-24 - divxenc 1.4.7
	* Added new function video_subtitles_align_func() for subtitle alignment control
	* Simplified a bit the audio exporting code for the first track
	* Force stereo audio for Nero HE-AACv2 as it doesn't support anything else, thus
	  it results in failure if user tries to encode with more than two channels. This
	  updates the audio_channels_func() function and also adds a small new independent
	  one called neroaac_hev2_func() which only sets the channels to two if the channels
	  array variables are empty, as is the case when the user did not set the channels
	* Small improvements to the ABR/VBR default audio bitrates for the neroAacEnc encoder.
	  Base the default bitrates on the chosen AAC profile, i.e. if user chooses HE-AACv1,
	  default bitrate will be 55 kbps or in case of quality-based VBR encoding a value of
	  0.22. For LC-AAC and HE-AACv2, default bitrates and quality values will be 96 kbps
	  or 0.35 and 25 kbps or 0.11, respectively. Note that this assumes the input audio is
	  stereo so if it's anything else than that, it's up to the user to decide on bitrates
	  or quality values
	* Set default to a capital letter in questions where one needs to answer with y or n
	
2009-09-29 - divxenc 1.4.6
	* Insert the ilpack filter before the scaler to correctly align chroma when
	  preserving interlacing
	* Added AUDIO_CODEC_TRACK[1|2|3], AUDIO_LANGUAGE_TRACK[1|2|3], MKVMERGE_VERSION
	  and DIVXENC_PARAMETERS entries to the mkvtags_func() function
	* Improved checking the availability of block devices
	* Add detection of VFR content (1000 fps as reported by MPlayer)
	
2009-09-19 - divxenc 1.4.5
	* Added VIDEO_FILTERS, AUDIO_FILTERS_TRACK[1|2|3], ENCODER and LAVC_PARAMETERS
	  entries to the mkvtags_func() function
	* MP3 (MPEG1 Layer 3) only supports sample frequencies of 32, 44.1 and 48 kHz
	  so restrict to those only in the audio_resample_func() function
	* Set default for the pp7 deblocker to 3
	* Fixed example typo in the DVD chapters code
	  
2009-09-16 - divxenc 1.4.4
	* Small improvement to how the MKV XML tagging file gets exported. Also improved
	  the XML formatting and added COMMENT string with text "Tagged by divxenc $version"
	  and added SOURCE entry
	* Added comment tag for MP4 and OGM with the same text as above
	* Small update to the video_deinterlace_func() function's menu
	* Add comment header with dates to batch files
	* Use only lowercase words in all case statements that deal with the input source
	* Placed the -passlogfile option inside the PASSLOG variable
	* Added support for 2-pass Nero AAC audio encoding. Note that 2-pass is only
	  supported by ABR/CBR encoding and ensures that the output quality is constant
	  (like VBR) while also ensuring that a specified output bitrate is achieved
	  (like CBR)
	* Small bugfix: the counter in set_output_filename_func() didn't increase itself
	* Replaced variable $source with $type and $vtype with $source
	
2009-09-05 - divxenc 1.4.3
	* Added support for the noise video filter. This change updates the config file to
	  version 10. Also, encoding priority now defaults to a nice value of 10 in the
	  config file
	* Moved out the code which checks and backups/renames a file if it has the same
	  name as the output provided by the user to a separate function called
	  backup_file_func() and also improved it so that if there's already an existing
	  backup file, the new one will increase its count number by one thus there's no
	  more overwriting being done anymore. The same thing applies to existing chapter
	  files and DVD subs
	* Small improvements to how chapters information is added to the output file name
	* Improved detection of DVD audio language codes. We now specifically grep for the
	  language word and then print the 2nd positional which gives us the language code.
	  It works more reliably if the DVD does not report its language code for the audio track(s)
	  so if this is the case, we fall back to undefined language. The previous code fails in
	  such cases due to the printing of the 8th positional which will print the "aid:" part when
	  there's no language code after the "language:" word, resulting in MKV/MP4 muxing failures.
	* Turn soft-clipping on in the volume audio filter
	* Simplified the audio_channels_func() function a bit
	* Moved the MP4 code that deals with DVD subs/cover files/metadata info/chapters and external
	  subs before its audio code
	* Fixed chapters import for the OGM container. Missing '@' before the chapters input file
	  results in the file not being imported
	* Added support for audio language metadata info for the OGM container
	* Added support for Year and Genre metadata tagging for the MKV/MP4/OGM containers.
	  For MKV, the genre and year is set globally using an automatically generated XML
	  file. MP4 uses the iTunes tagging and OGM the comment space
	* Updated the man page
	
2009-08-13 - divxenc 1.4.2
	* Removed pointless for loop and if conditional in the audio_filters_var_func() function
	* Simplified the audio_filters_func() function
	* Added support for the audio panning filter. This change updates the config file to version 9
	* Moved the audio filters functions after the audio codecs ones
	* Reduced the number of if conditional iterations for setting the scaler interlace variable
	* Replaced variable CONFIGDIR with TEMPDIR
	* Fixed some spacings issues by moving around some echo's
	* Print full path of the output file(s) at the end of encoding
	* Simplified the sample encoding code. Reduced some code duplication
	* Removed duplicate videofilters variable. This removes the check for the tfields filter
	  as now deinterlacing will always be done after cropping (which also speeds up things a bit)
	  so the crop filter will never complain about crop area being outside of the original if
	  tfields is used. It also reduces filters maintenance a bit
	
2009-08-04 - divxenc 1.4.1
	* Add example on how to encode only specific DVD chapters
	* Call the track_echo_func() function inside the select_audio_codec_func() one. Removes
	  pointless duplication
	* Don't call mplayer twice in the 2nd/3rd audio track code just to get the audio codec.
	  Also removed a pointless case statement

2009-07-24 - divxenc 1.4.0
	* Minor improvments to the set_output_filename_func() function
	* Added support for the new gradfun debanding video filter. Although mostly recommended for playback
	  due to the fact that encoding tends to bring back banding, it can be useful to deband input
	  sources which show pretty bad and very noticable banding effects before passing the content
	  to the encoder. The gradfun filter is only available in MPlayer SVN. This also adds a new
	  variable ALLOW_DEBAND to the config file where one can enable or disable this filter
	* Added a small while loop to the video_crop_func() function which will keep asking the user for
	  new crop values until he's satisfied with them. Patch by elektronaut from Doom9.org
	* Added a new variable PRIORITY to the config file which can be used to set a global priority
	  nice value for the encoding process. The values one can use are between (and including)
	  -20 and 19. However, if the script detects that the variable has a negative nice value
	  set and the script is being executed with regular user privileges, it will print a notice
	  and exit. This change updates the config file to version 8
	* Fixed a bug in the audio functions calling code of the iPod preset

2009-07-08 - divxenc 1.3.9
	* Added detection for E-AC3 audio for stream copy and updated the MKV muxing code to support it
	* Added new option -spr which calculates the Storage and Pixel Aspect Ratios (SAR/PAR) for various
	  resolutions
	* Display the amount of chapters each DVD title has when scanning for titles
	* Display total pixels, SAR and PAR when scanning a file/vcd with the -scan option
	* Added --no-chapters mkvmerge option for audio files encoded by neroAacEnc so that chapters
	  won't be copied over to the MKVs from these files
	* Small update to the install script
	* Updated the man page. Fix some small cosmetic issues, patch by Alessio Treglia
	
2009-07-03 - divxenc 1.3.8
	* Fallback to undefined audio language in the AUDLANG[$i] variables if we detect unknown language
	  from MPlayer's output
	* Added support for bitrate-based ABR Vorbis encoding in addition to quality-based VBR. ABR mode
	  in Vorbis resembles quality-based VBR except the encoder averages a given nominal bitrate
	* Updated the Vorbis part of the video bitrate calculation code
	* Added new function ratio_and_pixels_func() which calculates and displays the Storage Aspect Ratio (SAR),
	  Pixel Aspect Ratio (PAR) and total pixels from resolution
	* Bugfix for track 1 in the internal audio encoding code. If using aacplusenc to encode audio, the case
	  statement had a wrong selection value (aac instead of aac+) resulting in displaying a failed message
	  and forcing an exit even though the encoding may have succeeded
	* Simplifications to the internal audio encoding code which reduce code duplication
	  
2009-06-30 - divxenc 1.3.7
	* Converted most of the variables in the video_subtitles_func() function to arrays.
	  Moderately reduces some code duplication
	* Use array variables ${SUBFILE[2]} and ${SUBFILE[3]} instead of ${OUTPUT%.*}_sub2 and
	  ${OUTPUT%.*}_sub3 when dumping the second/third DVD subtitle
	* Simplified the MKV cover art importing code
	* Major audio code restructuring and partial rewrite. Converted virtually all audio
	  variables to array variables. This reduces a lot of code duplication and makes the
	  audio code much easier and extensible
	* Added support for a third DVD audio track
	* Added support for per track audio codec for DVD encodings
	* Use external flac encoder to encode to FLAC audio as doing it through mencoder is terribly
	  broken. This updates the config file to version 7 and adds the 'flac' encoder as dependency
	* Use only one named pipe when encoding audio tracks to neroAAC/AAC+/Vorbis/FLAC
	* Updated and optimized the containers muxing code to support the above audio changes
	* Updated the bitrate calculation code for target size to support the above audio changes
	* Disallow autocropping, if enabled in the config file, for directory batch encodings
	* Disallow automatic detection of audio sample rate for directory batch encodings
	* Added support for MP4 hinting for RTP/RTSP sessions
	* Updated the man page
	  
2009-06-19 - divxenc 1.3.6
	* Simplifications to the MKV tagging code which reduces some code duplication
	* Bugfix: FAAC acodec2 variable has wrong mpeg value. Must be mpeg=4 instead of mpeg4.
	  This results in failure in encoding of the second audio track when one selects
	  FAAC as encoder
	* Bugfix: FLAC audio was ignored for the second track due to missing value in the selection
	  of the case statement
	* Added support for tagging of MKV files when doing a directory batch encoding
	* Replaced the IMPSUB1, IMPSUB2 and IMPSUB3 variables, used to import subs when input type
	  is file/directory/vcd, by array variables EXTSUB[1], EXTSUB[2] and EXTSUB[3]. This allows
	  for less code duplication as these array variables are shared by all input types (including DVD)
	  and thus we only need to do a small loop and add their values if not empty to the
	  MKVSUBS, MP4SUBS and OGMSUBS variables
	* Use as temp directory $HOME/.divxenc/job<PID>
	* Added new function audio_stream_copy_func() which will print a warning that audio stream copy
	  in directory batch encoding mode is not recommended unless the user is certain that the files
	  have a supported audio codec by the MKV/MP4/OGM containers
	* Group audio filters under a submenu similar to how the video filters are grouped
	* Some small cleanups
	  
2009-06-18 - divxenc 1.3.5
	* Added support for per track audio bitrate for DVD encodings
	* Added support for per track audio normalization and volume adjustments for DVD encodings.
	  Updated functions audio_volnorm_func() and audio_volume_func()
	* Added support for per track audio resampling for DVD encodings. Updated functions
	  audio_resample_filters_func() and audio_resample_func()
	* Updated the video bitrate calculation code to support the above audio changes
	* Added support for per track AAC profile settings (LC/HE/HEv2) when using the
	  neroAacEnc audio encoder
	* Small modifications to the MKV/MP4 tagging and muxing code to support the
	  per track neroAacEnc AAC profiles. This also includes optimizations to the way
	  the tagging code handles different AAC profiles. If LC profile is chosen, audio will
	  be tagged as LC-AAC (along with channels info). For HE and HEv2, audio will be tagged
	  as HE-AACv1 and HE-AACv2 (along with channels info) respectively
	* Moved the MKV tagging code inside the MKV muxing code
	* Converted the EXTSUB1, EXTSUB2 and EXTSUB3 variables, used to import external DVD subs,
	  to arrays so we can easily check different files for their file extensions
	* Only allow SRT subs as import into OGM. If another subs format is provided, the
	  subs will be skipped. For MP4, do not allow ASS/SSA subs since it's not supported yet
	  by MP4Box. For MKV, do not allow SUP and TTXT subs
	  
2009-06-15 - divxenc 1.3.4
	* Update to the video_subtitles_func() function: for DVD encodings, added support
	  for importing up to three external subtitles into MKV/MP4/OGM. Also added
	  support for hardcoding an external subtitle into the movie
	* Updated the MKV/MP4/OGM muxing code to support imports of external subtitles
	* If dumping of the second and/or third DVD subtitle fails and user has selected to
	  import the subs into MKV/MP4, force an exit since container conversion will fail as
	  the muxing programs will complain about the missing subs. If no container conversion
	  is chosen or user has chosen not to import the subs and dumping of subs fails, just
	  continue since there's nothing critical in this case
	* Use mplayer -really-quiet option instead of redirection to /dev/null when dumping
	  audio to a named pipe for neroAAC/Vorbis/AAC+ encoding
	* Some small updates to the man page

2009-06-12 - divxenc 1.3.3
	* Replaced the --noaudio mkvmerge option with -A due to recent options changes
	  in mkvmerge version 2.9.5. -A also works for older versions so nothing breaks here
	* Removed the check_outfile_func() function as its code has been added to the
	  set_output_filename_func() function, which also has been improved
	* Added support for FLAC audio in MKV
	* Removed some code duplication in the MKV metadata tagging code
	
2009-06-09 - divxenc 1.3.2
	* Added support for adding jpeg/png cover art files to MKV/MP4
	* Added audio language meta-info for MP4 files
	* Added iTunes video title name for MP4 files
	* Improved audio language meta-info for MKV files. This also adds metadata
	  info for the second audio track
	* Fixed a small bug: the --aac-is-sbr mkvmerge parameter should be set to 0:1
	  for the second audio track when using aacplusenc as encoder
	  
2009-05-30 - divxenc 1.3.1
	* Use the same name for the log file as the output file name
	* Force using the libmpeg2 decoder when encoding DVDs/VCDs (works slightly better in specific
	  cases compared to ffmpeg2)
	* Added support for IVTC 59.940 -> 23.976 fps

2009-05-12 - divxenc 1.3.0
	* Added deinterlace combinations of Yadif + linear blend, linear interpolation, cubic
	  interpolation, median deint, ffmpeg deint and lowpass 5
	* Cosmetics to the help menu
	* Added global audio function audio_filters_func() for calling the resample, volume
	  normalizing and volume filters
	* Added 15 new variables to the config file for enabling/disabling of specific audio/video
	  filters and containers: ALLOW_FPS_CONVERSION, ALLOW_SCALER_TUNING, ALLOW_DSIZE,
	  ALLOW_EXPAND, ALLOW_COLORSPACE, ALLOW_ASPECT, ALLOW_AUD_RESAMPLE, ALLOW_AUD_NORMALIZE,
	  ALLOW_AUD_VOLUME, ALLOW_MKV_MUXING, ALLOW_MP4_MUXING, ALLOW_OGM_MUXING, ALLOW_SAMPLE_ENCODING,
	  ALLOW_SCAN_MULTIPLE_VIDSTREAMS and ALLOW_SCAN_MULTIPLE_AUDSTREAMS, the last two are only effective
	  on file encodings
	* Updated the man page

2009-05-07 - divxenc 1.2.9
	* Automatically add the shebang line to batch files and make them executable
	* Added Apple iPod preset (request from Rogério Brito from the LAME team)
	* Added MP3 presets and updated target file size code to support them (requested by Rogério Brito)
	* Updated the audio code and aac/neroaac functions to support the iPod audio restrictions
	* Added -ipod parameter to MP4Box when using the iPod preset
	* Added new variable ALLOW_AUTOCROP to the config file which allows the user to enable or
	  disable automatic cropping
	* Use Uneven Multi-Hexagon motion search (UMH) for the HW, PS3 and iPod presets and remove v4mv
	* Updated the man page

2009-04-29 - divxenc 1.2.8
	* Optimize some variables by replacing piping to sed with VARIABLE1="${VARIABLE2%.*}.ext"
	* Add -loop 1 mplayer option to the config file's MPLAYEROPTS variable
	* Add support for enabling/disabling specific pre/postprocessing filters in the config file.
	  This adds 7 new variables to the config file where the user can either enable to ask
	  questions about a specific filter or disable a specific variable, thus skipping
	  questions about the filter
	* Moved the video filters code to a new function called video_filters_func(). This also
	  reduces a bit of code duplication
	* Add a new option -e which allows the user to edit the config file directly from within the
	  terminal. This adds a new variable EDITOR to the config file where the user can set his
	  preferred text editor (defaults to nano)
	* Add video title meta-data for MKV and OGM when doing directory batch encodings
	* Silence possible dvdxchap warnings
	* Updated the man page

2009-04-26 - divxenc 1.2.7
	* Bugfix: missing 's' in the sed expression of the MP4OUT variable. This results in
	  missing output file and will fail when one tries to remux to mp4

2009-04-25 - divxenc 1.2.6
	* Rewrote and simplified the video_denoise_func() function. Merged the presets with
	  the denoise filters
	* Added a new mplayer variable to the config file called MPLAYEROPTS where the user
	  can set custom mplayer options. The default value in this variable is '-noconfig all'
	  which disables reading of the mplayer config file
	* Moved out the VCD device scanning code to a function -> get_vcd_devices_func()
	* Updated the -scan option to support VCD scanning
	* Revert back to the old crop detection method for DVDs as it was more precise in some
	  cases than the currently used one. This forces the video codec during crop detection to
	  mpeg12 instead of ffmpeg2 as the -sstep option doesn't play nice with ffmpeg2
	* Optimize output file naming for file/vcd encodings. Based on a patch by Jouni Suorsa
	* Proper file extension handling for directory batch encodings
	* Added support for the dszie video filter
	* Add audio meta-data info for the MKV container when using aac, mp3, ac3 or vorbis audio
	* Dump the first subtitle during the first pass of a multipass encoding to avoid
	  possible delay problems
	* Added support for VBR audio encoding when using FAAC or neroAacEnc as encoder. This
	  automatically disables target file size calculation until I find out how to map
	  quality values to bitrates for these codecs
	* Small cleanups

2009-01-22 - divxenc 1.2.5
	* Add title/movie name to MKV and OGM as meta-info. The title is taken from the
	  output name provided by the user. For directory encodings, this will be skipped
	* Add audio codec and audio language meta-info to MKV when encoding DVDs and copying
	  the audio track(s)
	* Added support for the expand video filter
	* Slightly improved info when the script is called without any parameters
	* Implemented denoising presets for the 'tn' temporal denoiser
	* Merge the mp3, aac, ac3 exporting code with the ffac3 and ffdts one since it's the same
	  for the second audio track
	* Small improvement/fix: when encoding two audio tracks to HE-AAC audio and muxing
	  them into MKV, mkvmerge uses for both tracks the same track ID (1) while divxenc
	  assumes that the second track uses track ID 2 which is wrong so the option
	  --aac-is-sbr 2:1 is incorrect here and should actually be --aac-is-sbr 1:1 for
	  the second audio track

2009-01-14 - divxenc 1.2.4
	* Use 'source' instead of '.' for importing files into the script. Makes it easier
	  for me to read when my eyes are tired
	* Improvements to the audio_resample_func() function. Automatically detect
	  the audio sample rate of the content and display it. Also, moved the resample
	  filters into a function called audio_resample_filters_func(). The reason for this
	  is to be able to compare the detected audio sample rate with the selected one. If
	  the user selects a sample rate which equals the detected one, resampling will be
	  skipped as there is no point in running a resampler if the detected and selected
	  sample rates are equal - mencoder always picks up the sample rate of the content.
	* For directory encodings, offer an option to automatically delete the AVI file after
	  remuxing to the other containers. This can considerably reduce disk space usage,
	  especially when encoding a directory with a lot of files in it.
	* Replaced all 'tail -1' commands with 'tail -n 1' since 'tail -1' is made obsolete as
	  stated by the info page of tail
	* Calculate and display the amount of frames when scanning a video file. Also display
	  seconds in addition to minutes for the runtime
	* Replaced MB and GB with MiB and GiB

2008-12-12 - divxenc 1.2.3
	* Removed signal SIGTSTP from the trap list. The user can now suspend the encoding
	  process with CTRL+Z and continue later on by typing fg in the terminal
	* Added support for the software equalizer video filter (eq2)
	* Don't exit if the user did not add the .avi extension for the output file. Instead
	  automatically add the extension to it
	* Small loop modifications in the video_subtitles_func() function
	* Set default AAC profile when using neroAacEnc to LC instead of HE
	* Added support for VCD/SVCD encodings
	* Small loop modifications to the get_dev_devices_func() function
	* Small modifications to the install script
	* Updated the man page

2008-12-05 - divxenc 1.2.2
	* Improved dealing with LPCM audio on DVDs. If the user has selected to encode
	  a second audio track and that track uses LPCM as audio, the encoding will fail
	  since -oac copy will not be able to copy LPCM in AVI. For this reason, divxenc
	  will check to see if the second audio track is LPCM audio and will use -oac pcm
	  instead of -oac copy
	* DVD channels settings can be now independently controlled for each audio track
	* Added support for AC3 in MP4. This requires latest gpac version 0.4.5 compiled
	  with liba52 support!

2008-12-03 - divxenc 1.2.1
	* Remove support for MP2 and WMA audio
	* Use MEncoder to dump the video when remuxing to MP4 as MP4Box can crap
	  out in certain cases. I'm tired of fixing MP4Box' problems :/ but the
	  alternative (mp4creator) is a piece of crap too and is no longer maintained
	  It doesn't support VobSub subtitles either, nor chapter files AFAIK
	* Added support for providing a custom factor value when using the video bitrate
	  calculation formulas
	* Added initial support for a second audio track for DVD encodings. Below is a list
	  of what currently works and what doesn't:
	      * PCM audio is not supported yet. It's not a priority for me
	      * If you're looking for second audio track in AVI, don't waste your time.
	        I will never support it. Use the MKV/MP4/OGM containers
	      * Audio filters are supported for both tracks
	      * Audio codecs and audio filters apply to both tracks. One can't
	        use, for example, Vorbis audio for first and AAC audio for second
	        track. One also can't set audio bitrate independently for each track
	      * Audio stream copy is supported by the MKV/OGM containers. For the
	        MKV container one can copy AC3 + AC3 or AC3 + DTS audio. For OGM
	        only AC3 + AC3 is supported since it knows nothing about DTS audio.
	        If DTS audio is selected, it will be ignored
	      * I use (very?) dirty tricks to maintain (perfect?) A/V sync when one uses
	        frame altering video filters, like bobbing, interlacing, ivtc/telecine,
	        FPS conversion
	* Updated the video bitrate calculation code to support a second audio track
	* Updated the MKV/MP4/OGM containers code to support a second audio track
	* Better explanation about what the -r option does/is used for
	* Implemented audio_exit_func() function. This function kicks in effect if the
	  audio encoding with an external audio encoder didn't succeed. If this is the
	  case, the function will be called with the appropriate parameters and will force
	  an exit to prevent container conversion. This is because if the audio encoding
	  fails for some reason, container conversion will automatically fail too since
	  the muxing programs will complain about the missing audio file and will exit,
	  thus there is no point in continuing and displaying conversion failing messages
	* Reduced the amount of options displayed when one calls the script without any
	  parameters. From now on it will just display:
	  Usage: divxenc <options>
	  Use 'divxenc -help' for more information
	* Some old comments cleanups
	* Updated the man page

2008-11-30 - divxenc 1.2.0
	* Lots of empty variables and code cleanups
	* Replaced the --help option with -help for consistency with the other options
	* Added support for importing up to three subtitles (VobSub or SRT) into
	  the MKV/MP4 containers when encoding a video file or a directory with
	  files. Also hardcoding a subtitle is now possible for directory encodings
	* Reduced a lot of code duplication in the batch exporting code by using
	  only one variable to carry the output file
	* Optimized the MKV/MP4/OGM muxing code for directory encodings
	* Simplified the MKV/MP4 subtitles importing code. The new code is a bit
	  ugly, but is much smaller and works quite well. It's basically a small loop
	  which tests the subtitle variables for not being empty, and if so, it appends
	  the values to the MKVSUBS/MP4SUBS variables
	* Small bugfix: IVTC/Telecine was still asked if user has selected to do
	  FPS conversion using frame duplication (25 -> 50 fps, 50 -> 100 fps).
	  This is due to wrong variable being tested: $fpsfilter instead of $frc
	* When encoding to neroAAC/AAC+/Vorbis audio and muxing to MKV, take the
	  video directry from the AVI file instead of dumping it to disk. That
	  way we can skip the dumping process and don't have to pass the FPS value
	  of the raw video to mkvmerge since it takes it directly from the AVI. This
	  also makes the code a bit more simple. When also muxing to MP4, MP4Box always
	  dumps the video so we're safe here
	* Added support for detecting the audio codec of the video file/DVD when
	  using audio stream copy. Based on the detected audio codec, decision is made
	  if we allow or disallow muxing to MKV/MP4/OGM
	* Merged the ildct and ilme variables into one variable called ildctme
	* Updated the man page

2008-11-25 - divxenc 1.1.9
	* Bugfix: the vobsubout3 variable was not tested in the MKV/MP4 muxing code.
	  This leads to the third subtitle not being imported into these containers
	* Implemented real batch support for files. As of now, one can encode a bunch
	  of video files in a directory and automatically remux them to MKV/MP4/OGM.
	  The user needs to configure only one of the files in a given directory and
	  all the settings will apply to the other files as well
	* New formulas to calculate the video bitrate for a target filesize. The user
	  can choose between MeGUI's formula, divxenc's refactored MeGUI formula and
	  the old divxenc/ripdvd formula

2008-11-24 - divxenc 1.1.8
	* Added support for the aacplusenc AAC+ audio encoder from Matteo Croce
	* Updated the MP4 & MKV batch exporting and muxing code to support
	  the aacplusenc encoder
	* Rewrote the DVD part of the video_subtitles_func() function. It now
	  supports dumping of three subtitles
	* Updated the MKV/MP4 muxing code to support importing of three subtitles
	* Dramatically simplified the MKV/MP4/OGM batch exporting code. This
	  reduces a lot of code duplication
	* Display elapsed time when encoding samples
	* Bugfix in the video_subtitles_func() function for SRT subtitles. Wrong
	  variable used
	* When encoding samples, make sure to take care of any subtitles that
	  might have been dumped to disk
	* Added support for deinterlacing at half frame rate. Useful for interlaced
	  content that's running at 50 or 59.940 fps (100i/120i)
	* Reduced some code duplication in the set_output_filename_func() function
	  by moving path and extension checking into its own function
	* New formula to calculate the video bitrate for a target filesize. The
	  previous formula, which was directly taken from the ripdvd project,
	  incorrectly calculates the bitrate which often results by missing the
	  target filesize by as much as 30 MB. The new formula also uses floating
	  point precision and has been tested against the calculators of MeGUI and
	  Avidemux
	* Moved the DVD device detection code into its own function to reduce some
	  code duplication
	* Removed neroAacEnc quality-based encoding mode. It is incompatible with
	  video bitrate calculation for a target size and I cannot find any info
	  on quality -> average bitrate mappings.
	* Don't exit if the user provides a floating point value for the Vorbis audio
	  codec. Instead warn and use the default value
	* In some cases it is possible for divxenc to leave its unique temp directory.
	  Find those directories and remove them if they are 15 or more days old
	* Removed support for MPEG-2 AAC and ADPCM audio
	* Updated the source_fps_func() function
	* Removed the noise filter. No real use for it
	* Updated the audio_resample_func() function
	* Updated the check_audio_codec_func() function
	* Updated the genconfig_func() function
	* Updated the man page
	* Updated the README.divxenc file

2008-11-02 - divxenc 1.1.7
	* Improved DVD handling. Now there's a menu where the user can select
	  the input type: ISO image, VIDEO_TS folder or DVD drive
	* Added extra strong denoising preset for the denoise3d & hqdn3d filters
	* Added neroAAC audio support for the MKV container
	* Removed AAC object type complexity menu. AAC (FAAC) is best used in
	  low complexity mode
	* Set the field order of the tfields filter to auto detection
	* Implemented configuration file support. As of this version, divxenc
	  automatically generates a config file in its configuration directory.
	  The config file can be used by the user to modify/set the paths to
	  various programs. This can be useful if the user has multiple
	  executables of the same program(s) but wants to use a specific one
	  for the job. It can also be used to set the correct path to a program
	  if the program in question is not located in a standard location and
	  cannot be found by the system. The configuration file cannot be used
	  to store encoding settings or other parameters! It is only meant for
	  the tools needed for the correct operation of xvidenc. The config
	  file will be generated in /home/user_name/.divxenc/config. The config
	  file has its own versioning system and will be automatically updated
	  in case something changes in future versions of divxenc
	* Added -r option to reset the config file in case the user has made any
	  changes to it and wants to restore the original values of the config file
	* Updated the man page

2008-10-19 - divxenc 1.1.6
	* Small improvement: when using the vorbis audio codec and muxing
	  to the Matroska container, do not extract the video from the AVI
	  since mkvmerge takes the video directly from the AVI and we can
	  skip the extraction step. Extraction is only necessary if the
	  user has also chosen the MP4 container
	* Separated the 'normal' deinterlacers from the frame doubling ones
	* Removed path specification for MEncoder
	* denoise3d & hqdn3d: implemented weak/medium/strong denoising presets
	* Removed quantization parameters for the spp, uspp, fspp and pp7 deblockers
	* Added Vorbis audio support for the OGM container
	* Improved subtitle handling for video file encodings. Now the user
	  can select to hardcode a given subtitle into the movie or import
	  it into the MP4 and/or MKV container. Only two subtitle formats
	  are supported and have been tested: VobSub and SRT
	* Added support for sample encoding and previewing. When encoding samples,
	  one can specify the start position and the duration in seconds for
	  the sample. Sample encoding respects encoding passes meaning if you execute
	  divxenc in two-pass mode and want to encode a sample before the real
	  encoding starts, then the sample will also be encoded in two-pass mode
	  with all the options and filters selected by the user.
	  Sample encoding can further be used to encode only specific parts of a
	  video file or a DVD. In regards to DVDs, sample encoding does not respect
	  selected DVD chapters meaning the given start position for the sample will
	  overwrite the selected DVD chapter(s). This is a mencoder problem and
	  there's nothing I can do about it.
	* Updated the crop preview code. Instead of sleeping for 15 seconds and then
	  killing the PID value of mplayer, use the -endpos option
	* Updated the man page

2008-07-12 - divxenc 1.1.5
	* Added Vorbis audio support for the Matroska container
	* Feature request: add the possibility to disable MEncoder's A/V sync
	  algorithm when encoding video files. This can be used to fix input
	  video files with bad A/V sync in them, however there are no
	  guarantees that this will actually fix the problem
	* Enabled back the use of temporary directories based on process ID
	  to store config files
	* Do not ask for FPS conversion or pullup/pulldown if the user forces an
	  output frame rate
	* Updated the requirements part in the README.divxenc file
	* Small clean ups
	
2008-07-05 - divxenc 1.1.4
	* Bugfix: multi-channel audio was not enabled for the neroAAC codec
	* Bugfix: don't leave config files upon none-zero exit status of MEncoder
	* Feature request: add the possibility to specify the path to MEncoder.
	  Useful if the user has two or more versions of MEncoder but wants to
	  use a specific one for the encoding
	* Changed default unsharp mask / gaussian blur matrix to chroma & luma 5x5
	  as it provides a better balance than the 3x3 matrix
	* Check to see if destination directory is writable by writing a small
	  file to it.
	* Updated the AUTHORS file

2008-07-01 - divxenc 1.1.3
	* Added support for using the neroAacEnc AAC audio encoder with
	  LC, HE and HEv2 profiles
	* Function renaming: aacplus_audio_func() -> neroaac_audio_func()
	* Variable renaming: aacplusbr -> neroaacbr
	* Audio codec renaming: AAC+ -> neroAAC
	
2008-06-24 - divxenc 1.1.2
	* Disabled the use of unique temporary directories to store temporary
	  configuration files. This fixes an MP4Box crash on newer systems
	* Removed reference to the Sonic audio codec in the -sc option as
	  this codec is no longer supported

2008-06-19 - divxenc 1.1.1
	* Added support for inclusion of external subtitles when encoding
	  video files. The external subtitle will be hard coded into the
	  encode
	* Updated the man page

2008-06-16 - divxenc 1.1.0
	* Removed none existant -sv option from the help menu

2008-05-30 - divxenc 1.0.9
	* Fixed wrong explanation for the temporal denoiser
	* Removed support for the Sonic and SonicLS audio codecs
	  since they are experimental and far from complete for
	  daily use
	* Updated the man page
	
2008-05-02 - divxenc 1.0.8
	* Fixed the location of the il=i filter which is used to
	  interleave the content after postprocessing
	* Color enhancements to the -bpp and -bpb options
	* Small menu enhancements to the FPS settings

2008-04-27 - divxenc 1.0.7
	* Clarify that the aspect ratio is the one for input sources
	* Set the field dominance of the frame doubling yadif deinterlacer
	  to auto detection
	* Implemented source_fps_func() function to reduce code duplication.
	  This function automatically detects the FPS of the content and is
	  shared between the deinterlace and interlace functions
	* Added support for applying denoising/deblocking/brightness/contrast on
	  interlaced content. This is done by deinterleaving the content with the il=d
	  filter, applying the denoising/deblocking/brightness/contrast on the deinterleaved
	  content and interleaving it back with the il=i filter. That way we don't break
	  the interlacing
	
2008-04-25 - divxenc 1.0.6
	* Set the field dominance of the yadif deinterlacer to
	  auto-detection. If the decoder doesn't export the field
	  order, it defaults to TFF (top field first)
	* Small menu enhancements to the video_interlace_func() function
	* Fixed a problem where the detected resolution based on the crop values
	  favored the values of the cropdetect filter instead of the user
	  provided values. Reported by blaz from the Doom9 forum
	* Renamed resolution variable 'res' to 'vres'
	* Added support for doing 25 -> 50 fps and 29.970 -> 59.940 fps conversion
	  using simple frame duplication

2008-04-21 - divxenc 1.0.5
	* Updated the filmdint FPS conversion filter. Added dint_thres=256 to
	  not do any deinterlacing while doing the conversion
	* Added one Sony PS3 compatible preset (ps3)
	* Small update to the FPS conversion menu
	* Updated the audio_channels_func() function
	* Updated the --help section
	* Made the display_quality_preset_func() function global instead of
	  per preset based
	* Updated the audio codecs menu
	* Removed delay when exiting from user interrupt
	* Updated the man page

2008-04-15 - divxenc 1.0.4
	* Added support for NTSC Double @ 60 fps
	* Fixed the cropping code. NTSC content was problematic

2008-04-10 - divxenc 1.0.3
	* Replace underscores from DVD title names with spaces
	* EHQ and UHQ preset optimizations

2008-04-08 - divxenc 1.0.2
	* Fixed color output in the target file size calculation
	* Updated the cropping code to support the latest SVN version of MEncoder

2008-04-07 - divxenc 1.0.1
	* Integrated the exit command into the rmconf() function
	* Bug fix for the target file size calcualtion. Variable vbitrate
	  should use the vbitrate options instead of bitrate

2006-03-26 - divxenc 1.0.0
	* Use awk to get the current device when exporting DVD chapters information
	* Bumped version to 1.0.0 as the script is pretty complete and the low versioning
	  doesn't really suite it
	* When encoding specific chapters, append the chapters info at the end of
	  the output file
	* Set the luminance and chrominance coefficient thresholding to -4 and 9 respectively
	* Added normalize adaptive quantization (naq) for the NQ preset since it uses
	  luminance and darkness masking. With naq we can restore the average per-MB quantizer
	* Added support for 3-pass encodings
	* Removed support for MP3 high- and lowpass frequency settings. I'm sure many people
	  don't use these options and accept the defaults
	* Updated the README.divxenc file. Added links for neroAacEnc and Vorbis
	* Updated the man page

2008-03-23 - divxenc 0.0.2
	* Changed qns=3 to qns=2 for the ihq preset
	* Set precmp, cmp and subcmp to RD for the ihq preset
	* Set the fullpel comparison function of the vhq preset to SATD
	* Set the macroblock decision to 2 for the hq preset
	* Small modifications to threads auto-detection
	* -ffourcc DX50 is now hard codec into the mencoder_opts() function.
	  Same goes for the turbo option for the first pass
	* Be silent when doing FPS conversion

2008-03-20 - divxenc 0.0.1
	* Initial public release