When you want to speed up Enconding mpeg2enc (which it was never built for) A small speedup should be able to gained when you change the options of mpeg2enc to this: -M 8--video-bitrate 20000 --video-buffer 1000 -f 0 -4 4 -2 4 -r 8 -D 8 -o ... The encoding time did go down a little on my machine from 37-39 sec down to 35.5-37 seconds. Measured with time, using several tries. The problem ist that the original developer of mpeg2enc has been offline for a lot of years. If you find things to speed up...
Minor fixes to the build system. Some small speed improvements
Ooops. Didn't set ctl_parallel_read in all cases.
Minor tuning. Set up the parallel reading stuff properly.
VBR handling fixed.
Tsk tsk, attempts to link dyn libraries in dyn libraries. Who didn't
Added initial standard VCD still stream support.
Completed encapsulation of input streams. Now replace hard-wired
Mplex now completely refactored. Support for muxing arbirary
Some changes for stills streams.
First (possibly ;-)) working version of stills (VCD normal res only).
Fixed buffer size calculation to allow for overhead of headers etc
Added basic support for HR VCD stills.
Added support SVCD Stills
Moved motion estimation search routines into library to allow re-use elsewhere.
Added SVCD Stills support. Fixed setting of PTS/DTS in last sector of
Added support SVCD stills.
Removed a redundant debugging fprintf.
Move of motion estimation core routines into utils lib.
Fixed missing buffer header in (S)VCD.
Updated for tidied motion estimation search / block difference routine
Mato Marjanovic's top/bottom instead of odd/even patch.
Hard-wired stills interval to 30 frame periods.
Brought some sanity into the naming conventions for
Replaced references to stdint.h/inttypes.h with properly autoconf'ed
Fixed bugs in -S and -l handling introduced by new mux despatch loop.
Ooops how did I not get _intern?
Added new YUV header library, shifted original lavtools one to "oldyuv4mpeg.*"
Herbert Riedels's fixes for errors in SVCD still sanity checking.
Remove build of libmjpeg.a as prelude to removal of sub-dir as it is
Started a more sensible partitioning of classes into source files.
Added proper support for VCD mixed stills streams and tidied up some niggles
Fixed a stupid error in the handling of MPEG-2 padding packets.
Herbert Riedel's patches to permit clean compilation under Cygwin32.
Damn, Herbert's __asm__ hack seems to break under Linux... removed those
Fixed bug in motion estimation module
Removed doubled surge tolerance bug.
*** empty log message ***
Fixed silly bit-pool over-growth for VBR...
Herbert's corrected asm fix version sans typo!
Lets try another approach...
Included Philip Zabel's new header patch (thanks Philip!)
Fixed bug in yuv4mpeg lib that prevents EOF from being distinguished from
Fixed file-size limiting bug in liblavrec.
Fixed bug in mpeg2enc zero M/C chroma variance calculation.
Minor portability fixes.
Fixed I/P DTS = PTS next B frame Bug.
Fixed a niggling buffering bug and made mplex use the common mpegconsts
Renamed to libutil.a to libmjpegutil.a to avoid a reported name-clash.
Fixed inconsistent handling of field / progressive default in SVCD
Added support for YUV4MPEG with unspecified (0.0) frame-rates.
Corrected "non-atomic" producer->consumer handshake causing a deadlock
Fixed (hopefully) the buffer management bugs in mplex's audio handling
Fixed aspect ratio display and tidied buffering stats display.
Fixed stupid error I left in after working on audio buffering problem.
Re-enabled mixed stills stream muxing for VCD with some additional sanity
Fixed getopt portability issue for *BSD.
The return of the -s flag... by popular request!
Modification to support automatic period syncing from lavrec.
Mpeg2enc portability fix for getopt.h
Removed stale debug error message.
Added mechanism for default interlace selection with an override for
Doh!
Added -config script for for convenient auto*-ing
Fixed some serious errors in the 3:2 pulldown code in mpeg2enc and mplex.
Fixed bug whereby individual frames may be allocated more bits than the
Tidied header generation code to support DVD options.
Fixed broken stream-end logic caused by corrected bit-stream scanning
Now adapted for latest mpeg2dec
Steven Schulz' tidied up version!
Fixed very silly bug where I'd managed to turn off generation of
Removed excess debugging mjpeg_info.
Added accidentally ommitted support for audio in SVCD stills streams.
Correct second VCD over-tidying. We *must* have always_buffers for audio to
Tidying up and added moer DVD support.
Modified mpeg2enc to use an xtag in yuv4mpeg header to communicate
Minor bug-fixes to I-frame header (Motion vectors) and closed-gop flag
Tidying up partitioning of class into files.
Added MMX and extended MMX deinterlacing code.
Fixed some errors due to spurious EOF's being causedd by the use of
Added extended MMX version of deinterlacer to yuvdenoise.
Minor fixes to lav2yuv and lav_io.h to correct minor bug in flag
Added facility to correct captures grabbed with frames captured `starting with
Checked in Hitoshi's fixes to the flag setting logic for 3:2 pulldown
Got rid of some junk that somehow slipped into CVS.
Fixed error in rubric.
Brought into sync with the current state of the software.
Fixed lost error code in main loop (added Emacs local variable to
Fixed MP3 multiplexing bug.
Added support for AC3 multiplexing and DVD multiplexing.
DVD now appears to (more or less) work.
More DVD support goodies for mplex.
Added X86 SIMD support for encoding.
Ooops forgot some temporary headers needed.
Fixed minor bug in -f 3 handling (param_fieldenc not being set).
Added pure-MMX support for fast quantisation
Minor doco updates.
Modified file probing to allow true single-pass multiplexing.
Tidied handling of progressive frames.