---- 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 ***