Changes of Revision 69

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