xvidenc Changelog

What's new in xvidenc 8.6.0

Sep 30, 2014
  • Use -mc 0 -noskip -msglevel demuxer=-1 to workaround the copy issue of MEncoder.

New in xvidenc 8.5.9 (Apr 22, 2014)

  • Add -nosub option to prevent auto-loading of embedded subs
  • Bugfix: copying audio for subsequent tracks and remuxing to MP4 resulted in the tracks not being added due to missing ffaac param in the case statement

New in xvidenc 8.5.8 (Apr 22, 2014)

  • Bugfix: copying of audio stream was set to pcm. Should be copy
  • Allow relative paths when storing the batchfile

New in xvidenc 8.5.7 (Nov 12, 2013)

  • Allow importing of PGS subtitles into the MKV container
  • Added support for importing a chapters file for MKV/MP4/OGM when input is file
  • Added support for setting the audio language code for MKV/MP4/OGM when input is file
  • Added support for setting the subtitle language code when importing subs into MKV/MP4/OGM

New in xvidenc 8.5.6 (Nov 4, 2013)

  • Placed the $demuxer variable higher. Fixes audio detection for file input
  • Moved some audio selection code into a new set_audio_codec_func() function.
  • Reduces some code duplication and removes the default_audio_codec_func() function

New in xvidenc 8.5.3 (Oct 31, 2013)

  • Added -demuxer lavf for more reliable detection of audio streams in file input mode
  • Implemented virtually infinite support for the amount of audio tracks. This introduces
  • a new variable in the config file, MAX_AMOUNT_AUD_TRACKS, where the user can specify
  • how many audio tracks he/she wants the script to support.
  • Enabled multi-channel support for Opus audio
  • Moved the MKV audio filters metadata after the audio codec/language metadata
  • Fixed copy and pcm audio encoding
  • If user chooses PCM for subsequent audio tracks, don't error out but just skip the track
  • Some minor clean-ups

New in xvidenc 8.5.2 (Oct 29, 2013)

  • Added support for the Opus audio codec. Requires opusenc and a recent version of
  • mkvtoolnix with support for Opus
  • Renamed track_echo_func() to audio_track_echo_func() for consistency
  • Added support for setting the AC-3 Exponent strategy search size
  • Allow applying of an LFE low-pass filter for AC-3 audio
  • Improved aften options passing
  • Updated the man page

New in xvidenc 8.5.0 (Oct 25, 2013)

  • Allow encoding of 640 kbps AC-3 audio
  • Detect and display audio codec info when input is file
  • Added support for setting the Dynamic Range Compression (DRC) profile for AC-3 audio
  • Fixed AC-3 audio encoding by adding -readtoeof 1 which ignores WAV header signaling
  • Renamed aften $AC3 var to $AC3ENC
  • Use AC-3 instead of AC3 in metadata info

New in xvidenc 8.4.9 (Sep 3, 2013)

  • Fix audio TID for MKV when using neroAacEnc as encoder

New in xvidenc 8.4.6 (May 23, 2013)

  • Bugfix: add missing 384 kbps option for AC3 audio
  • Notify the user when we first create the config file
  • SAR is Sample Aspect Ratio, not Storage Aspect Ratio. Corrected this mistake

New in xvidenc 8.4.4 (Sep 28, 2012)

  • Don't append '- chapter [id]' to output filename when user encodes only specific DVD chapters
  • Change bad default bitrate value in DTS audio encoding to 384kbps.

New in xvidenc 8.4.2 (Mar 29, 2011)

  • Added support for setting the crop rounding value

New in xvidenc 8.4.1 (Mar 8, 2011)

  • 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

New in xvidenc 8.4.0 (Jan 31, 2011)

  • 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

New in xvidenc 8.3.9 (Nov 26, 2010)

  • Remove double $HOME variable in the -scan option

New in xvidenc 8.3.8 (Oct 29, 2010)

  • 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

New in xvidenc 8.3.7 (Sep 22, 2010)

  • Workaround mencoder stupidity. With recent versions of mencoder that have subsenabled 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 subwill always get hardcoded due to missing -nosub option in the 2nd 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

New in xvidenc 8.3.6 (Aug 7, 2010)

  • Add -nosub to prevent auto-loading of subs

New in xvidenc 8.3.5 (May 21, 2010)

  • Small bugfix in the get_devices_func() function; script exits when user hits enter
  • to accept default device
  • Updated the man page

New in xvidenc 8.3.3 (Mar 12, 2010)

  • Small bugfix: the $interlacing variable wasn't passed on to mencoder
  • Space escaped some previously missed variables

New in xvidenc 8.1.7 (Jul 3, 2009)

  • 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

New in xvidenc 8.1.4 (Jun 19, 2009)

  • 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/.xvidenc/job
  • 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

New in xvidenc 8.0.3 (Jan 23, 2009)

  • 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 xvidenc 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

New in xvidenc 8.0.2 (Jan 15, 2009)

  • 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

New in xvidenc 8.0.0 (Dec 5, 2008)

  • 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, xvidenc 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!

New in xvidenc 7.9.7 (Nov 25, 2008)

  • 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, xvidenc's refactored MeGUI formula and the old xvidenc/ripdvd formula

New in xvidenc 7.9.6 (Nov 24, 2008)

  • 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.xvidenc file