Changes of Revision 296

h264enc.spec Added
x
 
1
@@ -0,0 +1,1159 @@
2
+# norootforbuild
3
+
4
+Name:      h264enc
5
+Version:   10.0.8
6
+Release:   1
7
+
8
+License:   GPL-2.0+
9
+Group:     Productivity/Multimedia/Video/Editors and Convertors
10
+Summary:   An advanced CLI shell script for MEncoder
11
+URL:       http://h264enc.sourceforge.net/
12
+
13
+Source0:        %{name}-%{version}.tar.gz
14
+
15
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
16
+BuildArch: noarch
17
+
18
+Requires:       findutils gpac bc gawk lsdvd nano ogmtools vorbis-tools opus-tools flac aften dcaenc mailx faac MPlayer mkvtoolnix pv
19
+
20
+
21
+%description
22
+h264enc is an advanced and powerful interactive menu-driven shell script written
23
+for the GNU/Linux operating system which can help you to encode a DVD, a video file,
24
+a directory with video files or a (S)VCD to the H.264/MPEG-4 Part 10/AVC video format
25
+using the MEncoder encoder from the MPlayer project and the libx264 library. It supports
26
+muxing the final encode from AVI to MKV, from AVI to OGM, from AVI to TS and from
27
+AVI to the MP4 container.
28
+
29
+
30
+%prep
31
+%setup -q -n %{name}-%{version}
32
+
33
+%build
34
+
35
+%install
36
+%__mkdir -p %{buildroot}/%{_docdir}/%{name}/matrices
37
+
38
+# binary
39
+%__install -D -m 755 %{name} %{buildroot}/%{_bindir}/%{name}
40
+
41
+# man
42
+gzip -9 man/%{name}.1
43
+%__install -D -m 644 man/%{name}.1.gz %{buildroot}/%{_mandir}/man1/%{name}.1.gz
44
+
45
+# doc
46
+%__install -m 644 doc/* %{buildroot}/%{_docdir}/%{name}
47
+%__install -m 644 matrices/* %{buildroot}/%{_docdir}/%{name}/matrices
48
+
49
+
50
+%clean
51
+rm -rf "%{buildroot}"
52
+
53
+
54
+%files
55
+%defattr(-,root,root)
56
+%{_bindir}/%{name}
57
+%{_mandir}/man1/%{name}.1.gz
58
+%{_docdir}/%{name}
59
+
60
+
61
+%changelog
62
+* Mon Jun 16 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.8
63
+   * New method to detect and display audio info when input is file or blu-ray.
64
+     In comparison to the previous basic method, the new one will display
65
+     for each found audio track the codec, channels, language, bitrate and
66
+     sample rate info. It does take slightly longer to detect in case there
67
+     are many audio tracks, but it is more descriptive and accurate
68
+     
69
+* Sun Jun 15 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.7
70
+   * Use an if instead of a case when dumping chapters from files
71
+   * Also export chapter extraction commands to the batch file
72
+   * Display mkvextract availability when using the sanity check option (-sc)
73
+   * Add the path and name to the comment block of the batch file. Makes
74
+     it easy to focus on the comment block to know for which file the
75
+     commands are instead of needing to inspect the code itself to find
76
+     out
77
+     
78
+* Wed Jun 11 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.6
79
+   * Added support for dumping chapters info from MKV/MP4 input files
80
+     This updates the config file version to 30 as mkvextract is needed
81
+   * Made the audiofmt variable an array variable
82
+   * Moved asking for sample encoding before asking to inspect or save the
83
+     options to a file
84
+     
85
+* Sat May 24 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.5
86
+   * Fixed the detect_fps_func() function for detecting the NTSC type
87
+   * Lowered the spugauss (variance param for gauss subtitle scaling)
88
+     from 0.7 to 0.4 as 0.7 does too much blurring in my opinion
89
+     
90
+* Thu May 22 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.4
91
+   * Bugfix: $demuxer var was missing in the AUDCH array var which resulted
92
+     in incorrect channel info being added to the tags when copying audio.
93
+     DVD input was not affected by this bug, but file/dir/bd input was as
94
+     they all use the $demuxer var
95
+     
96
+* Sat Apr 26 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.3
97
+   * Removed unused $AUDFIFO variable
98
+   * Small bugfix: audio language for metadata tagging wasn't added to the global
99
+     tags for MKV when input is Blu-ray due to missing 'bd' param in the case
100
+     statement
101
+     
102
+* Wed Apr 23 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.2
103
+   * Bugfix: in case user chooses audio copy, the metadata info for tagging
104
+     always defaulted to "Stereo". Fix this by running MPlayer to detect
105
+     the proper amount of channels
106
+     
107
+* Tue Apr 22 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.1
108
+   * Bugfix: wrong var used, $chanuse instead of $chandec, for setting
109
+     the decode channels
110
+   * Only call the video_subtitles_scale_func() function if the user
111
+     actually provides an external sub for hardcoding
112
+     
113
+* Thu Apr 17 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.0.0
114
+   * Allow the video_subtitles_align_func() function for mks matroska
115
+     subtitles
116
+   * Display the warning message in red for when something goes wrong
117
+     when importing/hardcoding subs. Do the same for when checking
118
+     support for a sub format for MKV/MP4/OGM
119
+   * Added support for subtitles for Blu-ray encodings. Note that only
120
+     hardcoding of external sub or importing of external subs into the
121
+     MKV/MP4/OGM containers is supported
122
+   * Removed some duplication by placing the code for hardcoding an
123
+     external sub or importing external subs into its own
124
+     video_subtitles_option_func() function
125
+   * Increased the rc_lookahead value for the ehq, uhq and ihq presets
126
+     to 80, 90 and 100, respectively
127
+   * When copying audio and using some of the portable device presets,
128
+     also add the -mc 0 -msglevel demuxer=-1 options to MEncoder
129
+   * More code optimizations and minor fixes
130
+   
131
+* Wed Apr 16 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.8
132
+   * Use proper extensions when copying the audio as MP4Box has a
133
+     problem with recognizing the .raw extension
134
+   * Renamed the named pipe from audio.wav to audio.pipe. Also
135
+     placed it in a variable to reduce some minor duplication
136
+   * Added support for subtitle scaling for when hardcoding an
137
+     external sub or hardcoding an embedded one. Requested by
138
+     lib3rty1 from the the Doom9.org forum
139
+   * Added --no-chapters option to mkvmerge for when encoding
140
+     with neroAacEnc in order not to auto-copy chapters info
141
+     from the container
142
+   * Instead of defaulting to 0 kbps if we can't detect the audio
143
+     bitrate when copying audio and needing to calculate the video
144
+     bitrate for a target file size , ask the user to provide it
145
+     in case he knows it or can figure it out
146
+   * Set the default exponent strategy value for AC-3 to 16
147
+   * Placed frequently used MPlayer options into a single variable,
148
+     $MPOPTS, in order not to write them over and over again when
149
+     we need them. These options are not used everywhere as
150
+     sometimes we need other specific ones when detecting something
151
+   * Improved priority level checks for regular users if the PRIORITY
152
+     variable is set in the config file
153
+   * Bugfix: audio resampling was not possible for Blu-rays due to
154
+     missing bd param in the case statement
155
+   * Merge the Blu-ray output code with that of the file/vcd as it's
156
+     identical
157
+   * Some minor code optimizations
158
+   
159
+* Tue Apr 15 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.7
160
+   * Allow the channels filter for the portable device presets
161
+   * Reorder the audio filters positions
162
+   * Placed the $MENCOPTS variable in front in MEncoder in order
163
+     for it to not overwrite the options already set
164
+   * For AC-3 audio, default to 384 kbps instead of 192 kbps and
165
+     default to "Film Standard" as DRC profile
166
+   * For MP3 audio, default to 192 kbps instead of 128 kbps when
167
+     doing CBR encodes and to "standard" when using a preset
168
+   * For NEROAAC and FDKAAC, default to 128 kbps instead of 96 kbps
169
+     when using LC-AAC mode
170
+   * Better wording in what the Output option does in the
171
+     audio_channels_decode_func() function
172
+   * Modification to the audio_codec_exit_func() function. Use this
173
+     function also to exit in case of an unsupported audio codec.
174
+     By using this function, some repeatability is removed
175
+   * Fixed a bug in the PCM audio code for the calculation of video
176
+     bitrate for a target file size. Variable $AUDIO_BITRATE
177
+     should be an array variable instead of a normal one
178
+   * Added support for Blu-ray angle encoding
179
+   * Reduced some duplication by placing the message into a single
180
+     variable when we exit in case an audio encoder is missing
181
+   * MEncoder currently has issues with copying audio. Work it
182
+     around by using -mc 0 -msglevel demuxer=-1 options which disable
183
+     its automatic A/V sync. With this, MEncoder may report 0 or some
184
+     large random number on some files for the audio but one can safely
185
+     ignore it. Audio is still being copied
186
+   * If the user chooses audio copy and selects to remux the encode
187
+     to MKV, the global tags did not contain the audio encoder string.
188
+     Fix this by adding "Unknown (Stream Copy)" since we don't know
189
+     which program was used to encode the audio
190
+   * In case we try to copy AAC audio from the input, we need to pass
191
+     the correct format to MEncoder or it will error out. Thus, use
192
+     -fafmttag 0x706d if we detect AAC
193
+   * Fixed a bug where copying AAC audio as as subsequent track
194
+     did not result in that track being added when remuxing to MP4
195
+     due to a missing ffaac param in the case statement
196
+   * When doing video bitrate calculations for a target file size and
197
+     copying the audio, try to better detect the audio bitrate. If we
198
+     can't detect it or it's reported as 0 kbps, default to 0 kbps
199
+   * Small improvements and cleanups here and there
200
+   
201
+* Sun Apr 13 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.6
202
+   * Rewrote the audio_channels_decode_func() function. It is now
203
+     possible to output channels different that the decoded
204
+     channels amount. Note that this filter is very basic which
205
+     means it will output silent channels if the decoded channels
206
+     are less than the output channels
207
+   * Added chanfilter variable to the aac_hev2_func() function
208
+   * Support all supported channels in the PCM bitrate code for
209
+     target file size calculation
210
+   * Removed channels variable for MEncoder when copying audio
211
+     for subsequent tracks as it has no effect
212
+   * Display an informative message if the user has set a default
213
+     audio codec in the config file. Also check if we support it
214
+     or print an error message and exit
215
+   * Updated the channels metadata info code due to changes in the
216
+     audio_channels_decode_func() function
217
+   * Modifications to the audio_filters_func() and audio_filters_var_func()
218
+     functions
219
+   * Some small code cleanups
220
+   
221
+* Sat Apr 12 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.5
222
+   * Improved resolution detection for Blu-rays
223
+   * Improved the nlq preset
224
+   * Don't call the audio_channels_decode_func when copying the audio as
225
+     audio is copied 1:1 thus we don't need to set any channels
226
+   * Insert the channels filter in case the user wishes to have 4 or 5
227
+     audio channels when decoding higher or lower amount of channels
228
+   * Various small code improvements
229
+   
230
+* Sat Apr 12 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.4
231
+   * Cosmetics: add an echo between the total found titles for Blu-ray and
232
+     the info about each title
233
+   * Cosmetics: remove double-quotes in empty echo's
234
+   * Display full seconds value for each found Blu-ray title
235
+   * Small code optimization to Blu-ray chapters info. Use a single variable
236
+     that holds the title we need to scan for chapters
237
+   * Warn and fallback to 8 channels in case user provides more than 8 channels
238
+   * Added support for PCM audio for subsequent audio tracks
239
+   
240
+* Thu Apr 10 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.3
241
+   * Display the length in seconds and minutes for every found Blu-ray title
242
+   * Implemented basic chapters encoding support for Blu-rays
243
+   * Rewrote the code for subtitles imports for MKV/MP4/OGM
244
+   * For DVDs/BDs, set default channels value to 6 when using other than copy
245
+     for audio
246
+     
247
+* Wed Apr 09 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.2
248
+   * Allow importing of mks (Matroska stream) subtitles into MKV. Such files
249
+     are usually created when dumping subs with the GUI version of mkvmerge
250
+   * Add -nosub when importing external subtitles into MKV/MP4/OGM to prevent
251
+     auto-loading of any embedded subs in the input file
252
+   * Use case statements to check the values of the $MAX_AMOUNT_AUD_TRACKS and
253
+     $MAX_AMOUNT_SUBS variables
254
+   * Auto-cropping was not possible when input is Blu-ray due to missing bd
255
+     param in the case statement
256
+   * Set default audio channels decode option to 6 when input is Blu-ray
257
+   
258
+* Tue Apr 08 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.1
259
+   * Fixed not being able to calculate video bitrate for target file size
260
+     when input is Blu-ray, due to missing $demuxer variable when calling
261
+     MPlayer
262
+   * Fixed DVD scanning in the -scan option
263
+   * Support Blu-ray scanning in the -scan option
264
+   * Display in the -sc option if MEncoder has Blu-ray support
265
+   * Warn and exit if user chooses Blu-ray as input but MEncoder doesn't support it
266
+   * Placed the $device and $vid variables after the $MPLAYEROPTS one in order for
267
+     the custom MPlayer options not to possibly overwrite these variables
268
+   * Modified the get_devices_func() function to allow files/folders as input
269
+     so that a user can scan a DVD ISO or VIDEO_TS directory, not just discs
270
+   * Fixed the colorprim code. $device and $vid variables were missing when
271
+     calling MPlayer to get the resolution height
272
+     
273
+* Mon Apr 07 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.9.0
274
+   * Initial, basic support for encoding from Blu-ray discs/ISOs/directories.
275
+     Requires MPlayer to be compiled with libbluray. As libbluray doesn't
276
+     support encrypted Blu-rays, it is not possible to encode such Blu-rays.
277
+     Encryption must first be stripped before encoding with h264enc
278
+   * Reduced some duplication in the audio code for the first track for MKV
279
+   * Adjusted the vbv_maxrate and vbv_bufsize for the bd40 and bdhq40 presets
280
+     to comply with the level limits
281
+     
282
+* Sat Mar 29 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.7
283
+   * Merged the neroaac/fdkaac part of the MP4Box code as they're identical
284
+   * Use a case statement to decide between --bluray and --avchd for tsMuxeR
285
+   * A few more function renaming to carry the _func at the end
286
+   
287
+* Fri Mar 28 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.6
288
+   * Fix a syntax error
289
+   
290
+* Fri Mar 28 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.5
291
+   * Use a single variable for keyint for the Blu-ray/AVCHD presets. Reduces a bit of duplication
292
+   * Reduced some duplication in the check_audio_codec_func() function by moving some of
293
+     the error messages into a new audio_codec_exit_func() function
294
+   * Allow muxing to TS when using neroAacEnc and/or FDKAAC in LC-AAC mode
295
+   * Merged the NEROAAC/FDKAAC parts in the mkvmerge code as they're identical, thus we
296
+     reduce a bit of duplication
297
+   * Updated the man page
298
+   
299
+* Mon Mar 24 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.4
300
+   * Add audio encoder info to the MKV global tags
301
+   * Renamed the mencoder_opts() function to mencoder_opts_func() for consistency reasons
302
+   * Fixed subtitles metadata info in the MKV global tags
303
+   
304
+* Sun Mar 23 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.3
305
+   * Bugfix: If using nosound and dumping subsequent subs, the audio option
306
+     for MEncoder was set to -ao null which is not recognized by MEncoder.
307
+     Change it to -nosound instead
308
+     
309
+* Sat Mar 22 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.2
310
+   * Bugfix: for subsequent audio tracks, when using neroAacEnc as encoder,
311
+     the value of --aac-is-sbr used for HE-AAC by mkvmerge was set to 1:1. It
312
+     should be 0:1
313
+   * Use the AACTYPE variable instead of the aacprof variable to check which
314
+     type of AAC the user wants in the neroaac_audio_func() function
315
+   * In VBR mode for audio encoders that support it, indicate which values
316
+     result in better quality, ie based on the encoder a lower value results
317
+     in higher quality or the reverse
318
+     
319
+* Fri Mar 21 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.1
320
+   * Set the default crop rounding value to 4 for more accurate cropping
321
+   * Initial support for the FDK AAC audio encoder. Requires latest git from
322
+     https://github.com/mstorsjo/fdk-aac/commits/read-streamed-wav
323
+     
324
+* Thu Feb 13 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.8.0
325
+   * Bugfix: dumping subs did not work when input is a VIDEO_TS DVD folder.
326
+     Patch by Harry Gunnarsson
327
+     
328
+* Sun Feb 02 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.7.9
329
+   * Added support for hardcoding embedded subtitles in files
330
+   * Use -nosub for hadrcoding an external subtitle to prevent
331
+     auto-loading of any embedded subtitles in the input
332
+   * Use -ao null instead of -nosound
333
+   
334
+* Sat Jan 18 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.7.8
335
+   * New variable in the config file, DELETE_AVI_AFTER_REMUX, to automatically delete
336
+     the AVI file after remuxing. This updates the config file version to 27
337
+   * Renamed the 480 and 576 params of the colorprim_func() function to ntsc and pal
338
+   
339
+* Fri Jan 03 2014 Grozdan Nikolov <neutrino8@gmail.com> 9.7.7
340
+   * Allow relative paths when storing options to the batchfile
341
+   * Updated copyright dates
342
+   
343
+* Fri Nov 15 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.6
344
+   * Allow importing of PGS subtitles into the MKV container
345
+   * Improved chapters file handling for MKV/MP4/OGM when input is file
346
+   
347
+* Fri Nov 08 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.5
348
+   * Added support for importing a chapters file for MKV/MP4/OGM when input is file
349
+   * Added support for setting the audio language code for MKV/MP4/OGM/TS when input is file
350
+   * Added support for setting the subtitle language code when importing subs into MKV/MP4/OGM
351
+   
352
+* Sat Nov 02 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.4
353
+   * Fixed copying of E-AC-3 audio
354
+   * Set default value for 3D frame packing to 3 (side by side)
355
+   * Moved some audio selection code into the new set_audio_codec_func() function.
356
+     Reduces some code duplication and removes the default_audio_codec_func() function
357
+     
358
+* Fri Nov 01 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.3
359
+   * Merged the file and dvd audio detection/selection code
360
+   * Merged the audio code for the first and subsequent tracks
361
+   * Set a default audio ID based on input (ie, 0 for file and 128 for DVD)
362
+   * Use -demuxer lavf for file and dir input
363
+   * Small improvements to the subtitles code
364
+   * Renamed the -help switch to -h
365
+   * Improved the way audio tracks information is presented to the user
366
+   * Make destination dir if it doesn't exist for saving to the batchfile
367
+   * Updated the man page
368
+   
369
+* Thu Oct 31 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.2
370
+   * Fixed exporting of the NERORMAUD variable to the batch file
371
+   * Implemented support for virtually an infinite amount of subtitles. This introduces a new
372
+     variable, MAX_AMOUNT_SUBS, to the config file where the user can set the amount of subtitles
373
+     he/she wants h264enc to support
374
+   * Added output name to the message of the mail notification feature
375
+   * Fixed the nosound audio option
376
+   * Renamed the rmtemp() function to exit_func()
377
+   * Return proper exit codes. 0 on success, 1 on error and 2 on user interrupt
378
+   
379
+* Wed Oct 30 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.1
380
+   * Enabled multi-channel support for Opus audio
381
+   * Moved the MKV audio filters metadata after the audio codec/language metadata
382
+   * Fixed copy and pcm audio encoding
383
+   * If user chooses PCM for subsequent audio tracks, don't error out but just skip the track
384
+   * Some minor clean-ups
385
+   
386
+* Tue Oct 29 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.7.0
387
+   * Fix copying of subsequent audio tracks
388
+   
389
+* Tue Oct 29 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.9
390
+   * Various bugfixes for multi-track audio support
391
+   
392
+* Tue Oct 29 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.8
393
+   * Added -demuxer lavf for more reliable detection of audio streams in file input mode
394
+   * Implemented virtually infinite support for the amount of audio tracks. This introduces
395
+     a new variable in the config file, MAX_AMOUNT_AUD_TRACKS, where the user can specify
396
+     how many audio tracks he/she wants h264enc to support.
397
+     
398
+* Mon Oct 28 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.7
399
+   * Implemented support for 2nd and 3rd audio track when using "file" as input
400
+   * Bugfix: when using Opus audio, calculating target file size was not possible
401
+   * Added support for setting the AC-3 Exponent strategy search size
402
+   * Allow applying an LFE filter to the AC-3 audio
403
+   * Improved aften and opusenc options passing
404
+   
405
+* Mon Oct 28 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.6
406
+   * Added support for the Opus audio codec. Requires opusenc and a recent version of
407
+     mkvtoolnix with support for Opus
408
+   * Updated the man page
409
+   
410
+* Sun Oct 27 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.5
411
+   * Bugfix: codec detection for 2nd and 3rd audio track from DVDs did not work correctly
412
+   
413
+* Sat Oct 26 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.4
414
+   * Restrict the AVCHD presets to AC-3 and COPY audio
415
+   * Update the audio selection for the Blu-ray presets. DTS audio was supported but it
416
+     wasn't displayed in the selection
417
+   * Renamed function track_echo_func() to audio_track_echo_func() for consistency
418
+   
419
+* Wed Oct 23 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.3
420
+   * Added support for setting the Dynamic Range Compression (DRC) profile for AC-3 audio
421
+   * Renamed aften $AC3 variable to $AC3ENC
422
+   * Use AC-3 instead of AC3 naming in metadata info
423
+   
424
+* Tue Oct 22 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.2
425
+   * Added -readtoeof 1 option to the aften AC3 encoder. This ignores WAV header signaling
426
+     and fixes encoding from a named pipe
427
+     
428
+* Sun Oct 20 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.1
429
+   * Added support for encoding to 640 kbps AC3 audio
430
+   
431
+* Tue Jul 02 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.6.0
432
+   * Fix audio TID for MKV when using neroAacEnc as encoder
433
+   
434
+* Tue Jun 11 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.9
435
+   * Set correct color prims, transfers and matrix coeffs for Blu-ray/AVCHD SD resolutions
436
+   * Removed space between two questions
437
+   * Removed the sd* and hd* presets. They are useless
438
+   * Updated the man page
439
+   
440
+* Tue Jun 11 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.8
441
+   * Set VBV maxrate to 18k and VBV bufsize to 17k for the AVCHD presets
442
+   * Added support for frame packing for 3D video
443
+   * Add fake_interlaced to the AVCHD presets
444
+   
445
+* Mon Jun 10 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.7
446
+   * Add fake_interlaced flag to 25fps/29.970fps content when using the Blu-ray presets. It allows
447
+     to encode progressive 25p and 30p content but flags it as interlaced for Blu-ray compliance
448
+     
449
+* Sun Jun 09 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.6
450
+   * Add rc_lookahead to the Blu-ray/AVCHD presets
451
+   * When input is file, detect and display info about audio codec, channels, sample rate and bitrate
452
+   
453
+* Sat Jun 08 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.5
454
+   * Enable weightp for the Blu-ray/AVCHD HQ presets. In order to have a broader compatibility
455
+     with older Blu-ray players (mostly ones with buggy MediaTek chips), weightp is set to 1 and not 2
456
+   * Set VBV maxrate to 40000 and VBV buffer to 30000 for the Blu-ray presets
457
+   * Set color primaries, transfer characteristics and matrix coeffs to bt709 for the Blu-ray/AVCHD presets
458
+   * Set default position of the expand filter to after the scale filter
459
+   
460
+* Fri Jun 07 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.4
461
+   * Improved the expand filter code
462
+   * Optimized the Blu-ray/AVCHD HQ presets for better quality
463
+   
464
+* Wed May 29 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.3
465
+   * Removed workarounds for older MP4Box versions. As of this release, only gpac 0.5.0 and higher
466
+     is supported. SVN version is highly recommended, though
467
+   * Improved AC3 and MP3 audio handling
468
+   * Removed turbo option. It is no longer needed
469
+   * When using AC3 audio, language TID for MKV was set to 1. It should be 0
470
+   
471
+* Tue May 28 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.2
472
+   * Fix OGM muxing with AC3 audio
473
+   
474
+* Tue May 28 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.1
475
+   * Use aften for AC3 audio encoding as MEncoder is currently broken. This bumps up the config
476
+     file version to 22
477
+     
478
+* Tue May 21 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.5.0
479
+   * Bugfix: add missing 384 kbps option for AC3 audio
480
+   * Notify the user when we first create the config file
481
+   * SAR is Sample Aspect Ratio, not Storage Aspect Ratio. Corrected this mistake
482
+   
483
+* Thu Apr 11 2013 Grozdan Nikolov <neutrino8@gmail.com> 9.4.9
484
+   * Use ffmpeg's MPEG12 decoder instead of the libmpeg12 one
485
+   
486
+* Mon Oct 01 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.8
487
+   * Added bluray_compat=1 parameter to the Blu-ray and AVCHD presets
488
+   * Use 'true' instead of 'false' where appropriate
489
+   * Updated the man page
490
+   
491
+* Wed Sep 26 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.7
492
+   * Change bad default bitrate value in DTS audio encoding to 384kbps.
493
+   
494
+* Mon Apr 16 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.6
495
+   * Bugfix: FAAC encoding was using wrong language TID in mkvmerge. Should be 0 instead of 1 as
496
+     we no longer encapsulate AAC in MP4
497
+   * Removed --no-chapters mkvmerge option for FAAC encoding. It's no longer needed as we no longer
498
+     store the AAC audio in MP4 container
499
+     
500
+* Sat Apr 07 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.5
501
+   * Don't require FAAC to be compiled with MP4 container support (the -w option). Some distro's
502
+     do not compile FAAC with MP4 support so play it safe and assume FAAC isn't compiled with
503
+     MP4 support
504
+     
505
+* Tue Feb 21 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.4
506
+   * Only 'sed' mbtree for multi-pass mode
507
+   * Don't append "- chapter [id]" to output file when encoding only specific chapters
508
+   
509
+* Tue Jan 03 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.3
510
+   * Use -vc dummy in MPlayer in the audio code. Seems to work better on some files
511
+   
512
+* Sun Jan 01 2012 Grozdan Nikolov <neutrino8@gmail.com> 9.4.2
513
+   * Use a separate variable in config file for setting the default CRF or QP value (DEFAULT_VID_CRFQP).
514
+     This bumps the config file version to 21
515
+   * Renamed the DEFOUTPUT, DEFPATH and DEFBATCHDIR variables to DEFAULT_OUTPUT, DEFAULT_PATH and
516
+     DEFAULT_BATCHDIR
517
+   * Be slightly more portable by using #!/usr/bin/env bash instead of #!/bin/bash shebang
518
+   * Replaced some if conditionals in the -sc option by using 'test' directly
519
+   * Added an option for passing additional MEncoder parameters. Useful for when the user wants to
520
+     use something like -mc 0 -noskip, for example
521
+   * Added support for encoding to DTS audio through the dcaenc encoder which can be found at
522
+     http://aepatrakov.narod.ru/dcaenc/
523
+   * Minor changes to the video_delogo_func() function. Use $sourcetype, $device, $vid and
524
+     $MPLAYEROPTS variables. Also use -nosound in MPlayer
525
+   * Improved the mkvtags file. Escape special characters like &, <, > and " in the Title field
526
+   
527
+* Mon Oct 10 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.4.1
528
+   * Introduced two new variables in the config file, DEFAULT_VID_BITRATE and DEFAULT_AUD_CODEC.
529
+     The first one sets the default video bitrate or CRF/QP value while the second one can
530
+     be used to set a default audio codec. This change updates the config file to version 20
531
+   * Fixed a typo in man page
532
+   
533
+* Sun Aug 20 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.4.0
534
+   * Disable mbtree in multipass mode to prevent segfaulting MEncoder due to differences in
535
+     frames amount in the passlog file. Disabling mbtree reduces quality but saves us a crash
536
+     in MEncoder
537
+   * Notify the user that the script does not support AAC in AVI anymore. Also exit if user
538
+     has not selected any of the other supported containers
539
+     
540
+* Mon Aug 08 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.9
541
+   * Bugfix: selecting the x264 internal denoiser does nothing due to missing $nr variable
542
+     in the MEncoder options
543
+     
544
+* Sat Jul 23 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.8
545
+   * Update the mq, nq, hq, vhq, ehq, uhq and ihq presets. Increase subme by 1. For the ihq
546
+     preset, this means that it uses subme 11 now which requires latest x264 from git
547
+     
548
+* Sun May 15 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.7
549
+   * Removed the ssim and psnr options from the presets. Should only be used for benchmarking
550
+   
551
+* Sun Apr 04 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.6
552
+   * Fixed the subtitles function which got broken when the get_selection_func()
553
+     function got introduced
554
+     
555
+* Tue Mar 29 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.5
556
+   * Added support for setting the crop rounding value
557
+   
558
+* Wed Mar 09 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.4
559
+   * Fix option 4 and 5 of the video_deblock_func() function. Wrong vars used
560
+   
561
+* Mon Feb 21 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.3
562
+   * Fixed a bug in directory batch mode were wrong conditional was used to check
563
+     for the DEFOUTPUT variable
564
+   * Display which file is currently being processed in batch mode
565
+   * Check only for files while in batch mode
566
+   * Do not exit if user types an incorrect answer to y/n questions. Instead, ask
567
+     the question again. Patch by Jan-Hendrik Peters and friends
568
+     
569
+* Sat Jan 08 2011 Grozdan Nikolov <neutrino8@gmail.com> 9.3.2
570
+   * Use -demuxer lavf when trying to get the video length for bitrate calculation
571
+     for a target file size. Should be more reliable on M2TS/TS files
572
+   * Add support for the delogo filter. Patch by Haiko Michelfeit <haiko AT zsyndikat DOT org>
573
+     Config file version is bumped to 19
574
+   * Updated copyright dates
575
+   
576
+* Sun Dec 05 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.3.1
577
+   * Fix for the custom preset (cp) option
578
+   
579
+* Fri Nov 26 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.3.0
580
+   * Remove double $HOME variable in the -scan option
581
+   
582
+* Fri Oct 29 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.9
583
+   * Fix typo in the backup_file_func(): exisiting -> existing
584
+   * Workaround multichan FAAC encoding. FAAC somehow does not like multichan PCM from
585
+     MPlayer but it does if one treats it as raw using -P in FAAC. Nero/FLAC/Vorbis have
586
+     no issues, though. Go figure
587
+   * Added support for setting subtitle codepage during hardcoding of external subs
588
+   * Added support for the audio equalizer filter. This updates the config file version
589
+     to 18
590
+   * Removed 'time' requirement
591
+   
592
+* Thu Sep 16 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.8
593
+   * Workaround mencoder stupidity. With recent versions of mencoder that have subs
594
+     enabled by default (who came up with that great idea?), in case the user selects
595
+     to dump a sub for importing into mkv/mp4, during multipass encoding the first sub
596
+     will always get hardcoded due to missing -nosub option in the 2nd and 3rd pass code.
597
+     This is only valid for multipass encodes so people using one pass modes (-1p, -qp or -crf)
598
+     are safe.
599
+     
600
+* Wed Sep 15 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.7
601
+   * Small update to the -scan option. Just check if input file is there, regardless if
602
+     user provides the full path or not
603
+   * Enable trellis in some presets that use CAVLC
604
+   
605
+* Mon Aug 23 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.6
606
+   * Fixed a syntax error in the iphq preset
607
+   
608
+* Sun Aug 22 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.5
609
+   * Update QuickTime & iPhone presets. Patch by gongloo
610
+   
611
+* Wed Jul 21 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.4
612
+   * Typo fix in the display_quality_preset_func(); verslow -> veryslow. As this is an
613
+     informative function, it does not affect the encoding configuration
614
+   * Force -nosub option in case subtitles are skipped. This is to prevent auto-loading
615
+     of subs
616
+     
617
+* Fri Jun 25 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.3
618
+   * Added support for x264's preset, tune and profile options. This adds two additional
619
+     optional args [-t (for tune) and -pf (for profile)] which can only be used with an
620
+     x264 preset, not with the built-in script presets. If used with those, these args
621
+     will be ignored.
622
+     Examples on how to use x264 presets (which is also explained in the -help option)
623
+     h264enc -crf -p slow
624
+     h264enc -crf -p slow -t film
625
+     h264enc -crf -p slow -pf main
626
+     h264enc -crf -p slow -t film -pf high
627
+     One can also switch the -t and -pf options, eg: h264enc -crf -p slow -pf high -t film
628
+   * Updated the man page
629
+   
630
+* Sat May 15 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.2
631
+   * Small bugfix in the get_devices_func() function; script exits when user hits enter
632
+     to accept default device
633
+   * Remove AVI menu entry as supported container when using FAAC for audio encoding
634
+   
635
+* Thu Apr 29 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.1
636
+   * Reworked a bit the audio channels decode/output function. This function also got
637
+     renamed from audio_channels_func() to audio_channels_decode_func()
638
+   * Added support for the audio channels filter which can be used to add/remove/route channels
639
+     This updates the config file to version 17 and adds variable ALLOW_AUD_CHANNELS
640
+   * Bugfix: audio filters were not inserted when doing 1-pass encodes
641
+   
642
+* Sat Apr 24 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.2.0
643
+   * Switch to using external FAAC encoder to work around an issue in mkvmerge where
644
+     it flags AAC audio taken from an AVI as being Main profile regardless if LC profile
645
+     is used for encoding or not. Problem noticed & reported by benpro. This updates the
646
+     config file to version 16 and requires FAAC to be installed.
647
+   * Same small cleanups
648
+   * Updated the man page
649
+   
650
+* Sun Mar 28 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.9
651
+   * Replaced sed with awk for checking available disk space. Should work better on
652
+     FreeBSD systems. Patch by ennob from doom9
653
+   * Updated interlace options and presets to support the latest x264 from git. Note
654
+     that due to these changes, h264enc's presets are incompatible with older x264
655
+     versions so please upgrade to latest x264 from git!
656
+   * Small update to the preset.cfg file
657
+   
658
+* Thu Mar 18 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.8
659
+   * Small bugfix: keyint and keyint_min weren't passed on to MEncoder when using some
660
+     presets
661
+
662
+* Tue Mar 16 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.7
663
+   * Space escaped some previously missed variables
664
+   * Use one variable in the presets (x264params) for all MEncoder x264 encoding options.
665
+     Reduces some code and simplifies things a bit
666
+   * Updated the preset.cfg file to support the "one variable for all x264 encoder opts"
667
+     Note: those using custom preset files for encoding should read the preset.cfg file
668
+     in the doc dir and adapt their existing preset files to be compatible with the
669
+     changes. Previous older custom presets written by users will not work with this and
670
+     future versions of h264enc!
671
+     
672
+* Thu Feb 18 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.6
673
+   * Added new veriable 'DEFOUTPUT' to the config file which can be used to set a default
674
+     output directory. This updates the config to version 15
675
+   * Modified the set_output_filename_func() function to support the above variable.
676
+       - If the DEFOUTPUT variable is empty, user can either provide just the output
677
+         name for the encode (in this case the script assumes $HOME as output dir), or
678
+         the full path and output name, which in this case the script will create the
679
+         output dir if it's not present or will do a write test when the dir is present
680
+         to see if it's writable by the user. If creation of output dir or the write test
681
+         fails, the script exits with a notice.
682
+       - If the DEFOUTPUT variable contains a custom output dir, the script will test for
683
+         it and create it if it's not present. If creation fails, the script exits with a
684
+         notice. If the dir is present, the script will do a write test to see if the
685
+         custom dir is writable. If not, the script exits with a notice.
686
+       - The DEFOUTPUT variable can be overwritten on the command line. This means that if
687
+         user has set a custom output dir in the DEFOUTPUT variable but provides a path when
688
+         asked on the command line, that path will be used instead of the one in the DEFOUTPUT
689
+         variable. The script then will either check and create the provided output dir on
690
+         the command line (if that dir is not present) or will do a write test if the dir
691
+         is present. Upon failure of creation or write test, the script exits with a notice.
692
+         If no path is provided on the command line but only the output name for the encode,
693
+         the script will use the one set in the DEFOUTPUT variable.
694
+   
695
+* Sat Jan 30 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.5
696
+   * Reduced duplication in the audio encode exporting code by moving it inside functions
697
+   * Reduced duplication in the MKV/MP4/TS/OGM exporting code by moving it inside functions
698
+   * Reduced duplication in the code that prints some information before encoding starts
699
+   * Various minor code improvements
700
+   
701
+* Thu Jan 21 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.4
702
+   * Set default H.264 level to 'auto' and also accept integer numbers as levels in addition
703
+     to accepting fixed point ones, ie both 41 and 4.1 are now accepted as valid levels
704
+   * Renamed the rmconf() function to rmtemp() 
705
+   * Moved creation of temp dir, the interrupt_func() and rmtemp() functions at the beginning
706
+     of the script
707
+   * Fixed a bug in the DVD part of the -scan option where lsdvd doesn't get a valid device
708
+     passed. Bug was introduced due to changes in the new get_devices_func() function
709
+   * Reduced duplication in the mencoder_opts() function
710
+   * Various small code improvements
711
+   
712
+* Tue Jan 19 2010 Grozdan Nikolov <neutrino8@gmail.com> 9.1.3
713
+   * Made the TEMPDIR variable escape spaces in directory names
714
+   * Small update to the mkvtags_func() function
715
+   * Removed the -a52drc option for AC3 encoding
716
+   * Added new x264 intra_refresh option to the script and the preset.cfg file
717
+   * Added two new variables, DVD_DEVICE and CDROM_DEVICE, to the config file where user
718
+     can set a default block device to encode from. This updates the config file to version 14
719
+   * Merged the get_dvd_devices_func() and get_vcd_devices_func() functions into a new one
720
+     called get_devices_func()
721
+     
722
+* Wed Dec 23 2009 Grozdan Nikolov <neutrino8@gmail.com>
723
+   * Fixed a severe bug that can cause in some cases severe data loss when using a 
724
+     custom temp directory. It manifests itself when using a 'top' directory as custom
725
+     temp directory such as a partition mount point or even the user's home directory.
726
+     In such cases, the top directory will be deleted upon script termination or when encoding
727
+     finishes, resulting in possible massive data loss due to rm -rf $TEMPDIR if TEMPDIR was
728
+     set to, for example, /home/username or points to a mount point or another directory that
729
+     may be important to the user.
730
+     From now on, always use a job<pid> directory inside the one set in the TEMPDIR variable
731
+     so it'll only delete the job<pid> directory and not its parent one, minimizing possibility
732
+     of a data loss disaster
733
+   * Set nomixed_refs for the iphq/iphhq presets
734
+   
735
+* Thu Dec 10 2009 Grozdan Nikolov <neutrino8@gmail.com>
736
+   * Disabled weightp for the AppleTV presets
737
+   * Added new option sliced_threads present in latest x264 from git
738
+   * Enabled b_pyramid for some presets that use mbtree as it now works with mbtree
739
+   * Updated the preset.cfg file. Added sliced_threads option
740
+   * Changed all video ALLOW_* variables in the config file to ALLOW_VID_*
741
+   * When using dd to dump a DVD to an ISO, use options noerror,sync and a bs size of 2048
742
+   * Added support for sending mails. This requires the 'mailx' program and a valid .mailrc
743
+     file in the home directory. Mail notification can be enabled in the config file of
744
+     h264enc which also offers an example of a gmail setting for .mailrc
745
+   * Bumped config file version to 13
746
+   * Updated copyright dates
747
+   
748
+* Mon Nov 09 2009 Grozdan Nikolov <neutrino8@gmail.com>
749
+   * Implemented a simple telecine detector for NTSC DVDs. Currently it's a dumb solution
750
+     which can't distinguish between hard telecine and interlacing but it's enough to
751
+     detect soft telecine and mixed progressive/telecine content which is more common
752
+   * Simplified the FPS detection code
753
+   * Update to all presets: added new weightp x264 option. This requires latest x264
754
+     revision from git
755
+   * Updated the preset.cfg file. Added weightp option
756
+   * Small general code improvements and cosmetics
757
+   
758
+* Wed Nov 04 2009 Grozdan Nikolov <neutrino8@gmail.com>
759
+   * Replaced a few if conditionals with case statements in the neroaac_audio_func() function
760
+   * Sed a comma at the end of resolution detection in case we're dealing with TS files. The
761
+     default TS demuxer in MPlayer has a comma at the end of the resolution info which results
762
+     in errorneous behavior in the bc calculation
763
+   * Simplified the resolution detection code
764
+   * Some small cleanups
765
+   
766
+* Mon Oct 19 2009 Grozdan Nikolov <neutrino8@gmail.com>
767
+   * Force stereo audio for Nero HE-AACv2 as it doesn't support anything else, thus
768
+     it results in failure if user tries to encode with more than two channels. This
769
+     updates the audio_channels_func() function and also adds a small new independent
770
+     one called neroaac_hev2_func() which only sets the channels to two if the channels
771
+     array variables are empty, as is the case when the user did not set the channels
772
+   * Small improvements to the ABR/VBR default audio bitrates for the neroAacEnc encoder.
773
+     Base the default bitrates on the chosen AAC profile, i.e. if user chooses HE-AACv1,
774
+     default bitrate will be 55 kbps or in case of quality-based VBR encoding a value of
775
+     0.22. For LC-AAC and HE-AACv2, default bitrates and quality values will be 96 kbps
776
+     or 0.35 and 25 kbps or 0.11, respectively. Note that this assumes the input audio is
777
+     stereo so if it's anything else than that, it's up to the user to decide on bitrates
778
+     or quality values
779
+   * Set default to a capital letter in questions where one needs to answer with y or n
780
+   * Update to all presets: updated the b_pyramid option to use the new args none/strict/normal
781
+     present in latest x264 revision. Note that this requires both latest MPlayer from SVN
782
+     and latest x264 revision from git
783
+   * Small b_pyramid update to the preset.cfg file
784
+   
785
+* Sat Oct 17 2009 Grozdan Nikolov <neutrino8@gmail.com>
786
+   * Added new function video_subtitles_align_func() for subtitle alignment control.
787
+     Requested by blaz on doom9.org forum.
788
+   * Added new x264 option 'constrained_intra' to the preset.cfg file.
789
+   * Added detection of VFR content (1000 fps as reported by MPlayer).
790
+   * Added X264_VERSION and MKVMERGE_VERSION entries to the mkvtags_func() function.
791
+   * Simplified a bit the audio exporting code for the first track.
792
+   
793
+* Thu Sep 24 2009 Grozdan Nikolov <neutrino8@gmail.com>
794
+   * MP3 (MPEG1 Layer 3) only supports sample frequencies of 32, 44.1 and 48 kHz
795
+     so restrict to those only in the audio_resample_func() function
796
+   * Set default for the pp7 deblocker to 3
797
+   * Fixed example typo in the DVD chapters code
798
+   * Insert the ilpack filter before the scaler to correctly align chroma channels
799
+     when preserving interlacing
800
+   * Added AUDIO_CODEC_TRACK[1|2|3], AUDIO_LANGUAGE_TRACK[1|2|3] and H264ENC_PARAMETERS
801
+     entries to the mkvtags_func() function
802
+   * Enabled adaptive transform for the AppleTV HQ preset (atvhq)
803
+   * Improved checking the availability of block devices
804
+   * Added option 'global_header' to the preset.cfg file
805
+   
806
+* Wed Sep 16 2009 Grozdan Nikolov <neutrino8@gmail.com>
807
+   * Small bugfix: setting the H.264 level for the fghq preset wasn't possible
808
+   * Small bugfix: the counter in set_output_filename_func() didn't increase itself
809
+   * Added SOURCE, VIDEO_FILTERS, AUDIO_FILTERS_TRACK[1|2|3], ENCODER and X264_PARAMETERS
810
+     entries to the mkvtags_func() function
811
+     
812
+* Mon Sep 14 2009 Grozdan Nikolov <neutrino8@gmail.com>
813
+   * Use only lowercase words in all case statements that deal with the input source
814
+   * Some small improvements to the exit info in the audio code
815
+   * Placed the -passlogfile option inside the PASSLOG variable
816
+   * Set psy_rd to 0.3 for the Anime presets
817
+   * Allow setting the H.264 level for the PC presets to "auto" so libx264 will
818
+     decide itself which level to use based on options and resolution used
819
+   * Added support for 2-pass Nero AAC audio encoding. Note that 2-pass is only
820
+     supported by ABR/CBR encoding and ensures that the output quality is constant
821
+     (like VBR) while also ensuring that a specified output bitrate is achieved
822
+     (like CBR). Requested by punlo on doom9.org
823
+     
824
+* Sun Sep 06 2009 Grozdan Nikolov <neutrino8@gmail.com>
825
+   * Fixed a typo in the man page, MEnocder -> MEncoder
826
+   * Small improvement to how the MKV XML tagging file gets exported. Also improved
827
+     the XML formatting and added COMMENT string with text "Tagged by h264enc $version"
828
+   * Added comment tag for MP4 and OGM with the same text as above
829
+   * Small update to the video_deinterlace_func() function's menu
830
+   * Add comment header with dates to batch files
831
+   
832
+* Fri Sep 04 2009 Grozdan Nikolov <neutrino8@gmail.com>
833
+   * Added new option sync_lookahead available in latest x264 git and updated the
834
+     preset.cfg file
835
+   * Added support for the noise video filter. This change updates the config file
836
+     to version 12. Also, encoding priority now defaults to a nice value of 10 in
837
+     the config file
838
+   * Moved out the code which checks and backups/renames a file if it has the same
839
+     name as the output provided by the user to a separate function called
840
+     backup_file_func() and also improved it so that if there's already an existing
841
+     backup file, the new one will increase its count number by one thus there's no
842
+     more overwriting being done anymore. The same thing applies to existing chapter
843
+     files and DVD subs
844
+   * Added support for Year and Genre metadata tagging for the MKV/MP4/OGM containers.
845
+     For MKV, the genre and year is set globally using an automatically generated XML
846
+     file. MP4 uses the iTunes tagging and OGM the comment space
847
+   * Updated the man page
848
+   
849
+* Tue Sep 01 2009 Grozdan Nikolov <neutrino8@gmail.com>
850
+   * Simplified the audio_channels_func() function a bit
851
+   * Merged the QP and CRF settings
852
+   * Increased rc_lookahead a bit for the ehq, uhq and ihq presets
853
+   * Improved detection of DVD audio language codes. We now specifically grep for the
854
+     language word and then print the 2nd positional which gives us the language code.
855
+     It works more reliably if the DVD does not report its language code for the audio track(s)
856
+     so if this is the case, we fall back to undefined language. The previous code fails in
857
+     such cases due to the printing of the 8th positional which will print the "aid:" part when
858
+     there's no language code after the "language:" word, resulting in MKV/MP4 muxing failures.
859
+     Reported by WalterK from doom9.org
860
+   * Moved the code that deals with DVD subs/cover files/metadata info/chapters and external
861
+     subs for the MP4 container before its audio code
862
+   * Added slicing to the Blu-ray and AVCHD presets. It increases compliancy with the Blu-ray
863
+     specs. Slicing is only available in the latest x264 from git so please upgrade if you
864
+     intend to use the Blu-ray/AVCHD presets
865
+   * Added new options 'slices', 'slice_max_size' and 'slice_max_mbs' to the preset.cfg file
866
+   * Fixed chapters import for the OGM container. Missing '@' before the chapters input file
867
+     results in the file not being imported
868
+   * Added support for audio language metadata info for the OGM container
869
+   * Small improvements to how chapters information is added to the output file name
870
+   
871
+* Sat Aug 15 2009 Grozdan Nikolov <neutrino8@gmail.com>
872
+   * Renamed presets f9 and f9hq to fl and flhq
873
+   * Added new preset 'fghq' specifically optimized for preserving film grain
874
+   * Removed duplicate videofilters variable. This removes the check for the tfields filter
875
+     as now deinterlacing will always be done after cropping (which also speeds up things a bit)
876
+     so the crop filter will never complain about crop area being outside of the original if
877
+     tfields is used. It also reduces filters maintenance a bit
878
+   * Turn soft-clipping on in the volume audio filter
879
+   * Use aq_mode=1 for presets that have mbtree enabled as it usually does better on fades than
880
+     aq_mode=2
881
+   * Updated the man page
882
+   
883
+* Tue Aug 11 2009 Grozdan Nikolov <neutrino8@gmail.com>
884
+   * Reduced the amount of if conditional iterations for setting the scaler interlace variable
885
+   * Print full path of the output file(s) at the end of encoding
886
+   * 10L: forgot to enable MB tree for the anihq preset
887
+   * Replaced variable CONFIGDIR with TEMPDIR. This change updates the config file to version 11
888
+   * Fixed some spacings issues by moving around some echo's
889
+   * Simplified the sample encoding code. Reduced some code duplication
890
+   * Upped psy_rd from 0.6 to 0.8
891
+   
892
+* Fri Aug 07 2009 Grozdan Nikolov <neutrino8@gmail.com>
893
+   * Added support for the audio panning filter. This change also updates the config file
894
+     to version 10
895
+   * Simplifications to the audio_filters_func() and audio_filters_var_func() functions
896
+   * Moved the audio filters functions after the audio codec ones
897
+   * Fixed a bug in the audio_channels_func() function for the AAC codec. If user just
898
+     hits return to accept the default AAC codec, the channels function was not called
899
+     due to missing "" in the first case statement of that function
900
+   * Enabled MB tree (macroblock tree ratecontrol) for the high quality presets and disabled
901
+     b_pyramid for presets that have mbtree enabled as it currently doesn't support it. Note that
902
+     mbtree produces a large passlog file when ran in 2-pass mode but can increase quality anywhere
903
+     between 2-70%, depending on the content. mbtree is only available in latest x264 git so
904
+     please upgrade
905
+   * Added new options mbtree, rc_lookahead and nopsy to the preset.cfg file
906
+   
907
+* Sat Aug 01 2009 Grozdan Nikolov <neutrino8@gmail.com>
908
+   * Added new option -mfr which calculates the maximum allowed frame references within DPB
909
+     (Decoded Picture Buffer) limits for different H.264 levels and resolutions
910
+   * Call the track_echo_func() function inside the select_audio_codec_func() one. Removes
911
+     pointless duplication
912
+   * Don't call mplayer twice in the 2nd/3rd audio track code just to get the audio codec.
913
+     Also removed a pointless case statement
914
+   * Allow users to set the H.264 level when using the standard PC presets
915
+   * Fixed a few typos in the preset.cfg file
916
+   * Updated the man page
917
+   
918
+* Thu Jul 30 2009 Grozdan Nikolov <neutrino8@gmail.com>
919
+   * Increased subq to 10 (QP-RD) for the IHQ preset. Requires latest x264 from git. Also
920
+     lowered frameref from 16 to 8 and bframes from 10 to 7
921
+   * Add example on how to encode only specific DVD chapters. Some people keep bugging me
922
+     about this while it's actually very simple
923
+     
924
+* Fri Jul 24 2009 Grozdan Nikolov <neutrino8@gmail.com>
925
+   * Switched to the new Auto-variance AQ (aq_mode=2) for all presets. This requires latest x264
926
+     revision from git so please upgrade!
927
+   * Decreased frame references for all iPod presets to 1 and increased subq to 8 for the HQ iPod
928
+     presets
929
+   * Minor improvments to the set_output_filename_func() function
930
+   * Merged the audio code of the portable device presets. Moderately reduces code duplication in
931
+     the audio functions calling code
932
+   * Added two new presets (ag1 and ag1hq) for Android G1 devices. This brings the total presets
933
+     count to 60
934
+   * Added support for the new gradfun debanding video filter. Although mostly recommended for playback
935
+     due to the fact that encoding tends to bring back banding, it can be useful to deband input
936
+     sources which show pretty bad and very noticable banding effects before passing the content
937
+     to the encoder. The gradfun filter is only available in MPlayer SVN. This also adds a new
938
+     variable ALLOW_DEBAND to the config file where one can enable or disable this filter
939
+   * Added a small while loop to the video_crop_func() function which will keep asking the user for
940
+     new crop values until he's satisfied with them. Patch by elektronaut from Doom9.org
941
+   * Added a new variable PRIORITY to the config file which can be used to set a global priority
942
+     nice value for the encoding process. The values one can use are between (and including)
943
+     -20 and 19. However, if the script detects that the variable has a negative nice value
944
+     set and the script is being executed with regular user privileges, it will print a notice
945
+     and exit. This change updates the config file to version 9
946
+   * Updated the man page
947
+   
948
+* Wed Jul 08 2009 Grozdan Nikolov <neutrino8@gmail.com>
949
+   * Added detection for E-AC3 audio for stream copy and updated the MKV/TS muxing code to support it
950
+   * Added new option -spr which calculates the Storage and Pixel Aspect Ratios (SAR/PAR) for various
951
+     resolutions
952
+   * Display the amount of chapters each DVD title has when scanning for titles
953
+   * Display total pixels, SAR and PAR when scanning a file/vcd with the -scan option
954
+   * Added --no-chapters mkvmerge option for audio files encoded by neroAacEnc so that chapters
955
+     won't be copied over to the MKVs from these files
956
+   * Small update to the install script
957
+   * Updated the man page. Fix some small cosmetic issues, patch by Alessio Treglia
958
+   
959
+* Wed Jul 01 2009 Grozdan Nikolov <neutrino8@gmail.com>
960
+   * Fallback to undefined audio language in the AUDLANG[$i] variables if we detect unknown language
961
+     from MPlayer's output
962
+   * Added support for bitrate-based ABR Vorbis encoding in addition to quality-based VBR. ABR mode
963
+     in Vorbis resembles quality-based VBR except the encoder averages a given nominal bitrate
964
+   * Updated the Vorbis part of the video bitrate calculation code
965
+   * Added new function ratio_and_pixels_func() which calculates and displays the Storage Aspect Ratio (SAR),
966
+     Pixel Aspect Ratio (PAR) and total pixels from resolution
967
+   * Bugfix for track 1 in the internal audio encoding code. If using aacplusenc to encode audio, the case
968
+     statement had a wrong selection value (aac++ instead of aac+) resulting in displaying a failed message
969
+     and forcing an exit even though the encoding may have succeeded
970
+   * Simplifications to the internal audio encoding code which reduce code duplication
971
+   * Small fixes to the video bitrate calculation code
972
+   * Small tuning to the Blu-ray/AVCHD presets
973
+   * Small cleanups
974
+   
975
+* Fri Jun 26 2009 Grozdan Nikolov <neutrino8@gmail.com>
976
+   * Set default audio codec for the Blu-ray/AVCHD presets to AC3
977
+   * Bugfix to the OGM muxing code. Second/third track were ignored when one selects AC3 audio
978
+   * Added keyint, keyint_min, nr and interlaced variables to the custom preset skeleton file 'preset.cfg'
979
+   * Moved the AACTYPE variable to the neroaac_audio_func() function and updated the specific parts
980
+     that use it in the MKV/MP4 muxing code
981
+   * Do not automatically detect audio sample rate in directory batch encoding mode. Only do it
982
+     for single file/dvd/vcd encodings as in batch mode, detection will only print the sample rate of
983
+     the first file but not the other files in the directory so this can mislead the user in thinking
984
+     that all files in the directory have the sample rate reported by the script. It is possible to
985
+     implement sample rate detection for all files but since we don't know how many files are in
986
+     the directory, I do not want the user to see a full screen with sample rate info of each file if
987
+     he deals with a directory with a few hundreds or more files in it
988
+   * Disallow autocropping, if enabled in the config file, for directory batch encodings
989
+   * Small reordering to the MP4 muxing code
990
+   * Small update to the install script
991
+   * Updated the man page
992
+   
993
+* Wed Jun 24 2009 Grozdan Nikolov <neutrino8@gmail.com>
994
+   * Removed audio filters for the 1st pass in 2-pass encoding and for the 1st & 2nd pass of
995
+     a 3-pass encoding. They are useless here and it's something I've overlooked for a long
996
+     time. Thanks to Mat Kanner for noticing and reporting
997
+   * Some small changes to the way we pass FPS to MP4Box
998
+   * Added support for MP4 hinting for RTP/RTSP sessions
999
+   * Simplifications to the external subs importing code. Also fixed a bug in the MP4 subs
1000
+     importing code; missing -add option in the MP4SUBS variable will make MP4Box fail
1001
+   * Merged the MKV tagging code with the muxing one
1002
+   * Added support for detection of WMA audio for stream copy
1003
+   * Added support for per track audio codecs for DVD encodings. The user can now select
1004
+     if he wishes for each track a different audio codec. Mixing audio stream copy with
1005
+     compression codecs is also possible
1006
+   * Updated all relevant audio functions to support per track audio codecs
1007
+   * Updated the bitrate calculation code to support per track audio codecs
1008
+   * Updated the container muxing code to support the above audio changes
1009
+   
1010
+* Mon Jun 22 2009 Grozdan Nikolov <neutrino8@gmail.com>
1011
+   * Small improvement to the MKV/MP4 tagging code: support audio tagging of single file
1012
+     encodes with audio stream copy
1013
+   * Use array variables ${SUBFILE[2] and ${SUBFILE[3] instead of ${OUTPUT%.*}_sub2
1014
+     and ${OUTPUT%.*}_sub3 when dumping the second/third DVD subtitles
1015
+   * Simplified the MKV cover art importing code
1016
+   * Small improvements to video bitrate calculation with audio stream copy
1017
+   * Use only one named pipe for all tracks when encoding to neroAAC/AAC+/Vorbis/FLAC
1018
+   * Major audio code restructuring and partial rewrite. Converted virtually all audio
1019
+     code variables to array variables. This allows for easy extensibility and much less
1020
+     code duplication. It's very easy now to add as much audio tracks as one may want to the
1021
+     code with very little changes/updates needed to the containers code. Also the current
1022
+     changes may allow very easily to support different audio codecs per track in the future
1023
+   * Added support for a third DVD audio track
1024
+   * Updated the video bitrate calculation for target size to support the above audio changes
1025
+   * Converted most of the variables in the video_subtitles_func() function to arrays. This
1026
+     moderately reduces some code duplication
1027
+   * Updated the container muxing/tagging code to support the above audio changes
1028
+   * Use external flac encoder to encode to FLAC audio as doing it through mencoder is terribly
1029
+     broken. This updates the config file to version 8 and adds the 'flac' encoder as dependency
1030
+   * Set the default resampling filter to lavcresample as the other one gives problems when
1031
+     encoding to FLAC audio and resampling
1032
+     
1033
+* Wed Jun 19 2009 Grozdan Nikolov <neutrino8@gmail.com>
1034
+   * Simplifications to the MKV tagging code which reduces some code duplication
1035
+   * Bugfix: FAAC acodec2 variable has wrong mpeg value. Must be mpeg=4 instead of mpeg4.
1036
+     This results in failure in encoding of the second audio track when one selects
1037
+     FAAC as encoder
1038
+   * Bugfix: FLAC audio was ignored for the second track due to missing value in the selection
1039
+     of the case statement
1040
+   * Added support for tagging of MKV files when doing a directory batch encoding
1041
+   * Replaced the IMPSUB1, IMPSUB2 and IMPSUB3 variables, used to import subs when input type
1042
+     is file/directory/vcd, by array variables EXTSUB[1], EXTSUB[2] and EXTSUB[3]. This allows
1043
+     for less code duplication as these array variables are shared by all input types (including DVD)
1044
+     and thus we only need to do a small loop and add their values if not empty to the
1045
+     MKVSUBS, MP4SUBS and OGMSUBS variables
1046
+   * Use as temp directory $HOME/.h264enc/job<PID>
1047
+   * Added new function audio_stream_copy_func() which will print a warning that audio stream copy
1048
+     in directory batch encoding mode is not recommended unless the user is certain that the files
1049
+     have a supported audio codec by the MKV/MP4/OGM/TS containers
1050
+   * Group audio filters under a submenu similar to how the video filters are grouped
1051
+   * Some small cleanups
1052
+   
1053
+* Wed Jun 17 2009 Grozdan Nikolov <neutrino8@gmail.com>
1054
+   * Added support for per track audio bitrate for DVD encodings
1055
+   * Added support for per track audio normalization and volume adjustments for DVD encodings.
1056
+     Updated functions audio_volnorm_func() and audio_volume_func()
1057
+   * Added support for per track audio resampling for DVD encodings. Updated functions
1058
+     audio_resample_filters_func() and audio_resample_func()
1059
+   * Updated the video bitrate calculation code to support the above audio changes
1060
+   * Bugfix for the qt/bd/avchd presets: audio filters were not called for these presets
1061
+   * Added support for per track AAC profile settings (LC/HE/HEv2) when using the
1062
+     neroAacEnc audio encoder
1063
+   * Small modifications to the MKV/MP4 tagging and muxing code to support the
1064
+     per track neroAacEnc AAC profiles. This also includes optimizations to the way
1065
+     the tagging code handles different AAC profiles. If LC profile is chosen, audio will
1066
+     be tagged as LC-AAC (along with channels info). For HE and HEv2, audio will be tagged
1067
+     as HE-AACv1 and HE-AACv2 (along with channels info) respectively
1068
+   * Moved the MKV tagging code inside the MKV muxing code
1069
+   * Converted the EXTSUB1, EXTSUB2 and EXTSUB3 variables, used to import external DVD subs,
1070
+     to arrays so we can easily check different files for their file extensions
1071
+   * Only allow SRT subs as import into OGM. If another subs format is provided, the
1072
+     subs will be skipped. For MP4, do not allow ASS/SSA subs since it's not supported yet
1073
+     by MP4Box. For MKV, do not allow SUP and TTXT subs
1074
+     
1075
+* Mon Jun 15 2009 Grozdan Nikolov <neutrino8@gmail.com>
1076
+   * Update to the video_subtitles_func() function: for DVD encodings, added support
1077
+     for importing up to three external subtitles into MKV/MP4/OGM. Also added
1078
+     support for hardcoding an external subtitle into the movie
1079
+   * Updated the MKV/MP4/OGM muxing code to support imports of external subtitles
1080
+   * Increased Psy RD from 0.5 to 0.6 for some presets
1081
+   * If dumping of the second and/or third DVD subtitle fails and user has selected to
1082
+     import the subs into MKV/MP4, force an exit since container conversion will fail as
1083
+     the muxing programs will complain about the missing subs. If no container conversion
1084
+     is chosen or user has chosen not to import the subs and dumping of subs fails, just
1085
+     continue since there's nothing critical in this case
1086
+   * Use mplayer -really-quiet option instead of redirection to /dev/null when dumping
1087
+     audio to a named pipe for neroAAC/Vorbis/AAC+ encoding
1088
+   * Some small updates to the man page
1089
+   * Updated the AUTHORS file
1090
+   
1091
+* Fri Jun 12 2009 Grozdan Nikolov <neutrino8@gmail.com>
1092
+   * Replaced the --noaudio mkvmerge option with -A due to recent options changes
1093
+     in mkvmerge version 2.9.5. -A also works for older versions so nothing breaks here
1094
+   * Removed the check_outfile_func() function as its code has been added to the
1095
+     set_output_filename_func() function, which also has been improved
1096
+   * Added support for FLAC audio in MKV
1097
+   * Removed some code duplication in the MKV metadata tagging code
1098
+   
1099
+* Tue Jun 09 2009 Grozdan Nikolov <neutrino8@gmail.com>
1100
+   * Added support for adding jpeg/png cover art files to MKV/MP4
1101
+   * Added audio language meta-info for MP4 and TS files
1102
+   * Improved audio language meta-info for MKV files. This also adds metadata
1103
+     info for the second audio track
1104
+   * Fixed a small bug: the --aac-is-sbr mkvmerge parameter should be set to 0:1
1105
+     for the second audio track when using aacplusenc as encoder
1106
+     
1107
+* Mon Jun 08 2009 Grozdan Nikolov <neutrino8@gmail.com>
1108
+   * Add iTunes video title name to MP4 files
1109
+   
1110
+* Sun May 24 2009 Grozdan Nikolov <neutrino8@gmail.com>
1111
+   * Use the same name for the log file as the output file name
1112
+   * Force using the libmpeg2 decoder when encoding DVDs/VCDs (works slightly better in specific
1113
+     cases compared to ffmpeg2)
1114
+   * Added support for IVTC 59.940 -> 23.976 fps
1115
+   * Some small code cosmetics
1116
+
1117
+* Tue May 12 2009 Grozdan Nikolov <neutrino8@gmail.com>
1118
+   * Added deinterlace combinations of Yadif + linear blend, linear interpolation, cubic
1119
+     interpolation, median deint, ffmpeg deint and lowpass 5
1120
+   * Cosmetics to the help menu
1121
+   * Added global audio function audio_filters_func() for calling the resample, volume
1122
+     normalizing and volume filters
1123
+   * Added 16 new variables to the config file for enabling/disabling of specific audio/video
1124
+     filters and containers: ALLOW_FPS_CONVERSION, ALLOW_SCALER_TUNING, ALLOW_DSIZE,
1125
+     ALLOW_EXPAND, ALLOW_COLORSPACE, ALLOW_ASPECT, ALLOW_AUD_RESAMPLE, ALLOW_AUD_NORMALIZE,
1126
+     ALLOW_AUD_VOLUME, ALLOW_MKV_MUXING, ALLOW_MP4_MUXING, ALLOW_TS_MUXING, ALLOW_OGM_MUXING,
1127
+     ALLOW_SAMPLE_ENCODING, ALLOW_SCAN_MULTIPLE_VIDSTREAMS and ALLOW_SCAN_MULTIPLE_AUDSTREAMS,
1128
+     the last two are only effective on file and directory batch encodings
1129
+   * Updated the man page
1130
+
1131
+* Thu May 7 2009 Grozdan Nikolov <neutrino8@gmail.com>
1132
+   * Automatically add the shebang line to batch files and make them executable
1133
+   * Added new variable ALLOW_AUTOCROP to the config file which allows the user to enable or
1134
+     disable automatic cropping
1135
+   * Added MP3 presets and updated target file size code to support them (requested by Rogério Brito)
1136
+   * Some minor adjustments to the hq, vhq, ehq, uhq and ihq presets; decrease b-frames by one
1137
+
1138
+* Wed Apr 29 2009 Grozdan Nikolov <neutrino8@gmail.com>
1139
+  - Small bugfix: video filters variables in the config file were not respected when one
1140
+    chooses to encode VCDs. 
1141
+  - Add video title meta-data for MKV and OGM when doing directory batch encodings
1142
+
1143
+* Tue Apr 28 2009 Grozdan Nikolov <neutrino8@gmail.com>
1144
+   * Optimize some variables by replacing piping to sed with VARIABLE1="${VARIABLE2%.*}.ext"
1145
+   * Move out the built-in -loop 1 mplayer option to the config file's MPLAYEROPTS variable
1146
+   * Add support for enabling/disabling specific pre/postprocessing filters in the config file.
1147
+     This adds 7 new variables to the config file where the user can either enable to ask
1148
+     questions about a specific filter or disable a specific variable, thus skipping
1149
+     questions about the filter
1150
+   * Moved the video filters code to a new function called video_filters_func(). This also
1151
+     reduces a bit of code duplication
1152
+   * Add a new option -e which allows the user to edit the config file directly from within the
1153
+     terminal. This adds a new variable EDITOR to the config file where the user can set his
1154
+     preferred text editor (defaults to nano)
1155
+   * Silence possible dvdxchap warnings
1156
+   * Updated the man page
1157
+
1158
+* Thu Apr 26 2009 Grozdan Nikolov <neutrino8@gmail.com>
1159
+   * Bugfix: missing 's' in the sed expression of the MP4OUT variable. This results in
1160
+     missing output file and will fail when one tries to remux to mp4
1161