Changes of Revision 296
h264enc.spec
Added
x
1
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