Projects
Multimedia
h264enc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 360
View file
h264enc.spec
Added
@@ -0,0 +1,1327 @@ +# norootforbuild + +Name: h264enc +Version: 10.2.4 +Release: 1 + +License: GPL-2.0+ +Group: Productivity/Multimedia/Video/Editors and Convertors +Summary: An advanced CLI shell script for MEncoder +URL: http://h264enc.sourceforge.net/ + +Source0: %{name}-%{version}.tar.gz + +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildArch: noarch + +Requires: findutils gpac bc gawk lsdvd nano ogmtools vorbis-tools opus-tools flac aften dcaenc mailx faac MPlayer mkvtoolnix pv + + +%description +h264enc is an advanced and powerful interactive menu-driven shell script written +for the GNU/Linux operating system which can help you to encode a DVD, a video file, +a directory with video files or a (S)VCD to the H.264/MPEG-4 Part 10/AVC video format +using the MEncoder encoder from the MPlayer project and the libx264 library. It supports +muxing the final encode from AVI to MKV, from AVI to OGM, from AVI to TS and from +AVI to the MP4 container. + + +%prep +%setup -q -n %{name}-%{version} + +%build + +%install +%__mkdir -p %{buildroot}/%{_docdir}/%{name}/matrices + +# binary +%__install -D -m 755 %{name} %{buildroot}/%{_bindir}/%{name} + +# man +gzip -9 man/%{name}.1 +%__install -D -m 644 man/%{name}.1.gz %{buildroot}/%{_mandir}/man1/%{name}.1.gz + +# doc +%__install -m 644 doc/* %{buildroot}/%{_docdir}/%{name} +%__install -m 644 matrices/* %{buildroot}/%{_docdir}/%{name}/matrices + + +%clean +rm -rf "%{buildroot}" + + +%files +%defattr(-,root,root) +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1.gz +%{_docdir}/%{name} + + +%changelog +* Mon Sep 15 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.2.4 + * Fix Blu-ray input: -demuxer lavf is used by default for BD input as it provides + extra info for audio detection. The problem is that -demuxer lavf forces + MPlayer to read the whole(!) BD even when -frames 0 or 1 is used as option. + This fix works around the problem by using the -cache option which seems + to make -demuxer lavf behave as it should. Thanks to Andy Furnis on the + MPlayer mailing list for providing the workaround + +* Sun Sep 14 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.2.3 + * Add back checking for aften in the sanity check (-sc) option + * Support disabling of MKV global tags. Bumps up the config file version to 32 + * Use -frames 0 to workaround possible problems when detecting audio bitrates + +* Sun Aug 17 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.2.2 + * Merge the eac3 and truehd part in the case statement as they're identical + * Rename MP3FLOAT as reported by MPlayer to MP3 and EAC3 to E-AC-3 + * Since we now set -nosound when copying a TrueHD track, it is no longer + necessary to modify the text files for encoding, so remove the sed part + +* Fri Aug 15 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.2.1 + * Support copying Dolby TrueHD audio into the MKV container + * When detecting audio, change the TRUEHD reported by MPlayer to Dolby TrueHD + +* Fri Jul 04 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.2.0 + * We currently try to auto-detect resolutions and fps in order to set + the fake interlaced option and color prims/transfers/matrices when + using the Blu-ray/AVCHD presets. The problem is that this auto-detection + cannot be made very reliable and there's a high chance it will misdetect + something. Make it simple instead and ask the user if to set the prims + and/or fake interlaced options + * Tune the Blu-ray/AVCHD high-quality presets for better quality + * Both the aften and lavc encoders for AC-3 audio share the same bitrate + code. Move it out of the encoder functions to a new ac3_bitrate_func() + function to reduce some duplication + * Removed some commented out code + * In addition to reporting file sizes in MiB after encoding finishes, also + report them in GiB + +* Wed Jul 02 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.1.9 + * Add -noskip to where -mc 0 is used + * Document the exit values used by the exit_func() function + * Made the sed syntax consistent + * Currently, we calculate the ratio and pixels in two places. One for + when we don't scale and one for when we scale. Merge the code into + the ratio_and_pixels_func() function to reduce some duplication + * When printing info on files/bd, increase the -channels to 8 + * Tune the higher quality presets and the anime ones by tweaking + the adaptive quants, psy and inloop deblocker for better quality + * Bugfix: in case we skip the audio channels filter when the + provided channels is higher than 6, the array var audchannels + was not reset + +* Tue Jul 01 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.1.8 + * Fix syntax error in the ratio_and_pixels_func() function + +* Mon Jun 30 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.1.7 + * Renamed the variable priority_level to nicelevel + * Be more clear about the language code the user may use by mentioning + that it's used for tagging + * Be more clear on the channels filter by stating it is very basic and + it will create empty channels in case the output channels are higher + than the input ones + * Add a 0 to the counter_func() function + * mkvmerge version 7.0.0 and higher automatically adds statistics tags + to the created file. Offer an option in the config file to disable + this. Updates the config file version to 31 + * Add a note to the skeleton presets.cfg file that one must start the + params with a : (colon) + +* Sun Jun 29 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.1.6 + * Add -mc 0, after some testing, for when encoding to E-AC-3 audio + * A lot of the supported audio codecs do not support more than 6 + channels so limit the channels to a maximum of 6 + * If aften is missing and user has selected it as encoder to use, fall + back to the lavc encoder instead of exiting + +* Wed Jun 25 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.1.5 + * Updated the info on audio codecs supported by containers + * Updated the set_audio_codec_func() function + * Set the default IVTC filter to filmdint + * Accept floating point values for CRF/QP ratecontrol in the config file + +* Tue Jun 24 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.1.4 + * Removed -mc 0 when encoding to E-AC-3 audio. It is not needed after + some tests and A/V sync will be better in some cases + * Use a case statement instead of an if conditional when checking if audio + encoder is fkdaac or dcaenc in order to insert the format filter + * Encode to AAC through MEncoder instead of using faac directly + * Renamed the aac_audio_func() function to faac_audio_func(). Also + renamed the $MENCIN var to $MENCINPUT + +* Mon Jun 23 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.1.3 + * Set the DRC profile for Aften to none + * Allow the volume filter to be used even if the volnorm one is used + * Added support for setting the DRC when using lavc for AC-3 + * Added support for encoding to E-AC-3 audio through lavc + +* Fri Jun 20 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.1.2 + * Fix a possible problem when detecting audio tracks when input is file + or blu-ray. We only grep for the generic word 'audio' which could result + in also printing lines that are not audio tracks but somehow carry the + 'audio' word in their tags. Fix it by using 'awk' before 'grep' to + only print the fourth column where lavf reports what type of track it is + * Set default DTS bitrate to 755 kbps. Also check if we don't exceed the + highest legal bitrate of 1509 kbps + * Due to a bug in the dcaenc encoder, floating-point WAV files get + wrongly interpreted as 32-bit integer ones. Work around this by adding + the format=s16le filter + * The 1536 kbps bitrate reported by MPlayer on some DTS files is technically + 1509 kbps, if we have to be accurate. Account for this by substracting + 27 kbps from the reported bitrate. Do the same for the reported 768 kbps + bitrate which is actually 755 kbps + * Report the kHz in addition to the Hz when displaying audio info for + found tracks + * When remuxing to MKV/MP4/OGM, instead of checking if a file is created + to make a decision if it was successful or not, use return codes from + the remuxing applications. Should be more reliable in telling the user + if it really succeeded or not. Unfortunately tsMuxeR doesn't return + anything so there's no other way than checking if there's an + output file. + * Lowered the scale factor in the calcbits() function from 3 to 2. + Also use | instead of @ as delimiter + * Tune a bit the subq values of the ani & anihq presets. Also turn on + trellis on all decisions (trellis=2) for the anihq preset + +* Thu Jun 19 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.1.1 + * Added support for the internal lavc AC-3 audio encoder. Now one + can choose between the lavc encoder (default) and the aften encoder. + The lavc encoder is set to default as aften has seen very little + development in the past years and is not as good as the lavc one + which is actively developed by the ffmpeg devs + * Fine-tune the volume filter by setting it to 4 after some tests + * Delete the file stored in the $AUDINFO variable + * When storing the MKV global tags while operating in batch mode, + test the variable $DIRTAGS for not being empty + * Cosmetics: add a few echo's at specific places to separate the + cmd lines in the batch file for better readability. Also add + a comment block for the start of the MKV, MP4, TS and/or OGM muxing + * Bugfix in the MKV/MP4 tags: do not add channel info when using MP3. + If we add channel info, it could result in "MP3 5.1" being added + to the audio tags, which is obviously wrong as MP3 only supports + stereo and mono channels + * Opus supports sampling rates from 8 kHz to 48 kHz. Support this + in the resampling code + +* Wed Jun 18 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.1.0 + * When scanning for audio tracks when input is file or blu-ray, + rename DCA (as reported by lavf) to DTS to not confuse the user. + Also rename AC3 to AC-3 for consistency + * In case audio encoder is fdkaac, add to the MKV tags the audio + format used (eg, Signed 16-bit little endian) + * When dumping chapters from files, use the file extension .chaps + for MKV. Also test to see if there's already a chapters file with + the same name and rename it to <filename>.chaps.old + * aac-enc name in the MKV tags is not very descriptive, so add + (fdkaac) to it + * Cosmetics + +* Tue Jun 17 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.9 + * Bugfix: only call audio filters on subsequent tracks when running MPlayer + to decode since for the first track we already pass these filters to + MEncoder, thus if we also use them when running MPlayer we'll get a + double effect + * Add a ^ (caret) at the beginning of grep when trying to get the [lavf] + text to make sure we only grep the correct instances + * Set default CRF/QP value to 19 and for bitrate based encodes to 2000 kbps + * For the volume audio filter, set the default value to 3 as 5 is a bit high + +* Mon Jun 16 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.8 + * New method to detect and display audio info when input is file or blu-ray. + In comparison to the previous basic method, the new one will display + for each found audio track the codec, channels, language, bitrate and + sample rate info. It does take slightly longer to detect in case there + are many audio tracks, but it is more descriptive and accurate + +* Sun Jun 15 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.7 + * Use an if instead of a case when dumping chapters from files + * Also export chapter extraction commands to the batch file + * Display mkvextract availability when using the sanity check option (-sc) + * Add the path and name to the comment block of the batch file. Makes + it easy to focus on the comment block to know for which file the + commands are instead of needing to inspect the code itself to find + out + +* Wed Jun 11 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.6 + * Added support for dumping chapters info from MKV/MP4 input files + This updates the config file version to 30 as mkvextract is needed + * Made the audiofmt variable an array variable + * Moved asking for sample encoding before asking to inspect or save the + options to a file + +* Sat May 24 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.5 + * Fixed the detect_fps_func() function for detecting the NTSC type + * Lowered the spugauss (variance param for gauss subtitle scaling) + from 0.7 to 0.4 as 0.7 does too much blurring in my opinion + +* Thu May 22 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.4 + * Bugfix: $demuxer var was missing in the AUDCH array var which resulted + in incorrect channel info being added to the tags when copying audio. + DVD input was not affected by this bug, but file/dir/bd input was as + they all use the $demuxer var + +* Sat Apr 26 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.3 + * Removed unused $AUDFIFO variable + * Small bugfix: audio language for metadata tagging wasn't added to the global + tags for MKV when input is Blu-ray due to missing 'bd' param in the case + statement + +* Wed Apr 23 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.2 + * Bugfix: in case user chooses audio copy, the metadata info for tagging + always defaulted to "Stereo". Fix this by running MPlayer to detect + the proper amount of channels + +* Tue Apr 22 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.1 + * Bugfix: wrong var used, $chanuse instead of $chandec, for setting + the decode channels + * Only call the video_subtitles_scale_func() function if the user + actually provides an external sub for hardcoding + +* Thu Apr 17 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.0 + * Allow the video_subtitles_align_func() function for mks matroska + subtitles + * Display the warning message in red for when something goes wrong + when importing/hardcoding subs. Do the same for when checking + support for a sub format for MKV/MP4/OGM + * Added support for subtitles for Blu-ray encodings. Note that only + hardcoding of external sub or importing of external subs into the + MKV/MP4/OGM containers is supported + * Removed some duplication by placing the code for hardcoding an + external sub or importing external subs into its own + video_subtitles_option_func() function + * Increased the rc_lookahead value for the ehq, uhq and ihq presets + to 80, 90 and 100, respectively + * When copying audio and using some of the portable device presets, + also add the -mc 0 -msglevel demuxer=-1 options to MEncoder + * More code optimizations and minor fixes + +* Wed Apr 16 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.8 + * Use proper extensions when copying the audio as MP4Box has a + problem with recognizing the .raw extension + * Renamed the named pipe from audio.wav to audio.pipe. Also + placed it in a variable to reduce some minor duplication + * Added support for subtitle scaling for when hardcoding an + external sub or hardcoding an embedded one. Requested by + lib3rty1 from the the Doom9.org forum + * Added --no-chapters option to mkvmerge for when encoding + with neroAacEnc in order not to auto-copy chapters info + from the container + * Instead of defaulting to 0 kbps if we can't detect the audio + bitrate when copying audio and needing to calculate the video + bitrate for a target file size , ask the user to provide it + in case he knows it or can figure it out + * Set the default exponent strategy value for AC-3 to 16 + * Placed frequently used MPlayer options into a single variable, + $MPOPTS, in order not to write them over and over again when + we need them. These options are not used everywhere as + sometimes we need other specific ones when detecting something + * Improved priority level checks for regular users if the PRIORITY + variable is set in the config file + * Bugfix: audio resampling was not possible for Blu-rays due to + missing bd param in the case statement + * Merge the Blu-ray output code with that of the file/vcd as it's + identical + * Some minor code optimizations + +* Tue Apr 15 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.7 + * Allow the channels filter for the portable device presets + * Reorder the audio filters positions + * Placed the $MENCOPTS variable in front in MEncoder in order + for it to not overwrite the options already set + * For AC-3 audio, default to 384 kbps instead of 192 kbps and + default to "Film Standard" as DRC profile + * For MP3 audio, default to 192 kbps instead of 128 kbps when + doing CBR encodes and to "standard" when using a preset + * For NEROAAC and FDKAAC, default to 128 kbps instead of 96 kbps + when using LC-AAC mode + * Better wording in what the Output option does in the + audio_channels_decode_func() function + * Modification to the audio_codec_exit_func() function. Use this + function also to exit in case of an unsupported audio codec. + By using this function, some repeatability is removed + * Fixed a bug in the PCM audio code for the calculation of video + bitrate for a target file size. Variable $AUDIO_BITRATE + should be an array variable instead of a normal one + * Added support for Blu-ray angle encoding + * Reduced some duplication by placing the message into a single + variable when we exit in case an audio encoder is missing + * MEncoder currently has issues with copying audio. Work it + around by using -mc 0 -msglevel demuxer=-1 options which disable + its automatic A/V sync. With this, MEncoder may report 0 or some + large random number on some files for the audio but one can safely + ignore it. Audio is still being copied + * If the user chooses audio copy and selects to remux the encode + to MKV, the global tags did not contain the audio encoder string. + Fix this by adding "Unknown (Stream Copy)" since we don't know + which program was used to encode the audio + * In case we try to copy AAC audio from the input, we need to pass + the correct format to MEncoder or it will error out. Thus, use + -fafmttag 0x706d if we detect AAC + * Fixed a bug where copying AAC audio as as subsequent track + did not result in that track being added when remuxing to MP4 + due to a missing ffaac param in the case statement + * When doing video bitrate calculations for a target file size and + copying the audio, try to better detect the audio bitrate. If we + can't detect it or it's reported as 0 kbps, default to 0 kbps + * Small improvements and cleanups here and there + +* Sun Apr 13 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.6 + * Rewrote the audio_channels_decode_func() function. It is now + possible to output channels different that the decoded + channels amount. Note that this filter is very basic which + means it will output silent channels if the decoded channels + are less than the output channels + * Added chanfilter variable to the aac_hev2_func() function + * Support all supported channels in the PCM bitrate code for + target file size calculation + * Removed channels variable for MEncoder when copying audio + for subsequent tracks as it has no effect + * Display an informative message if the user has set a default + audio codec in the config file. Also check if we support it + or print an error message and exit + * Updated the channels metadata info code due to changes in the + audio_channels_decode_func() function + * Modifications to the audio_filters_func() and audio_filters_var_func() + functions + * Some small code cleanups + +* Sat Apr 12 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.5 + * Improved resolution detection for Blu-rays + * Improved the nlq preset + * Don't call the audio_channels_decode_func when copying the audio as + audio is copied 1:1 thus we don't need to set any channels + * Insert the channels filter in case the user wishes to have 4 or 5 + audio channels when decoding higher or lower amount of channels + * Various small code improvements + +* Sat Apr 12 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.4 + * Cosmetics: add an echo between the total found titles for Blu-ray and + the info about each title + * Cosmetics: remove double-quotes in empty echo's + * Display full seconds value for each found Blu-ray title + * Small code optimization to Blu-ray chapters info. Use a single variable + that holds the title we need to scan for chapters + * Warn and fallback to 8 channels in case user provides more than 8 channels + * Added support for PCM audio for subsequent audio tracks + +* Thu Apr 10 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.3 + * Display the length in seconds and minutes for every found Blu-ray title + * Implemented basic chapters encoding support for Blu-rays + * Rewrote the code for subtitles imports for MKV/MP4/OGM + * For DVDs/BDs, set default channels value to 6 when using other than copy + for audio + +* Wed Apr 09 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.2 + * Allow importing of mks (Matroska stream) subtitles into MKV. Such files + are usually created when dumping subs with the GUI version of mkvmerge + * Add -nosub when importing external subtitles into MKV/MP4/OGM to prevent + auto-loading of any embedded subs in the input file + * Use case statements to check the values of the $MAX_AMOUNT_AUD_TRACKS and + $MAX_AMOUNT_SUBS variables + * Auto-cropping was not possible when input is Blu-ray due to missing bd + param in the case statement + * Set default audio channels decode option to 6 when input is Blu-ray + +* Tue Apr 08 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.1 + * Fixed not being able to calculate video bitrate for target file size + when input is Blu-ray, due to missing $demuxer variable when calling + MPlayer + * Fixed DVD scanning in the -scan option + * Support Blu-ray scanning in the -scan option + * Display in the -sc option if MEncoder has Blu-ray support + * Warn and exit if user chooses Blu-ray as input but MEncoder doesn't support it + * Placed the $device and $vid variables after the $MPLAYEROPTS one in order for + the custom MPlayer options not to possibly overwrite these variables + * Modified the get_devices_func() function to allow files/folders as input + so that a user can scan a DVD ISO or VIDEO_TS directory, not just discs + * Fixed the colorprim code. $device and $vid variables were missing when + calling MPlayer to get the resolution height + +* Mon Apr 07 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.0 + * Initial, basic support for encoding from Blu-ray discs/ISOs/directories. + Requires MPlayer to be compiled with libbluray. As libbluray doesn't + support encrypted Blu-rays, it is not possible to encode such Blu-rays. + Encryption must first be stripped before encoding with h264enc + * Reduced some duplication in the audio code for the first track for MKV + * Adjusted the vbv_maxrate and vbv_bufsize for the bd40 and bdhq40 presets + to comply with the level limits + +* Sat Mar 29 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.7 + * Merged the neroaac/fdkaac part of the MP4Box code as they're identical + * Use a case statement to decide between --bluray and --avchd for tsMuxeR + * A few more function renaming to carry the _func at the end + +* Fri Mar 28 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.6 + * Fix a syntax error + +* Fri Mar 28 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.5 + * Use a single variable for keyint for the Blu-ray/AVCHD presets. Reduces a bit of duplication + * Reduced some duplication in the check_audio_codec_func() function by moving some of + the error messages into a new audio_codec_exit_func() function + * Allow muxing to TS when using neroAacEnc and/or FDKAAC in LC-AAC mode + * Merged the NEROAAC/FDKAAC parts in the mkvmerge code as they're identical, thus we + reduce a bit of duplication + * Updated the man page + +* Mon Mar 24 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.4 + * Add audio encoder info to the MKV global tags + * Renamed the mencoder_opts() function to mencoder_opts_func() for consistency reasons + * Fixed subtitles metadata info in the MKV global tags + +* Sun Mar 23 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.3 + * Bugfix: If using nosound and dumping subsequent subs, the audio option + for MEncoder was set to -ao null which is not recognized by MEncoder. + Change it to -nosound instead + +* Sat Mar 22 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.2 + * Bugfix: for subsequent audio tracks, when using neroAacEnc as encoder, + the value of --aac-is-sbr used for HE-AAC by mkvmerge was set to 1:1. It + should be 0:1 + * Use the AACTYPE variable instead of the aacprof variable to check which + type of AAC the user wants in the neroaac_audio_func() function + * In VBR mode for audio encoders that support it, indicate which values + result in better quality, ie based on the encoder a lower value results + in higher quality or the reverse + +* Fri Mar 21 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.1 + * Set the default crop rounding value to 4 for more accurate cropping + * Initial support for the FDK AAC audio encoder. Requires latest git from + https://github.com/mstorsjo/fdk-aac/commits/read-streamed-wav + +* Thu Feb 13 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.0 + * Bugfix: dumping subs did not work when input is a VIDEO_TS DVD folder. + Patch by Harry Gunnarsson + +* Sun Feb 02 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.7.9 + * Added support for hardcoding embedded subtitles in files + * Use -nosub for hadrcoding an external subtitle to prevent + auto-loading of any embedded subtitles in the input + * Use -ao null instead of -nosound + +* Sat Jan 18 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.7.8 + * New variable in the config file, DELETE_AVI_AFTER_REMUX, to automatically delete + the AVI file after remuxing. This updates the config file version to 27 + * Renamed the 480 and 576 params of the colorprim_func() function to ntsc and pal + +* Fri Jan 03 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.7.7 + * Allow relative paths when storing options to the batchfile + * Updated copyright dates + +* Fri Nov 15 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.6 + * Allow importing of PGS subtitles into the MKV container + * Improved chapters file handling for MKV/MP4/OGM when input is file + +* Fri Nov 08 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.5 + * 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/TS when input is file + * Added support for setting the subtitle language code when importing subs into MKV/MP4/OGM + +* Sat Nov 02 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.4 + * Fixed copying of E-AC-3 audio + * Set default value for 3D frame packing to 3 (side by side) + * Moved some audio selection code into the new set_audio_codec_func() function. + Reduces some code duplication and removes the default_audio_codec_func() function + +* Fri Nov 01 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.3 + * Merged the file and dvd audio detection/selection code + * Merged the audio code for the first and subsequent tracks + * Set a default audio ID based on input (ie, 0 for file and 128 for DVD) + * Use -demuxer lavf for file and dir input + * Small improvements to the subtitles code + * Renamed the -help switch to -h + * Improved the way audio tracks information is presented to the user + * Make destination dir if it doesn't exist for saving to the batchfile + * Updated the man page + +* Thu Oct 31 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.2 + * Fixed exporting of the NERORMAUD variable to the batch file + * Implemented support for virtually an infinite amount of subtitles. This introduces a new + variable, MAX_AMOUNT_SUBS, to the config file where the user can set the amount of subtitles + he/she wants h264enc to support + * Added output name to the message of the mail notification feature + * Fixed the nosound audio option + * Renamed the rmtemp() function to exit_func() + * Return proper exit codes. 0 on success, 1 on error and 2 on user interrupt + +* Wed Oct 30 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.1 + * 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 + +* Tue Oct 29 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.0 + * Fix copying of subsequent audio tracks + +* Tue Oct 29 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.9 + * Various bugfixes for multi-track audio support + +* Tue Oct 29 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.8 + * 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 h264enc to support. + +* Mon Oct 28 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.7 + * Implemented support for 2nd and 3rd audio track when using "file" as input + * Bugfix: when using Opus audio, calculating target file size was not possible + * Added support for setting the AC-3 Exponent strategy search size + * Allow applying an LFE filter to the AC-3 audio + * Improved aften and opusenc options passing + +* Mon Oct 28 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.6 + * Added support for the Opus audio codec. Requires opusenc and a recent version of + mkvtoolnix with support for Opus + * Updated the man page + +* Sun Oct 27 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.5 + * Bugfix: codec detection for 2nd and 3rd audio track from DVDs did not work correctly + +* Sat Oct 26 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.4 + * Restrict the AVCHD presets to AC-3 and COPY audio + * Update the audio selection for the Blu-ray presets. DTS audio was supported but it + wasn't displayed in the selection + * Renamed function track_echo_func() to audio_track_echo_func() for consistency + +* Wed Oct 23 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.3 + * Added support for setting the Dynamic Range Compression (DRC) profile for AC-3 audio + * Renamed aften $AC3 variable to $AC3ENC + * Use AC-3 instead of AC3 naming in metadata info + +* Tue Oct 22 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.2 + * Added -readtoeof 1 option to the aften AC3 encoder. This ignores WAV header signaling + and fixes encoding from a named pipe + +* Sun Oct 20 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.1 + * Added support for encoding to 640 kbps AC3 audio + +* Tue Jul 02 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.0 + * Fix audio TID for MKV when using neroAacEnc as encoder + +* Tue Jun 11 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.9 + * Set correct color prims, transfers and matrix coeffs for Blu-ray/AVCHD SD resolutions + * Removed space between two questions + * Removed the sd* and hd* presets. They are useless + * Updated the man page + +* Tue Jun 11 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.8 + * Set VBV maxrate to 18k and VBV bufsize to 17k for the AVCHD presets + * Added support for frame packing for 3D video + * Add fake_interlaced to the AVCHD presets + +* Mon Jun 10 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.7 + * Add fake_interlaced flag to 25fps/29.970fps content when using the Blu-ray presets. It allows + to encode progressive 25p and 30p content but flags it as interlaced for Blu-ray compliance + +* Sun Jun 09 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.6 + * Add rc_lookahead to the Blu-ray/AVCHD presets + * When input is file, detect and display info about audio codec, channels, sample rate and bitrate + +* Sat Jun 08 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.5 + * Enable weightp for the Blu-ray/AVCHD HQ presets. In order to have a broader compatibility + with older Blu-ray players (mostly ones with buggy MediaTek chips), weightp is set to 1 and not 2 + * Set VBV maxrate to 40000 and VBV buffer to 30000 for the Blu-ray presets + * Set color primaries, transfer characteristics and matrix coeffs to bt709 for the Blu-ray/AVCHD presets + * Set default position of the expand filter to after the scale filter + +* Fri Jun 07 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.4 + * Improved the expand filter code + * Optimized the Blu-ray/AVCHD HQ presets for better quality + +* Wed May 29 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.3 + * Removed workarounds for older MP4Box versions. As of this release, only gpac 0.5.0 and higher + is supported. SVN version is highly recommended, though + * Improved AC3 and MP3 audio handling + * Removed turbo option. It is no longer needed + * When using AC3 audio, language TID for MKV was set to 1. It should be 0 + +* Tue May 28 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.2 + * Fix OGM muxing with AC3 audio + +* Tue May 28 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.1 + * Use aften for AC3 audio encoding as MEncoder is currently broken. This bumps up the config + file version to 22 + +* Tue May 21 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.0 + * 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 + +* Thu Apr 11 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.4.9 + * Use ffmpeg's MPEG12 decoder instead of the libmpeg12 one + +* Mon Oct 01 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.8 + * Added bluray_compat=1 parameter to the Blu-ray and AVCHD presets + * Use 'true' instead of 'false' where appropriate + * Updated the man page + +* Wed Sep 26 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.7 + * Change bad default bitrate value in DTS audio encoding to 384kbps. + +* Mon Apr 16 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.6 + * Bugfix: FAAC encoding was using wrong language TID in mkvmerge. Should be 0 instead of 1 as + we no longer encapsulate AAC in MP4 + * Removed --no-chapters mkvmerge option for FAAC encoding. It's no longer needed as we no longer + store the AAC audio in MP4 container + +* Sat Apr 07 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.5 + * Don't require FAAC to be compiled with MP4 container support (the -w option). Some distro's + do not compile FAAC with MP4 support so play it safe and assume FAAC isn't compiled with + MP4 support + +* Tue Feb 21 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.4 + * Only 'sed' mbtree for multi-pass mode + * Don't append "- chapter [id]" to output file when encoding only specific chapters + +* Tue Jan 03 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.3 + * Use -vc dummy in MPlayer in the audio code. Seems to work better on some files + +* Sun Jan 01 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.2 + * Use a separate variable in config file for setting the default CRF or QP value (DEFAULT_VID_CRFQP). + This bumps the config file version to 21 + * Renamed the DEFOUTPUT, DEFPATH and DEFBATCHDIR variables to DEFAULT_OUTPUT, DEFAULT_PATH and + DEFAULT_BATCHDIR + * Be slightly more portable by using #!/usr/bin/env bash instead of #!/bin/bash shebang + * Replaced some if conditionals in the -sc option by using 'test' directly + * Added an option for passing additional MEncoder parameters. Useful for when the user wants to + use something like -mc 0 -noskip, for example + * Added support for encoding to DTS audio through the dcaenc encoder which can be found at + http://aepatrakov.narod.ru/dcaenc/ + * Minor changes to the video_delogo_func() function. Use $sourcetype, $device, $vid and + $MPLAYEROPTS variables. Also use -nosound in MPlayer + * Improved the mkvtags file. Escape special characters like &, <, > and " in the Title field + +* Mon Oct 10 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.4.1 + * Introduced two new variables in the config file, DEFAULT_VID_BITRATE and DEFAULT_AUD_CODEC. + The first one sets the default video bitrate or CRF/QP value while the second one can + be used to set a default audio codec. This change updates the config file to version 20 + * Fixed a typo in man page + +* Sun Aug 20 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.4.0 + * Disable mbtree in multipass mode to prevent segfaulting MEncoder due to differences in + frames amount in the passlog file. Disabling mbtree reduces quality but saves us a crash + in MEncoder + * Notify the user that the script does not support AAC in AVI anymore. Also exit if user + has not selected any of the other supported containers + +* Mon Aug 08 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.9 + * Bugfix: selecting the x264 internal denoiser does nothing due to missing $nr variable + in the MEncoder options + +* Sat Jul 23 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.8 + * Update the mq, nq, hq, vhq, ehq, uhq and ihq presets. Increase subme by 1. For the ihq + preset, this means that it uses subme 11 now which requires latest x264 from git + +* Sun May 15 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.7 + * Removed the ssim and psnr options from the presets. Should only be used for benchmarking + +* Sun Apr 04 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.6 + * Fixed the subtitles function which got broken when the get_selection_func() + function got introduced + +* Tue Mar 29 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.5 + * Added support for setting the crop rounding value + +* Wed Mar 09 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.4 + * Fix option 4 and 5 of the video_deblock_func() function. Wrong vars used + +* Mon Feb 21 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.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 + * Do not exit if user types an incorrect answer to y/n questions. Instead, ask + the question again. Patch by Jan-Hendrik Peters and friends + +* Sat Jan 08 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.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 + * Add support for the delogo filter. Patch by Haiko Michelfeit <haiko AT zsyndikat DOT org> + Config file version is bumped to 19 + * Updated copyright dates + +* Sun Dec 05 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.3.1 + * Fix for the custom preset (cp) option + +* Fri Nov 26 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.3.0 + * Remove double $HOME variable in the -scan option + +* Fri Oct 29 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.9 + * Fix typo in the backup_file_func(): exisiting -> existing + * Workaround multichan FAAC encoding. FAAC somehow does not like multichan PCM from + MPlayer but it does if one treats it as raw using -P in FAAC. Nero/FLAC/Vorbis have + no issues, though. Go figure + * 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 18 + * Removed 'time' requirement + +* Thu Sep 16 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.8 + * 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, -qp or -crf) + are safe. + +* Wed Sep 15 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.7 + * Small update to the -scan option. Just check if input file is there, regardless if + user provides the full path or not + * Enable trellis in some presets that use CAVLC + +* Mon Aug 23 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.6 + * Fixed a syntax error in the iphq preset + +* Sun Aug 22 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.5 + * Update QuickTime & iPhone presets. Patch by gongloo + +* Wed Jul 21 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.4 + * Typo fix in the display_quality_preset_func(); verslow -> veryslow. As this is an + informative function, it does not affect the encoding configuration + * Force -nosub option in case subtitles are skipped. This is to prevent auto-loading + of subs + +* Fri Jun 25 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.3 + * Added support for x264's preset, tune and profile options. This adds two additional + optional args [-t (for tune) and -pf (for profile)] which can only be used with an + x264 preset, not with the built-in script presets. If used with those, these args + will be ignored. + Examples on how to use x264 presets (which is also explained in the -help option) + h264enc -crf -p slow + h264enc -crf -p slow -t film + h264enc -crf -p slow -pf main + h264enc -crf -p slow -t film -pf high + One can also switch the -t and -pf options, eg: h264enc -crf -p slow -pf high -t film + * Updated the man page + +* Sat May 15 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.2 + * Small bugfix in the get_devices_func() function; script exits when user hits enter + to accept default device + * Remove AVI menu entry as supported container when using FAAC for audio encoding + +* Thu Apr 29 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.1 + * 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 17 and adds variable ALLOW_AUD_CHANNELS + * Bugfix: audio filters were not inserted when doing 1-pass encodes + +* Sat Apr 24 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.0 + * Switch to using external FAAC encoder to work around an issue in mkvmerge where + it flags AAC audio taken from an AVI as being Main profile regardless if LC profile + is used for encoding or not. Problem noticed & reported by benpro. This updates the + config file to version 16 and requires FAAC to be installed. + * Same small cleanups + * Updated the man page + +* Sun Mar 28 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.9 + * Replaced sed with awk for checking available disk space. Should work better on + FreeBSD systems. Patch by ennob from doom9 + * Updated interlace options and presets to support the latest x264 from git. Note + that due to these changes, h264enc's presets are incompatible with older x264 + versions so please upgrade to latest x264 from git! + * Small update to the preset.cfg file + +* Thu Mar 18 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.8 + * Small bugfix: keyint and keyint_min weren't passed on to MEncoder when using some + presets + +* Tue Mar 16 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.7 + * Space escaped some previously missed variables + * Use one variable in the presets (x264params) for all MEncoder x264 encoding options. + Reduces some code and simplifies things a bit + * Updated the preset.cfg file to support the "one variable for all x264 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 h264enc! + +* Thu Feb 18 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.6 + * Added new veriable 'DEFOUTPUT' to the config file which can be used to set a default + output directory. This updates the config to version 15 + * Modified the set_output_filename_func() function to support the above variable. + - If the DEFOUTPUT variable is empty, user can either provide just the output + name for the encode (in this case the script assumes $HOME as output dir), or + the full path and output name, which in this case the script will create the + output dir if it's not present or will do a write test when the dir is present + to see if it's writable by the user. If creation of output dir or the write test + fails, the script exits with a notice. + - If the DEFOUTPUT variable contains a custom output dir, the script will test for + it and create it if it's not present. If creation fails, the script exits with a + notice. If the dir is present, the script will do a write test to see if the + custom dir is writable. If not, the script exits with a notice. + - The DEFOUTPUT variable can be overwritten on the command line. This means that if + user has set a custom output dir in the DEFOUTPUT variable but provides a path when + asked on the command line, that path will be used instead of the one in the DEFOUTPUT + variable. The script then will either check and create the provided output dir on + the command line (if that dir is not present) or will do a write test if the dir + is present. Upon failure of creation or write test, the script exits with a notice. + If no path is provided on the command line but only the output name for the encode, + the script will use the one set in the DEFOUTPUT variable. + +* Sat Jan 30 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.5 + * Reduced duplication in the audio encode exporting code by moving it inside functions + * Reduced duplication in the MKV/MP4/TS/OGM exporting code by moving it inside functions + * Reduced duplication in the code that prints some information before encoding starts + * Various minor code improvements + +* Thu Jan 21 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.4 + * Set default H.264 level to 'auto' and also accept integer numbers as levels in addition + to accepting fixed point ones, ie both 41 and 4.1 are now accepted as valid levels + * 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 duplication in the mencoder_opts() function + * Various small code improvements + +* Tue Jan 19 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.3 + * Made the TEMPDIR variable escape spaces in directory names + * Small update to the mkvtags_func() function + * Removed the -a52drc option for AC3 encoding + * Added new x264 intra_refresh option to the script and the preset.cfg file + * Added two new variables, DVD_DEVICE and CDROM_DEVICE, to the config file where user + can set a default block device to encode from. This updates the config file to version 14 + * Merged the get_dvd_devices_func() and get_vcd_devices_func() functions into a new one + called get_devices_func() + +* Wed Dec 23 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Fixed a severe bug that can cause in some cases severe data loss when using a + custom temp directory. It manifests itself when using a 'top' directory as custom + temp directory such as a partition mount point or even the user's home directory. + In such cases, the top directory will be deleted upon script termination or when encoding + finishes, resulting in possible massive data loss due to rm -rf $TEMPDIR if TEMPDIR was + set to, for example, /home/username or points to a mount point or another directory that + may be important to the user. + From now on, always use a job<pid> directory inside the one set in the TEMPDIR variable + so it'll only delete the job<pid> directory and not its parent one, minimizing possibility + of a data loss disaster + * Set nomixed_refs for the iphq/iphhq presets + +* Thu Dec 10 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Disabled weightp for the AppleTV presets + * Added new option sliced_threads present in latest x264 from git + * Enabled b_pyramid for some presets that use mbtree as it now works with mbtree + * Updated the preset.cfg file. Added sliced_threads option + * 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 + h264enc which also offers an example of a gmail setting for .mailrc + * Bumped config file version to 13 + * Updated copyright dates + +* Mon Nov 09 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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 + * Update to all presets: added new weightp x264 option. This requires latest x264 + revision from git + * Updated the preset.cfg file. Added weightp option + * Small general code improvements and cosmetics + +* Wed Nov 04 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Replaced a few if conditionals with case statements in the neroaac_audio_func() function + * 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 + * Some small cleanups + +* Mon Oct 19 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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 + * Update to all presets: updated the b_pyramid option to use the new args none/strict/normal + present in latest x264 revision. Note that this requires both latest MPlayer from SVN + and latest x264 revision from git + * Small b_pyramid update to the preset.cfg file + +* Sat Oct 17 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Added new function video_subtitles_align_func() for subtitle alignment control. + Requested by blaz on doom9.org forum. + * Added new x264 option 'constrained_intra' to the preset.cfg file. + * Added detection of VFR content (1000 fps as reported by MPlayer). + * Added X264_VERSION and MKVMERGE_VERSION entries to the mkvtags_func() function. + * Simplified a bit the audio exporting code for the first track. + +* Thu Sep 24 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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 + * Insert the ilpack filter before the scaler to correctly align chroma channels + when preserving interlacing + * Added AUDIO_CODEC_TRACK[1|2|3], AUDIO_LANGUAGE_TRACK[1|2|3] and H264ENC_PARAMETERS + entries to the mkvtags_func() function + * Enabled adaptive transform for the AppleTV HQ preset (atvhq) + * Improved checking the availability of block devices + * Added option 'global_header' to the preset.cfg file + +* Wed Sep 16 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Small bugfix: setting the H.264 level for the fghq preset wasn't possible + * Small bugfix: the counter in set_output_filename_func() didn't increase itself + * Added SOURCE, VIDEO_FILTERS, AUDIO_FILTERS_TRACK[1|2|3], ENCODER and X264_PARAMETERS + entries to the mkvtags_func() function + +* Mon Sep 14 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Use only lowercase words in all case statements that deal with the input source + * Some small improvements to the exit info in the audio code + * Placed the -passlogfile option inside the PASSLOG variable + * Set psy_rd to 0.3 for the Anime presets + * Allow setting the H.264 level for the PC presets to "auto" so libx264 will + decide itself which level to use based on options and resolution used + * 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). Requested by punlo on doom9.org + +* Sun Sep 06 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Fixed a typo in the man page, MEnocder -> MEncoder + * Small improvement to how the MKV XML tagging file gets exported. Also improved + the XML formatting and added COMMENT string with text "Tagged by h264enc $version" + * 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 + +* Fri Sep 04 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Added new option sync_lookahead available in latest x264 git and updated the + preset.cfg file + * Added support for the noise video filter. This change updates the config file + to version 12. 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 + * 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 + +* Tue Sep 01 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Simplified the audio_channels_func() function a bit + * Merged the QP and CRF settings + * Increased rc_lookahead a bit for the ehq, uhq and ihq presets + * 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. + Reported by WalterK from doom9.org + * Moved the code that deals with DVD subs/cover files/metadata info/chapters and external + subs for the MP4 container before its audio code + * Added slicing to the Blu-ray and AVCHD presets. It increases compliancy with the Blu-ray + specs. Slicing is only available in the latest x264 from git so please upgrade if you + intend to use the Blu-ray/AVCHD presets + * Added new options 'slices', 'slice_max_size' and 'slice_max_mbs' to the preset.cfg file + * 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 + * Small improvements to how chapters information is added to the output file name + +* Sat Aug 15 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Renamed presets f9 and f9hq to fl and flhq + * Added new preset 'fghq' specifically optimized for preserving film grain + * 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 + * Turn soft-clipping on in the volume audio filter + * Use aq_mode=1 for presets that have mbtree enabled as it usually does better on fades than + aq_mode=2 + * Updated the man page + +* Tue Aug 11 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Reduced the amount of if conditional iterations for setting the scaler interlace variable + * Print full path of the output file(s) at the end of encoding + * 10L: forgot to enable MB tree for the anihq preset + * Replaced variable CONFIGDIR with TEMPDIR. This change updates the config file to version 11 + * Fixed some spacings issues by moving around some echo's + * Simplified the sample encoding code. Reduced some code duplication + * Upped psy_rd from 0.6 to 0.8 + +* Fri Aug 07 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Added support for the audio panning filter. This change also updates the config file + to version 10 + * Simplifications to the audio_filters_func() and audio_filters_var_func() functions + * Moved the audio filters functions after the audio codec ones + * Fixed a bug in the audio_channels_func() function for the AAC codec. If user just + hits return to accept the default AAC codec, the channels function was not called + due to missing "" in the first case statement of that function + * Enabled MB tree (macroblock tree ratecontrol) for the high quality presets and disabled + b_pyramid for presets that have mbtree enabled as it currently doesn't support it. Note that + mbtree produces a large passlog file when ran in 2-pass mode but can increase quality anywhere + between 2-70%, depending on the content. mbtree is only available in latest x264 git so + please upgrade + * Added new options mbtree, rc_lookahead and nopsy to the preset.cfg file + +* Sat Aug 01 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Added new option -mfr which calculates the maximum allowed frame references within DPB + (Decoded Picture Buffer) limits for different H.264 levels and resolutions + * 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 + * Allow users to set the H.264 level when using the standard PC presets + * Fixed a few typos in the preset.cfg file + * Updated the man page + +* Thu Jul 30 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Increased subq to 10 (QP-RD) for the IHQ preset. Requires latest x264 from git. Also + lowered frameref from 16 to 8 and bframes from 10 to 7 + * Add example on how to encode only specific DVD chapters. Some people keep bugging me + about this while it's actually very simple + +* Fri Jul 24 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Switched to the new Auto-variance AQ (aq_mode=2) for all presets. This requires latest x264 + revision from git so please upgrade! + * Decreased frame references for all iPod presets to 1 and increased subq to 8 for the HQ iPod + presets + * Minor improvments to the set_output_filename_func() function + * Merged the audio code of the portable device presets. Moderately reduces code duplication in + the audio functions calling code + * Added two new presets (ag1 and ag1hq) for Android G1 devices. This brings the total presets + count to 60 + * 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 9 + * Updated the man page + +* Wed Jul 08 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Added detection for E-AC3 audio for stream copy and updated the MKV/TS 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 + +* Wed Jul 01 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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 + * Small fixes to the video bitrate calculation code + * Small tuning to the Blu-ray/AVCHD presets + * Small cleanups + +* Fri Jun 26 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Set default audio codec for the Blu-ray/AVCHD presets to AC3 + * Bugfix to the OGM muxing code. Second/third track were ignored when one selects AC3 audio + * Added keyint, keyint_min, nr and interlaced variables to the custom preset skeleton file 'preset.cfg' + * Moved the AACTYPE variable to the neroaac_audio_func() function and updated the specific parts + that use it in the MKV/MP4 muxing code + * Do not automatically detect audio sample rate in directory batch encoding mode. Only do it + for single file/dvd/vcd encodings as in batch mode, detection will only print the sample rate of + the first file but not the other files in the directory so this can mislead the user in thinking + that all files in the directory have the sample rate reported by the script. It is possible to + implement sample rate detection for all files but since we don't know how many files are in + the directory, I do not want the user to see a full screen with sample rate info of each file if + he deals with a directory with a few hundreds or more files in it + * Disallow autocropping, if enabled in the config file, for directory batch encodings + * Small reordering to the MP4 muxing code + * Small update to the install script + * Updated the man page + +* Wed Jun 24 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Removed audio filters for the 1st pass in 2-pass encoding and for the 1st & 2nd pass of + a 3-pass encoding. They are useless here and it's something I've overlooked for a long + time. Thanks to Mat Kanner for noticing and reporting + * Some small changes to the way we pass FPS to MP4Box + * Added support for MP4 hinting for RTP/RTSP sessions + * Simplifications to the external subs importing code. Also fixed a bug in the MP4 subs + importing code; missing -add option in the MP4SUBS variable will make MP4Box fail + * Merged the MKV tagging code with the muxing one + * Added support for detection of WMA audio for stream copy + * Added support for per track audio codecs for DVD encodings. The user can now select + if he wishes for each track a different audio codec. Mixing audio stream copy with + compression codecs is also possible + * Updated all relevant audio functions to support per track audio codecs + * Updated the bitrate calculation code to support per track audio codecs + * Updated the container muxing code to support the above audio changes + +* Mon Jun 22 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Small improvement to the MKV/MP4 tagging code: support audio tagging of single file + encodes with audio stream copy + * Use array variables ${SUBFILE[2] and ${SUBFILE[3] instead of ${OUTPUT%.*}_sub2 + and ${OUTPUT%.*}_sub3 when dumping the second/third DVD subtitles + * Simplified the MKV cover art importing code + * Small improvements to video bitrate calculation with audio stream copy + * Use only one named pipe for all tracks when encoding to neroAAC/AAC+/Vorbis/FLAC + * Major audio code restructuring and partial rewrite. Converted virtually all audio + code variables to array variables. This allows for easy extensibility and much less + code duplication. It's very easy now to add as much audio tracks as one may want to the + code with very little changes/updates needed to the containers code. Also the current + changes may allow very easily to support different audio codecs per track in the future + * Added support for a third DVD audio track + * Updated the video bitrate calculation for target size to support the above audio changes + * Converted most of the variables in the video_subtitles_func() function to arrays. This + moderately reduces some code duplication + * Updated the container muxing/tagging code to support the above audio changes + * Use external flac encoder to encode to FLAC audio as doing it through mencoder is terribly + broken. This updates the config file to version 8 and adds the 'flac' encoder as dependency + * Set the default resampling filter to lavcresample as the other one gives problems when + encoding to FLAC audio and resampling + +* Wed Jun 19 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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/.h264enc/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/TS containers + * Group audio filters under a submenu similar to how the video filters are grouped + * Some small cleanups + +* Wed Jun 17 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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 + * Bugfix for the qt/bd/avchd presets: audio filters were not called for these presets + * 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 + +* Mon Jun 15 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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 + * Increased Psy RD from 0.5 to 0.6 for some presets + * 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 + * Updated the AUTHORS file + +* Fri Jun 12 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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 + +* Tue Jun 09 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Added support for adding jpeg/png cover art files to MKV/MP4 + * Added audio language meta-info for MP4 and TS 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 + +* Mon Jun 08 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Add iTunes video title name to MP4 files + +* Sun May 24 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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 + * Some small code cosmetics + +* Tue May 12 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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 16 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_TS_MUXING, ALLOW_OGM_MUXING, + ALLOW_SAMPLE_ENCODING, ALLOW_SCAN_MULTIPLE_VIDSTREAMS and ALLOW_SCAN_MULTIPLE_AUDSTREAMS, + the last two are only effective on file and directory batch encodings + * Updated the man page + +* Thu May 7 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Automatically add the shebang line to batch files and make them executable + * Added new variable ALLOW_AUTOCROP to the config file which allows the user to enable or + disable automatic cropping + * Added MP3 presets and updated target file size code to support them (requested by Rogério Brito) + * Some minor adjustments to the hq, vhq, ehq, uhq and ihq presets; decrease b-frames by one + +* Wed Apr 29 2009 Grozdan Nikolov <neutrino8@gmail.com> + - Small bugfix: video filters variables in the config file were not respected when one + chooses to encode VCDs. + - Add video title meta-data for MKV and OGM when doing directory batch encodings + +* Tue Apr 28 2009 Grozdan Nikolov <neutrino8@gmail.com> + * Optimize some variables by replacing piping to sed with VARIABLE1="${VARIABLE2%.*}.ext" + * Move out the built-in -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) + * Silence possible dvdxchap warnings + * Updated the man page + +* Thu Apr 26 2009 Grozdan Nikolov <neutrino8@gmail.com> + * 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
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.