---- FairUse Wizard ----

The FairUse Wizard is a tool for converting your DVD-Video material into the
DivX AVI form. This is for the purpose of allowing you to exercise your rights
under the "fair use" provisions of copyright laws.

Version notes:

0.1 beta    First public release

0.2 beta    Video resizer now uses low pass and cubic reconstruction filters
            Squashed an NTSC IVTC subpicture synchronisation bug

0.21 beta   Fixed a bug with NTSC IVTC sometimes not counting fields properly,
              which would cause a slight loss of sync
            Tweaked the NTSC IVTC to work a bit better on movies with a lot
              of "noise" present in the transfer (older movies)
            Fixed a DivX codec problem where it would insert many keyframes
              by itself if the number of pixels per frame was less than
              184320; this could cause significant quality problems
            Increased timeouts so they are less likely to happen if the system
              is loaded up with some other task; added some diagnostics to
              show status of decoder timeouts

0.22 beta   *** IMPORTANT NOTE: With this version, the project and chain file
              formats have been changed. You should finish any current
            sessions before trying to use this version. ***

            Added better error messages when the encoders have problems (like
              running out of disk space, etc)
            Fixed an IFO parsing bug which would cause a crash if a title-set
              had no menu VOBs
            Fixed the IFO parsing to (hopefully) handle angles properly; each
              angle should now appear as a separate program chain
            Fixed a small bug with the subpicture next/previous buttons
            Changed the way subpictures with no end time are handled
            Added a timeout at the lowest DVD access layer to try to resolve
              a problem with scratched disks

0.23 beta   Added a key fallback mechanism and more diagnostic output to try
              to resolve the problem with a few DVDs where the key can't be
              found

0.24 beta   Added an extra check for anamorphic titles that seem to have
              inconsistant aspect ratio flags
            Removed the key fallback mechanism that was added in 0.23 beta
              because it didn't fix the key problem

0.25 beta   Added an automatic key retry mechanism to fix a problem getting
              keys from some DVDs using some DVD drives; you need to create a
              new project if you want to take advantage of this fix

0.26 beta   Changed the AVI writer so it is more compatible with streams
              generated by other programs
            Changed the way anamorphic/non-anamorphic titles are detected,
              hopefully all titles will be correctly detected now
            Modified the "gross" error detector to be a bit more sensitive,
              hopefully it will pick up all visible codec errors now
            Fixed a problem with the demuxer that occurred when there was
              skipped data in the streams
            Increased the timeouts, especially when the decoder is waiting
              for all the encoders to finish up

0.30 beta   *** IMPORTANT NOTE: With this version, the project and chain file
              formats have been changed. You should finish any current
            sessions before trying to use this version. ***

            Audio _demuxing_ has been added; currently only AC3 streams are
              supported; audio decoding and combining are still unsupported,
              so it's not idiot-proof yet
            A new "diff tracking" encoding mode has been added; see the
              notes section lower down for details
            All encodings are now done in the one process, and all timeouts
              have been removed, so it doesn't matter how much the CPU is
              loaded by other tasks
            Added a confirmation dialog so that it's more difficult to abort
              long processes accidently; this is only on the main GUI
              window; if you close the diagnostic window the program will
              terminate immediately
            Changed output FourCC from "div3" to "DIV3" for increased
              compatibility with other programs/operating systems
            Changed the IFO parser to correctly handle DVDs with missing
              titles; also some DVDs with IFO errors (like The Day of the
              Jackal R2) will no longer cause a crash
            Changed the video decoder to ignore the MPEG2 temporal reference
              field; this field can sometimes be wrong, and it would cause
              "cloning frame ..." messages and sync problems
            Changed the resizer to follow ITU-R BT.601 standard; images will
              be about 2% "shorter and fatter" than they were before
            Fixed a bug that caused the quality setting of the decoder to be
              indeterminate; this could cause the quality of different
              encodings to be "weighted" differently and would cause the
              cross-cutter to be biased; image quality is now measured
              with the frame always decoded at quality level 0
            Fixed a bug with the subtitle colors (the chroma channels were
              swapped)
            Codec DLLs are now stored in the EXE file, and not as separate
              files; the old FU-FM.DLL and FU-LM.DLL can be deleted
            Adjusted the keyframe min/max interval code to ignore keyframes
              that were inserted to fix gross errors; this keeps keyframes
              more consistent across encodings
            The encodings/session limit has been increased from 10 to 30
            The maximum audio bitrate has been increased from 512 kbit/s to
              1024 kbits/s


Main features:

  All-in-one solution - Converts straight from DVD, the only other software
  you need is a working ASPI layer (but see yet to be implemented features
  below).

  Fully integrated MM4 support - Video is encoded at up to 30 different
  bitrates/codec types simultaneously, for later "cross cutting" into the
  final output file.

  Best quality for a fixed size - You specify the size (disk space) of the
  output file, and the best quality file that will fit that space is produced.

  Maximally flat quality level - The new (in version 0.30 beta) encoding mode:
  "diff tracking" adjusts the DivX quantisation levels on a frame by frame
  basis to make the quality level as even as possible.

  Variable keyframe interval - You can configure the minimum and maximum
  keyframe intervals. This avoids the "sharpening effect" by not inserting
  keyframes on static scenes.

  Codec errors fixed - The DivX codec will no longer produce freeze frames/
  grey blocks/mirrored blocks, etc.

  SMP support - During the encoding phase, multiple processors will be used.
  (The actual utilisation depends on the number of encodings being created.)

  Field combination modes - Fields can be realigned (PAL), IVTCed (NTSC) or
  simply decoded natively as directed by the DVD.

  Support - FairUse supports seamless branching and multiangle titles.

  Audio demuxing - AC3 audio tracks can be demuxed and are synchronised to
  the video range selected.


Yet to be implemented features (these are currently being worked on):

  Full audio processing - Currently, AC3 audio tracks are listed, demuxed
  and written to disk, but they are not decoded, nor interleaved in the
  final AVI file. You specify the audio bitrate and space is left so that
  there is enough room to mux in the audio later. For now you will have to
  decode/interleave the audio using other tools.

  Multi-part output - There is currently no support for splitting the
  output file into (say) 650MB pieces, so you will have to do that yourself
  for now.


Notes:

  Resources required - This program is designed to achieve maximum quality
  with a small output file size. All other considerations are secondary. It
  is quite slow, so a fast processor is recommended (multi-processor is
  better). A lot of disk space will be required, usually at least 6GB up to
  12GB or more depending on what you are trying to do. It is recommended
  that you have at least 128MB of RAM per processor.

  Output width/height & compression ratio - When choosing the output
  dimensions, a compression ratio of between 120:1 and 150:1 is recommended.
  The less action there is in the movie, the higher the ratio you should be
  able to achieve with the same number of encodings and quality. Also
  important is the quality of the video on the DVD. Older movies may contain
  a lot of "noise" in the transfer. This strains the DivX codec, and so a
  lower ratio is recommended. If the DVD video transfer is very "clean" then
  this will compress well and a higher ratio can be used.

  Diff values - The program uses a model to measure how "different" a
  compressed frame looks to the original. This "diff" value can range from
  0 to 50000 or more. A value below about 9000 means virtually no noticable
  difference. Values between 9000 and 11000 are very good quality. Once the
  diff value starts to exceed 11000, more and more differences will be
  visible. The algorithm is not perfect and may give higher diff values to
  about 1% of frames that still look ok to a human. This is not a problem,
  as these frames just get a little bit more bitrate than they need.

  Cross cut threshold - When the cross-cut list is generated, it will tell
  you what diff threshold it used. Any value less than 11000 is usually
  excellent. If it is between 11000 and 12000 then it may be acceptable to
  you. If it is above 12000 then you may need to give it more file size,
  or maybe reencode with smaller horizontal/vertical dimensions. Because
  the program tries to keep a constant quality throughout the file, a high
  diff threshold can mean the entire file looks poor, not just the high
  action scenes.

  "Diff tracking" encoding mode - This is a new encoding mode that uses low
  level codec techniques to control the quality of each individual video
  frame. These techniques were pioneered by _nn_ in NanDub, however, they
  are used in FairUse in a different way: You specify a particular target
  diff value, and each frame is re-encoded until the setting that comes
  closest to the target is found. The main advantage of this method is that
  a "maximally flat" quality level is acheived. The disadvantages are:
  (1) Speed - Each frame may have to be encoded multiple times, so this type
  of encoding takes longer (about twice as long as a "normal" encoding).
  (2) No size control - The target diff is the only parameter, and so it can
  be difficult to predict the final file size. However, you can still use
  multiple encodings and the cross-cutter to control the file size.
  *** Due to these limitations, the "Auto-Add" will never add a "diff
  tracking" encoding, and this mode should be considered experimental ***
