File xvidenc.spec of Package xvidenc (Revision 77)

Currently displaying revision 77 , Show latest

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