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