ReMPEG2 1.5.2 (05/08/2000)

rempeg2@hotmail.com

----------------------------------------------------------------------

          ReMPEG2 - MPEG-2 Video Transcoder

     1) Overview
     2) Requirements
     3) Transcoding a file
     4) New/changed stuff in this release
     5) What to expect in future releases

----------------------------------------------------------------------
1) Overview
----------------------------------------------------------------------

     ReMPEG2 is a program to transcode an MPEG-2 video file to
     half D1 resolution (352x480 for NTSC, 352x576 for PAL) or
     SVCD resolution (480x480 for NTSC, 480x576 for PAL).
     Alternatively, it can keep the resolution and just lower the
     bitrate.

     There are several scenarios in which this might be useful.
     (no need to mention a special one...)

     Until now the original MPEG-2 video file had to be decoded into
     an AVI file (or similar) in the first step and then reencoded
     to MPEG.
     There are several disadvantages in this procedure:
       - lots of storage space is needed for the temporary AVI file
       - 2GB AVI file size limit
       - no characteristics of the input file can be exploited since
         they are all lost when converting to AVI.
         This leads to loosing a/v sync for NTSC videos in some cases
         as well as the need for the encoder to examine the video
         to detect scene changes etc. for optimal performance.

     ReMPEG2 is a combined decoder/encoder which avoids these
     problems by preserving the sequence of picture types (IPB) and
     trying to follow the original stream's bitrate flow.
     This means that the user can choose a bitrate scaling factor
     which is used to calculate the number of bits available for each
     encoded picture from the number of bits in the corresponding
     input picture.

     Note: In the first few pictures there can be a pretty big
           difference from the targeted to the achieved bitrate.
           There can be two reasons why it could remain like this:
             - the selected bitrate is too low to achieve a pretty
               good quality
             - the selected bitrate is by far higher than needed
           Adjusting the output bitrate most likely helps in these
           cases.

----------------------------------------------------------------------
2) Requirements
----------------------------------------------------------------------

     - Windows 9x/NT4/2000
     - Pentium processor or better
       (support for MMX instructions is needed)
     - 96MB of RAM or more are recommended. Due to some optimizations,
       ReMPEG2 has become a real memory eater.
     - Screen resolution of 640x480 or better (that's a tough one)

----------------------------------------------------------------------
3) Transcoding a file
----------------------------------------------------------------------

     To transcode a file, open up ReMPEG2, press the "Open" button
     and select the input file.
     Only elementary MPEG-2 video streams and VOB files containing
     such a stream are supported at the moment.
     If the input stream is spread over several files you can make
     a file list and open it in ReMPEG2. Take a look at SAMPLE.CFFL...
     
     After ReMPEG2 has analyzed the file (this may take a while only
     the first time since an info file is generated containing all
     necessary information for further runs), the "Main" tab contains
     some information including the bitrate of the input file.
     All that needs to be done now is choosing an appropriate
     output bitrate in the "Options" tab by adjusting the first
     slider.
     
     If you experience jerkiness of some frames at a fixed interval
     you can try to adjust the "bit allocation adjustment" sliders.
     These allow you to raise the amount of bits reserved for every
     type of picture (I, P and B). By default the I slider is set to
     110% (P and B to 100%), meaning that more space will be reserved
     for the I pictures since scaling all picture types down by a
     fixed factor will most likely result in jerky I frames.
     These settings do NOT affect the resulting average bitrate.
     Once these settings are applied, everything is adjusted to meet
     the average bitrate again...

     ReMPEG2 defaults to prediction search which provides the best
     tradeoff between encoding quality and speed. If you want the best
     quality, go for full search, which is horribly slow.
     Note that the search range is reduced compared to the other
     methods when using full search (otherwise encoding would take
     forever).
     Gradient search provides slightly better quality than prediction
     but slows down encoding. Logatithmic, N-step and orthogonal are
     faster methods but result in a loss of quality.
     Turning off half-pel search is NOT recommended, just use it for
     testing when encoding speed is your main goal since the quality
     will suffer quite a lot...

     There is a new option called "Frame Mode" which is set to
     "progressive only" by default. This setting provides the best
     performance for the majority of videos. If you notice interlacing
     artifacts or other strange things you should try to set it to
     "match source".
     BTW: older versions refused to encode field picture streams like
          some trailers (i.e. the 5th element trailer from R2 discs).
          This has been fixed now, but encoding of such streams is
          quite slow...

     The PSNR calculation can be turned off, this will speed up
     the encoding a little bit.
     You can also turn off showing the info from the rate controller,
     which also speeds up everything a little bit, but you'll not be
     able to see if there is a big difference from the specified
     bitrate.

     The other options should be left in their default states.
     Selecting the "reference DCT" option gives slightly more
     accuracy in decoding and encoding but the effect on quality is
     minimal and it slows down the transcoding process.

     After setting up everything, press "Encode" on the "Main" tab
     and ReMPEG2 asks for the output filename and starts transcoding.
     Some timing and quality information is displayed on the "Main"
     tab during the process.
     The "Statistics" tab contains a graph of the bitrate flow and
     one for the current encoding quality.

     The "Log" tab is updated with some information that can be
     considered as pretty uninteresting.
     
     Well, all that needs to be done now is sit and wait :)
     
     Note: Everything i wrote here about the effect of the different
           settings on encoding quality/speed is based on my
           experiments with a rather small set of video streams.
           Your results may vary from file to file...

----------------------------------------------------------------------
4) New/changed stuff in this release
----------------------------------------------------------------------

     - option to limit max. bitrate (for SVCD compliant streams)
     - added an AC3->MPEG-2 multichannel transcoder (for SVCD)
       (nobody has yet confirmed that the multichannel streams really
        play as multichannel and I cannot test it, so this should
	be considered to be in beta stage)
     - attempted to optimize the encoding on multiprocessor systems
       (doesn't quite work so I recommend leaving the "Parallel
        Threads" option at 1)
     - some bugfixes
     - some new bugs

----------------------------------------------------------------------
5) What to expect in future releases
----------------------------------------------------------------------

     - bugfixes
     - speed up the MPEG audio encoder

----------------------------------------------------------------------
History
----------------------------------------------------------------------

25.12.1999
     - first public release
04.01.2000
     - version 1.1.0
13.02.2000
     - version 1.4.0
13.02.2000
     - version 1.4.1
21.02.2000
     - version 1.4.3
05.08.2000
     - version 1.5.2

----------------------------------------------------------------------
cheers to everybody at #....... (you know who you are)

special thanks to freezy for the nice graphics :)

Video decoding/encoding code is based on the MPEG-2 video codec v1.2
from the MPEG Software Simulation Group (http://www.mpeg.org/MSSG).

MPEG Audio encoding code is based on the MPEG-2 Audio Simulation
Software Distribution 10 from the ISO MPEG Audio Subgroup Software
Simulation Group.
