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