Changes of Revision 73

xvidenc.spec Added
x
 
1
@@ -0,0 +1,575 @@
2
+# norootforbuild
3
+
4
+Name:      xvidenc
5
+Version:   8.5.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://xvidenc.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 aften vorbis-tools opus-tools mailx MPlayer mkvtoolnix pv
19
+
20
+
21
+%description
22
+xvidenc is an advanced and powerful interactive menu-driven shell script
23
+written for the GNU/Linux operating system which can help you to encode
24
+a DVD, a (S)VCD or a regular video file to the MPEG-4 SP/ASP format using
25
+the MEncoder encoder from the MPlayer project and the Xvid library. It supports
26
+muxing the final encode from AVI to Matroska, from AVI to OGM 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
+# binary
37
+%__install -D -m 755 %{name} %{buildroot}/%{_bindir}/%{name}
38
+
39
+# man
40
+gzip -9 man/%{name}.1
41
+%__install -D -m 644 man/%{name}.1.gz %{buildroot}/%{_mandir}/man1/%{name}.1.gz
42
+
43
+# docs
44
+%__mkdir -p %{buildroot}/%{_docdir}/%{name}/matrices/Jawor{1,2}CD
45
+%__install -m 644 doc/* %{buildroot}/%{_docdir}/%{name}
46
+%__install -m 644 matrices/Jawor1CD/* %{buildroot}/%{_docdir}/%{name}/matrices/Jawor1CD
47
+%__install -m 644 matrices/Jawor2CD/* %{buildroot}/%{_docdir}/%{name}/matrices/Jawor2CD
48
+
49
+
50
+%clean
51
+rm -rf "%{buildroot}"
52
+
53
+
54
+%files
55
+%defattr(-,root,root)
56
+%{_bindir}/%{name}
57
+%{_docdir}/%{name}
58
+%{_mandir}/man1/%{name}.1.gz
59
+
60
+
61
+%changelog
62
+* Sun Dec 15 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.5.8
63
+   * Bugfix: copying of audio stream was set to pcm. Should be copy
64
+   * Allow relative paths when storing the batchfile
65
+   
66
+* Mon Nov 11 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.5.7
67
+   * Allow importing of PGS subtitles into the MKV container
68
+   * Added support for importing a chapters file for MKV/MP4/OGM when input is file
69
+   * Added support for setting the audio language code for MKV/MP4/OGM when input is file
70
+   * Added support for setting the subtitle language code when importing subs into MKV/MP4/OGM
71
+   
72
+* Sun Nov 03 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.5.6
73
+   * Placed the $demuxer variable higher. Fixes audio detection for file input
74
+   * Moved some audio selection code into a new set_audio_codec_func() function.
75
+     Reduces some code duplication and removes the default_audio_codec_func() function
76
+     
77
+* Fri Nov 01 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.5.5
78
+   * Merged the file and dvd audio detection/selection code
79
+   * Merged the audio code for the first track with the code for subsequent tracks
80
+   * Set a default audio ID based on input (ie, 0 for file and 128 for DVD)
81
+   * Small improvements to the subtitles code
82
+   * Use -demuxer lavf for file and dir encodings
83
+   * Renamed the -help switch to -h
84
+   * Improved the way audio tracks information is presented to the user
85
+   * Make destination dir if it doesn't exist for saving to the batchfile
86
+   * Updated the man page
87
+   
88
+* Thu Oct 31 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.5.4
89
+   * Implemented support for virtually an infinite amount of subtitles. This introduces a new
90
+     variable, MAX_AMOUNT_SUBS, to the config file where the user can set the amount of subtitles
91
+     he/she wants the script to support
92
+   * Added output name to the message of the mail notification feature
93
+   * Fixed the nosound audio option
94
+   * Renamed the rmtemp() function to exit_func()
95
+   * Return proper exit codes. 0 on success, 1 on error and 2 on user interrupt
96
+   
97
+* Wed Oct 30 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.5.3
98
+   * Added -demuxer lavf for more reliable detection of audio streams in file input mode
99
+   * Implemented virtually infinite support for the amount of audio tracks. This introduces
100
+     a new variable in the config file, MAX_AMOUNT_AUD_TRACKS, where the user can specify
101
+     how many audio tracks he/she wants the script to support.
102
+   * Enabled multi-channel support for Opus audio
103
+   * Moved the MKV audio filters metadata after the audio codec/language metadata
104
+   * Fixed copy and pcm audio encoding
105
+   * If user chooses PCM for subsequent audio tracks, don't error out but just skip the track
106
+   * Some minor clean-ups
107
+   
108
+* Tue Oct 29 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.5.2
109
+   * Added support for the Opus audio codec. Requires opusenc and a recent version of
110
+     mkvtoolnix with support for Opus
111
+   * Renamed track_echo_func() to audio_track_echo_func() for consistency
112
+   * Added support for setting the AC-3 Exponent strategy search size
113
+   * Allow applying an LFE low-pass filter for AC-3 audio
114
+   * Improved aften options passing
115
+   * Updated the man page
116
+   
117
+* Mon Oct 28 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.5.1
118
+   * Bugfix: codec detection for 2nd and 3rd audio track from DVDs did not work correctly
119
+   * Updated the man page
120
+   
121
+* Thu Oct 24 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.5.0
122
+   * Allow encoding of 640 kbps AC-3 audio
123
+   * Detect and display audio codec info when input is file
124
+   * Added support for setting the Dynamic Range Compression (DRC) profile for AC-3 audio
125
+   * Fixed AC-3 audio encoding by adding -readtoeof 1 which ignores WAV header signaling
126
+   * Renamed aften $AC3 var to $AC3ENC
127
+   * Use AC-3 instead of AC3 in metadata info
128
+   
129
+* Mon Sep 02 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.4.9
130
+   * Fix audio TID for MKV when using neroAacEnc as encoder
131
+   
132
+* Wed May 29 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.4.8
133
+   * Removed workarounds for older MP4Box versions. As of this release, only gpac 0.5.0 and higher
134
+     are supported. SVN version is highly recommended, though
135
+   * When using AC3 audio, language TID for MKV was set to 1. It should be 0
136
+   
137
+* Tue May 28 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.4.7
138
+   * Use aften for AC3 audio encoding as MEncoder is currently broken. This updates the config
139
+     file version to 18
140
+     
141
+* Wed May 22 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.4.6
142
+   * Bugfix: add missing 384 kbps option for AC3 audio
143
+   * Notify the user when we first create the config file
144
+   * SAR is Sample Aspect Ratio, not Storage Aspect Ratio. Corrected this mistake
145
+   
146
+* Thu Apr 11 2013 Grozdan Nikolov <neutrino8@gmail.com> 8.4.5
147
+   * Use ffmpeg's MPEG12 decoder instead of the libmpeg12 one
148
+   * Updated the man page
149
+   
150
+* Thu Sep 27 2012 Grozdan Nikolov <neutrino8@gmail.com> 8.4.4
151
+   * Don't append '- chapter [id]' to output filename when user encodes only specific DVD chapters
152
+   * Change bad default bitrate value in DTS audio encoding to 384kbps.
153
+   
154
+* Mon Jan 02 2012 Grozdan Nikolov <neutrino8@gmail.com> 8.4.3
155
+   * Added support for setting the default video bitrate/quantizer and default audio codec
156
+     in the config file, which introduces three new variables; DEFAULT_VID_BITRATE,
157
+     DEFAULT_VID_QTZR and DEFAULT_AUD_CODEC. This bumps the config file version to 17
158
+   * Renamed variables DEFOUTPUT, DEFPATH and DEFBATCHDIR to DEFAULT_OUTPUT, DEFAULT_PATH
159
+     and DEFAULT_BATCHDIR
160
+   * Replaced some if conditionals in the -sc option by using 'test' directly
161
+   * Added an option to pass additional parameters to MEncoder. Useful if user wants to pass options
162
+     such as -mc 0 -noskip
163
+   * Added support for encoding to DTS audio through the dcaenc encoder which can be found
164
+     at: http://aepatrakov.narod.ru/dcaenc/
165
+   * Minor changes to the video_delogo_func() function. Use $sourcetype, $device, $vid and
166
+     $MPLAYEROPTS variables. Also use -nosound in MPlayer
167
+   * Improved the mkvtags file. Escape special characters like &, <, > and " in the Title field
168
+   * Use -vo dummy in MPlayer in the audio code. Seems to work better for some files
169
+   
170
+* Tue Mar 29 2011 Grozdan Nikolov <neutrino8@gmail.com> 8.4.2
171
+   * Added support for setting the crop rounding value
172
+   
173
+* Mon Mar 07 2011 Grozdan Nikolov <neutrino8@gmail.com> 8.4.1
174
+   * Fixed a bug in directory batch mode were wrong conditional was used to check
175
+     for the DEFOUTPUT variable
176
+   * Display which file is currently being processed in batch mode
177
+   * Check only for files while in batch mode
178
+   * Fixed the video_deblock_func() function. Wrong vars used
179
+   
180
+* Mon Jan 31 2011 Grozdan Nikolov <neutrino8@gmail.com> 8.4.0
181
+   * Use -demuxer lavf when trying to get the video length for bitrate calculation
182
+     for a target file size. Should be more reliable on M2TS/TS files
183
+   * Added support for the delogo filter and bumped config file version to 16
184
+   * Updated copyright dates
185
+   
186
+* Fri Nov 26 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.3.9
187
+   * Remove double $HOME variable in the -scan option
188
+   
189
+* Fri Oct 29 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.3.8
190
+   * Added support for setting subtitle codepage during hardcoding of external subs
191
+   * Added support for the audio equalizer filter. This updates the config file version
192
+     to 15
193
+   * Removed 'time' requirement
194
+   
195
+* Wed Sep 22 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.3.7
196
+   * Workaround mencoder stupidity. With recent versions of mencoder that have subs
197
+     enabled by default (who came up with that great idea?), in case the user selects
198
+     to dump a sub for importing into mkv/mp4, during multipass encoding the first sub
199
+     will always get hardcoded due to missing -nosub option in the 2nd and 3rd pass code.
200
+     This is only valid for multipass encodes so people using one pass modes (-1p or -fq)
201
+     are safe.
202
+   * Small update to the -scan option. Just check if input file is there, regardless if
203
+     user provides the full path or not
204
+     
205
+* Sat Aug 07 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.3.6
206
+   * Add -nosub to prevent auto-loading of subs
207
+   
208
+* Sat May 15 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.3.5
209
+   * Small bugfix in the get_devices_func() function; script exits when user hits enter
210
+     to accept default device
211
+   * Updated the man page
212
+   
213
+* Wed May 05 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.3.4
214
+   * Reworked a bit the audio channels decode/output function. This function also got
215
+     renamed from audio_channels_func() to audio_channels_decode_func()
216
+   * Added support for the audio channels filter which can be used to add/remove/route channels
217
+     This updates the config file to version 14 and adds variable ALLOW_AUD_CHANNELS
218
+   * Some various small improvements
219
+   
220
+* Fri Mar 12 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.3.3
221
+   * Small bugfix: the $interlacing variable wasn't passed on to mencoder
222
+   * Space escaped some previously missed variables
223
+   
224
+* Sat Feb 27 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.3.2
225
+   * Small bugfix: wrong variable used when exporting from the send_email_func() function
226
+     to the batchfile
227
+   * Added new variable DEFOUTPUT to the config where user can set a default output directory.
228
+     This updates the config version to 13
229
+   * Updated the set_output_filename_func() function to support the above change
230
+   * Use one variable in the presets (xvidparams) for all MEncoder Xvid encoding options.
231
+     Reduces some code and simplifies things a bit
232
+   * Updated the preset.cfg file to support the "one variable for all Xvid encoder opts"
233
+     Note: those using custom preset files for encoding should read the preset.cfg file
234
+     in the doc dir and adapt their existing preset files to be compatible with the
235
+     changes. Previous older custom presets written by users will not work with this and
236
+     future versions of xvidenc!
237
+     
238
+* Tue Feb 02 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.3.1
239
+   * Reduced duplication in the audio encode exporting code by moving it inside functions
240
+   * Reduced duplication in the MKV/MP4/OGM exporting code by moving it inside functions
241
+   * Reduced duplication in the code that prints some information before encoding starts
242
+   * Various minor code improvements
243
+   
244
+* Thu Jan 21 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.3.0
245
+   * Renamed the rmconf() function to rmtemp() 
246
+   * Moved creation of temp dir, the interrupt_func() and rmtemp() functions at the beginning
247
+     of the script
248
+   * Fixed a bug in the DVD part of the -scan option where lsdvd doesn't get a valid device
249
+     passed. Bug was introduced due to changes in the new get_devices_func() function
250
+   * Removed some duplication in the mencoder_opts() function
251
+   * Various small code improvements
252
+   * Updated the README.xvidenc file
253
+   
254
+* Tue Jan 19 2010 Grozdan Nikolov <neutrino8@gmail.com> 8.2.9
255
+   * Fixed a bug where the interlacing variable doesn't get passed when skipping the
256
+     pre/postprocessors. This is needed for correct condition check for IVTC/FPS conversion.
257
+     Reported by Peter Lutz
258
+   * Fixed a bug in the -scan option where vcd was not recognized as valid option
259
+   * Added two new variables, DVD_DEVICE and CDROM_DEVICE, to the config file where user can
260
+     set his preferred dvd/cd block device. This updates the config file to version 12
261
+   * Removed the -a52drc option for AC3 encoding
262
+   * Merged the get_dvd_devices_func() and get_vcd_devices_func() functions into a new one
263
+     called get_devices_func()
264
+     
265
+* Mon Dec 28 2009 Grozdan Nikolov <neutrino8@gmail.com>
266
+   * Changed all video ALLOW_* variables in the config file to ALLOW_VID_*
267
+   * When using dd to dump a DVD to an ISO, use options noerror,sync and a bs size of 2048
268
+   * Added support for sending mails. This requires the 'mailx' program and a valid .mailrc
269
+     file in the home directory. Mail notification can be enabled in the config file of
270
+     xvidenc which also offers an example of a gmail setting for .mailrc
271
+   * Added support for loading custom preset files. Have a look at the preset.cfg file in
272
+     the doc directory on how to write such files
273
+   * Added support for setting a custom temp dir in the config file
274
+   * Small update to the mkvtags_func() function
275
+   * Bumped config file version to 11
276
+   * Updated copyright dates
277
+   * Updated the man page
278
+   
279
+* Tue Nov 17 2009 Grozdan Nikolov <neutrino8@gmail.com>
280
+   * Implemented a simple telecine detector for NTSC DVDs. Currently it's a dumb solution
281
+     which can't distinguish between hard telecine and interlacing but it's enough to
282
+     detect soft telecine and mixed progressive/telecine content which is more common
283
+   * Simplified the FPS detection code
284
+   * Sed a comma at the end of resolution detection in case we're dealing with TS files. The
285
+     default TS demuxer in MPlayer has a comma at the end of the resolution info which results
286
+     in errorneous behavior in the bc calculation
287
+   * Simplified the resolution detection code
288
+   * Small general code improvements and cosmetics
289
+   
290
+* Sat Oct 24 2009 Grozdan Nikolov <neutrino8@gmail.com>
291
+   * Added new function video_subtitles_align_func() for subtitle alignment control
292
+   * Simplified a bit the audio exporting code for the first track
293
+   * Force stereo audio for Nero HE-AACv2 as it doesn't support anything else, thus
294
+     it results in failure if user tries to encode with more than two channels. This
295
+     updates the audio_channels_func() function and also adds a small new independent
296
+     one called neroaac_hev2_func() which only sets the channels to two if the channels
297
+     array variables are empty, as is the case when the user did not set the channels
298
+   * Small improvements to the ABR/VBR default audio bitrates for the neroAacEnc encoder.
299
+     Base the default bitrates on the chosen AAC profile, i.e. if user chooses HE-AACv1,
300
+     default bitrate will be 55 kbps or in case of quality-based VBR encoding a value of
301
+     0.22. For LC-AAC and HE-AACv2, default bitrates and quality values will be 96 kbps
302
+     or 0.35 and 25 kbps or 0.11, respectively. Note that this assumes the input audio is
303
+     stereo so if it's anything else than that, it's up to the user to decide on bitrates
304
+     or quality values
305
+   * Set default to a capital letter in questions where one needs to answer with y or n
306
+   
307
+* Tue Sep 29 2009 Grozdan Nikolov <neutrino8@gmail.com>
308
+   * Insert the ilpack filter before the scaler to correctly align chroma when
309
+     preserving interlacing
310
+   * Added AUDIO_CODEC_TRACK[1|2|3], AUDIO_LANGUAGE_TRACK[1|2|3], MKVMERGE_VERSION
311
+     and XVIDENC_PARAMETERS entries to the mkvtags_func() function
312
+   * Improved checking the availability of block devices
313
+   * Add detection of VFR content (1000 fps as reported by MPlayer)
314
+   
315
+* Sat Sep 19 2009 Grozdan Nikolov <neutrino8@gmail.com>
316
+   * Added VIDEO_FILTERS, AUDIO_FILTERS_TRACK[1|2|3], ENCODER and XVID_PARAMETERS
317
+     entries to the mkvtags_func() function
318
+   * MP3 (MPEG1 Layer 3) only supports sample frequencies of 32, 44.1 and 48 kHz
319
+     so restrict to those only in the audio_resample_func() function
320
+   * Set default for the pp7 deblocker to 3
321
+   * Fixed example typo in the DVD chapters code
322
+   
323
+* Wed Sep 16 2009 Grozdan Nikolov <neutrino8@gmail.com>
324
+   * Small improvement to how the MKV XML tagging file gets exported. Also improved
325
+     the XML formatting and added COMMENT string with text "Tagged by xvidenc $version"
326
+     and added SOURCE entry
327
+   * Added comment tag for MP4 and OGM with the same text as above
328
+   * Small update to the video_deinterlace_func() function's menu
329
+   * Add comment header with dates to batch files
330
+   * Use only lowercase words in all case statements that deal with the input source
331
+   * Placed the -passlogfile option inside the PASSLOG variable
332
+   * Added support for 2-pass Nero AAC audio encoding. Note that 2-pass is only
333
+     supported by ABR/CBR encoding and ensures that the output quality is constant
334
+     (like VBR) while also ensuring that a specified output bitrate is achieved
335
+     (like CBR)
336
+   * Small bugfix: the counter in set_output_filename_func() didn't increase itself
337
+   * Replaced variable $source with $type and $vtype with $source
338
+   
339
+* Sat Sep 05 2009 Grozdan Nikolov <neutrino8@gmail.com>
340
+   * Added support for the noise video filter. This change updates the config file to
341
+     version 10. Also, encoding priority now defaults to a nice value of 10 in the
342
+     config file
343
+   * Moved out the code which checks and backups/renames a file if it has the same
344
+     name as the output provided by the user to a separate function called
345
+     backup_file_func() and also improved it so that if there's already an existing
346
+     backup file, the new one will increase its count number by one thus there's no
347
+     more overwriting being done anymore. The same thing applies to existing chapter
348
+     files and DVD subs
349
+   * Small improvements to how chapters information is added to the output file name
350
+   * Improved detection of DVD audio language codes. We now specifically grep for the
351
+     language word and then print the 2nd positional which gives us the language code.
352
+     It works more reliably if the DVD does not report its language code for the audio track(s)
353
+     so if this is the case, we fall back to undefined language. The previous code fails in
354
+     such cases due to the printing of the 8th positional which will print the "aid:" part when
355
+     there's no language code after the "language:" word, resulting in MKV/MP4 muxing failures.
356
+   * Turn soft-clipping on in the volume audio filter
357
+   * Simplified the audio_channels_func() function a bit
358
+   * Moved the MP4 code that deals with DVD subs/cover files/metadata info/chapters and external
359
+     subs before its audio code
360
+   * Fixed chapters import for the OGM container. Missing '@' before the chapters input file
361
+     results in the file not being imported
362
+   * Added support for audio language metadata info for the OGM container
363
+   * Added support for Year and Genre metadata tagging for the MKV/MP4/OGM containers.
364
+     For MKV, the genre and year is set globally using an automatically generated XML
365
+     file. MP4 uses the iTunes tagging and OGM the comment space
366
+   * Updated the man page
367
+   
368
+* Thu Aug 13 2009 Grozdan Nikolov <neutrino8@gmail.com>
369
+   * Removed pointless for loop and if conditional in the audio_filters_var_func() function
370
+   * Simplified the audio_filters_func() function
371
+   * Added support for the audio panning filter. This change updates the config file to version 9
372
+   * Moved the audio filters functions after the audio codecs ones
373
+   * Reduced the number of if conditional iterations for setting the scaler interlace variable
374
+   * Replaced variable CONFIGDIR with TEMPDIR
375
+   * Fixed some spacings issues by moving around some echo's
376
+   * Print full path of the output file(s) at the end of encoding
377
+   * Simplified the sample encoding code. Reduced some code duplication
378
+   * Removed duplicate videofilters variable. This removes the check for the tfields filter
379
+     as now deinterlacing will always be done after cropping (which also speeds up things a bit)
380
+     so the crop filter will never complain about crop area being outside of the original if
381
+     tfields is used. It also reduces filters maintenance a bit
382
+     
383
+* Tue Aug 04 2009 Grozdan Nikolov <neutrino8@gmail.com>
384
+   * Add example on how to encode only specific DVD chapters
385
+   * Call the track_echo_func() function inside the select_audio_codec_func() one. Removes
386
+     pointless duplication
387
+   * Don't call mplayer twice in the 2nd/3rd audio track code just to get the audio codec.
388
+     Also removed a pointless case statement
389
+     
390
+* Fri Jul 24 2009 Grozdan Nikolov <neutrino8@gmail.com>
391
+   * Minor improvments to the set_output_filename_func() function
392
+   * Added support for the new gradfun debanding video filter. Although mostly recommended for playback
393
+     due to the fact that encoding tends to bring back banding, it can be useful to deband input
394
+     sources which show pretty bad and very noticable banding effects before passing the content
395
+     to the encoder. The gradfun filter is only available in MPlayer SVN. This also adds a new
396
+     variable ALLOW_DEBAND to the config file where one can enable or disable this filter
397
+   * Added a small while loop to the video_crop_func() function which will keep asking the user for
398
+     new crop values until he's satisfied with them. Patch by elektronaut from Doom9.org
399
+   * Added a new variable PRIORITY to the config file which can be used to set a global priority
400
+     nice value for the encoding process. The values one can use are between (and including)
401
+     -20 and 19. However, if the script detects that this variable has a negative nice value
402
+     set and the script is being executed with regular user privileges, it will print a notice
403
+     and exit. This change updates the config file to version 8
404
+   * Fixed a bug in the audio functions calling code of the iPod preset
405
+   
406
+* Wed Jul 08 2009 Grozdan Nikolov <neutrino8@gmail.com>
407
+   * Added detection for E-AC3 audio for stream copy and updated the MKV muxing code to support it
408
+   * Added new option -spr which calculates the Storage and Pixel Aspect Ratios (SAR/PAR) for various
409
+     resolutions
410
+   * Display the amount of chapters each DVD title has when scanning for titles
411
+   * Display total pixels, SAR and PAR when scanning a file/vcd with the -scan option
412
+   * Added --no-chapters mkvmerge option for audio files encoded by neroAacEnc so that chapters
413
+     won't be copied over to the MKVs from these files
414
+   * Small update to the install script
415
+   * Updated the man page. Fix some small cosmetic issues, patch by Alessio Treglia
416
+   
417
+* Fri Jul 03 2009 Grozdan Nikolov <neutrino8@gmail.com>
418
+   * Fallback to undefined audio language in the AUDLANG[$i] variables if we detect unknown language
419
+     from MPlayer's output
420
+   * Added support for bitrate-based ABR Vorbis encoding in addition to quality-based VBR. ABR mode
421
+     in Vorbis resembles quality-based VBR except the encoder averages a given nominal bitrate
422
+   * Updated the Vorbis part of the video bitrate calculation code
423
+   * Added new function ratio_and_pixels_func() which calculates and displays the Storage Aspect Ratio (SAR),
424
+     Pixel Aspect Ratio (PAR) and total pixels from resolution
425
+   * Bugfix for track 1 in the internal audio encoding code. If using aacplusenc to encode audio, the case
426
+     statement had a wrong selection value (aac instead of aac+) resulting in displaying a failed message
427
+     and forcing an exit even though the encoding may have succeeded
428
+   * Simplifications to the internal audio encoding code which reduce code duplication
429
+   
430
+* Tue Jun 30 2009 Grozdan Nikolov <neutrino8@gmail.com>
431
+   * Bugfix: array variable TRACKID[1] was missing for single file encodes. This results in
432
+     erratic behavior of the audio code
433
+   * Bugfix: second/third audio tracks were ignored by the OGM muxing code if audio codec is MP3
434
+   
435
+* Mon Jun 29 2009 Grozdan Nikolov <neutrino8@gmail.com>
436
+   * Converted most of the variables in the video_subtitles_func() function to arrays.
437
+     Moderately reduces some code duplication
438
+   * Use array variables ${SUBFILE[2]} and ${SUBFILE[3]} instead of ${OUTPUT%.*}_sub2 and
439
+     ${OUTPUT%.*}_sub3 when dumping the second/third DVD subtitle
440
+   * Simplified the MKV cover art importing code
441
+   * Major audio code restructuring and partial rewrite. Converted virtually all audio
442
+     variables to array variables. This reduces a lot of code duplication and makes the
443
+     audio code much easier and extensible
444
+   * Added support for a third DVD audio track
445
+   * Added support for per track audio codec for DVD encodings
446
+   * Use external flac encoder to encode to FLAC audio as doing it through mencoder is terribly
447
+     broken. This updates the config file to version 7 and adds the 'flac' encoder as dependency
448
+   * Use only one named pipe when encoding audio tracks to neroAAC/AAC+/Vorbis/FLAC
449
+   * Updated and optimized the containers muxing code to support the above audio changes
450
+   * Updated the bitrate calculation code for target size to support the above audio changes
451
+   * Disallow autocropping, if enabled in the config file, for directory batch encodings
452
+   * Disallow automatic detection of audio sample rate for directory batch encodings
453
+   * Added support for MP4 hinting for RTP/RTSP sessions
454
+   * Updated the man page
455
+   
456
+* Thu Jun 19 2009 Grozdan Nikolov <neutrino8@gmail.com>
457
+   * Simplifications to the MKV tagging code which reduces some code duplication
458
+   * Bugfix: FAAC acodec2 variable has wrong mpeg value. Must be mpeg=4 instead of mpeg4.
459
+     This results in failure in encoding of the second audio track when one selects
460
+     FAAC as encoder
461
+   * Bugfix: FLAC audio was ignored for the second track due to missing value in the selection
462
+     of the case statement
463
+   * Added support for tagging of MKV files when doing a directory batch encoding
464
+   * Replaced the IMPSUB1, IMPSUB2 and IMPSUB3 variables, used to import subs when input type
465
+     is file/directory/vcd, by array variables EXTSUB[1], EXTSUB[2] and EXTSUB[3]. This allows
466
+     for less code duplication as these array variables are shared by all input types (including DVD)
467
+     and thus we only need to do a small loop and add their values if not empty to the
468
+     MKVSUBS, MP4SUBS and OGMSUBS variables
469
+   * Use as temp directory $HOME/.xvidenc/job<PID>
470
+   * Added new function audio_stream_copy_func() which will print a warning that audio stream copy
471
+     in directory batch encoding mode is not recommended unless the user is certain that the files
472
+     have a supported audio codec by the MKV/MP4/OGM containers
473
+   * Group audio filters under a submenu similar to how the video filters are grouped
474
+   * Some small cleanups
475
+   
476
+* Thu Jun 18 2009 Grozdan Nikolov <neutrino8@gmail.com>
477
+   * Added support for per track audio bitrate for DVD encodings
478
+   * Added support for per track audio normalization and volume adjustments for DVD encodings.
479
+     Updated functions audio_volnorm_func() and audio_volume_func()
480
+   * Added support for per track audio resampling for DVD encodings. Updated functions
481
+     audio_resample_filters_func() and audio_resample_func()
482
+   * Updated the video bitrate calculation code to support the above audio changes
483
+   * Added support for per track AAC profile settings (LC/HE/HEv2) when using the
484
+     neroAacEnc audio encoder
485
+   * Small modifications to the MKV/MP4 tagging and muxing code to support the
486
+     per track neroAacEnc AAC profiles. This also includes optimizations to the way
487
+     the tagging code handles different AAC profiles. If LC profile is chosen, audio will
488
+     be tagged as LC-AAC (along with channels info). For HE and HEv2, audio will be tagged
489
+     as HE-AACv1 and HE-AACv2 (along with channels info) respectively
490
+   * Moved the MKV tagging code inside the MKV muxing code
491
+   * Converted the EXTSUB1, EXTSUB2 and EXTSUB3 variables, used to import external DVD subs,
492
+     to arrays so we can easily check different files for their file extensions
493
+   * Only allow SRT subs as import into OGM. If another subs format is provided, the
494
+     subs will be skipped. For MP4, do not allow ASS/SSA subs since it's not supported yet
495
+     by MP4Box. For MKV, do not allow SUP and TTXT subs
496
+     
497
+* Mon Jun 15 2009 Grozdan Nikolov <neutrino8@gmail.com>
498
+   * Update to the video_subtitles_func() function: for DVD encodings, added support
499
+     for importing up to three external subtitles into MKV/MP4/OGM. Also added
500
+     support for hardcoding an external subtitle into the movie
501
+   * Updated the MKV/MP4/OGM muxing code to support imports of external subtitles
502
+   * If dumping of the second and/or third DVD subtitle fails and user has selected to
503
+     import the subs into MKV/MP4, force an exit since container conversion will fail as
504
+     the muxing programs will complain about the missing subs. If no container conversion
505
+     is chosen or user has chosen not to import the subs and dumping of subs fails, just
506
+     continue since there's nothing critical in this case
507
+   * Use mplayer -really-quiet option instead of redirection to /dev/null when dumping
508
+     audio to a named pipe for neroAAC/Vorbis/AAC+ encoding
509
+   * Some small updates to the man page
510
+   
511
+* Fri Jun 12 2009 Grozdan Nikolov <neutrino8@gmail.com>
512
+   * Replaced the --noaudio mkvmerge option with -A due to recent options changes
513
+     in mkvmerge version 2.9.5. -A also works for older versions so nothing breaks here
514
+   * Removed the check_outfile_func() function as its code has been added to the
515
+     set_output_filename_func() function, which also has been improved
516
+   * Added support for FLAC audio in MKV
517
+   * Removed some code duplication in the MKV metadata tagging code
518
+   
519
+* Tue Jun 09 2009 Grozdan Nikolov <neutrino8@gmail.com>
520
+   * Added support for adding jpeg/png cover art files to MKV/MP4
521
+   * Added audio language meta-info for MP4 files
522
+   * Added iTunes video title name for MP4 files
523
+   * Improved audio language meta-info for MKV files. This also adds metadata
524
+     info for the second audio track
525
+   * Fixed a small bug: the --aac-is-sbr mkvmerge parameter should be set to 0:1
526
+     for the second audio track when using aacplusenc as encoder
527
+     
528
+* Sat May 30 2009 Grozdan Nikolov <neutrino8@gmail.com>
529
+   * Use the same name for the log file as the output file name
530
+   * Force using the libmpeg2 decoder when encoding DVDs/VCDs (works slightly better in specific
531
+     cases compared to ffmpeg2)
532
+   * Added support for IVTC 59.940 -> 23.976 fps
533
+   
534
+* Tue May 12 2009 Grozdan Nikolov <neutrino8@gmail.com>
535
+   * Added deinterlace combinations of Yadif + linear blend, linear interpolation, cubic
536
+     interpolation, median deint, ffmpeg deint and lowpass 5
537
+   * Cosmetics to the help menu
538
+   * Added global audio function audio_filters_func() for calling the resample, volume
539
+     normalizing and volume filters
540
+   * Added 15 new variables to the config file for enabling/disabling of specific audio/video
541
+     filters and containers: ALLOW_FPS_CONVERSION, ALLOW_SCALER_TUNING, ALLOW_DSIZE,
542
+     ALLOW_EXPAND, ALLOW_COLORSPACE, ALLOW_ASPECT, ALLOW_AUD_RESAMPLE, ALLOW_AUD_NORMALIZE,
543
+     ALLOW_AUD_VOLUME, ALLOW_MKV_MUXING, ALLOW_MP4_MUXING, ALLOW_OGM_MUXING, ALLOW_SAMPLE_ENCODING,
544
+     ALLOW_SCAN_MULTIPLE_VIDSTREAMS and ALLOW_SCAN_MULTIPLE_AUDSTREAMS, the last two are only effective
545
+     on file encodings
546
+   * Updated the man page
547
+
548
+* Thu May 7 2009 Grozdan Nikolov <neutrino8@gmail.com>
549
+   * Automatically add the shebang line to batch files and make them executable
550
+   * Added Apple iPod preset (request from Rogério Brito from the LAME team)
551
+   * Added MP3 presets and updated target file size code to support them (requested by Rogério Brito)
552
+   * Updated the audio code and aac/neroaac functions to support the iPod audio restrictions
553
+   * Added -ipod parameter to MP4Box when using the iPod preset
554
+   * Added new variable ALLOW_AUTOCROP to the config file which allows the user to enable or
555
+     disable automatic cropping
556
+   * Updated the man page
557
+
558
+* Wed Apr 29 2009 Grozdan Nikolov <neutrino8@gmail.com>
559
+  - Optimize some variables by replacing piping to sed with VARIABLE1="${VARIABLE2%.*}.ext"
560
+  - Add -loop 1 mplayer option to the config file's MPLAYEROPTS variable
561
+  - Add support for enabling/disabling specific pre/postprocessing filters in the config file.
562
+    This adds 7 new variables to the config file where the user can either enable to ask
563
+    questions about a specific filter or disable a specific variable, thus skipping
564
+    questions about the filter
565
+  - Moved the video filters code to a new function called video_filters_func(). This also
566
+    reduces a bit of code duplication
567
+  - Add a new option -e which allows the user to edit the config file directly from within the
568
+    terminal. This adds a new variable EDITOR to the config file where the user can set his
569
+    preferred text editor (defaults to nano)
570
+  - Add video title meta-data for MKV and OGM when doing directory batch encodings
571
+  - Silence possible dvdxchap warnings
572
+  - Updated the man page
573
+  
574
+* Thu Apr 26 2009 Grozdan Nikolov <neutrino8@gmail.com>
575
+  * Bugfix: missing 's' in the sed expression of the MP4OUT variable. This results in
576
+    missing output file and will fail when one tries to remux to mp4
577