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