-----------------------------------------------------------------------
MPEG2AVI - MPEG-1/MPEG-2 video to AVI-video convertor v0.16B33 10/31/99
http://members.xoom.com/mpeg2avissmpeg2avi@xoom.com
-----------------------------------------------------------------------
ssssssssssssssssssssssssssssssss-------------
ssssssssssssssssssssssssssssssssUser's manual
ssssssssssssssssssssssssssssssss-------------
--------------------------------------
Command reference (command-line usage)
--------------------------------------
ssssssssssMPEG2AVI is a Win32-console application.ssThat means it must be run
ssss from a Windows95/NT4 DOS-box.
ssssssssssMPEG2AVI recognizes commands by a hyphen (-).ssThereforessevery
ssss command must begin with a hyphen.ssThe next character is usually a
ssss command letter, telling MPEG2AVI which operation to perform.ssFinally,
ssss some commands require several additional parameters.ssREQUIRED
ssss parameters are shown in <>, while OPTIONAL parameters are shown in [].
ssss MPEG2AVI commands are divided into 4 groups :
ssssss
ssssss 1) INPUT
ssssssssssInput commands tell MPEG2AVI how to treat input bitstreams.ssThey
ssssssssssinfluence MPEG2AVI's input behavior (before any MPEG-video is
ssssssssssdecoded.)
ssssss 2) MPEG-VIDEO DECODING
ssssssssssDecoding commands influence MPEG2AVI's MPEG-video decoder.
ssssss
ssssss 3) FRAME PROCESSING
ssssssssssVarious effects (cropping, half-resolution, downsizing, IVTC)
ssssss
ssssss 4) OUTPUT
ssssssssssOutput commands tell MPEG2AVI how to create the AVI file.
ssssss
ssss +--------------+ssss+---------------ssss+-----------+ssss+----------+
ssss | INPUT module |ssss| MPEG-1/MPEG-2|ssss|ss Videoss |ssss| AVI, GDI |
ssss |ssssssssssssss| -> |ssssvideossss | -> |ss framess | -> |ssOUTPUTss|
ssss | VOB/MPEG/DAT |ssss|ss DECODERssss|ssss| PROCESSOR |ssss|ssmoduless|
ssss +--------------+ssss+--------------+ssss+-----------+ssss+----------+
Some commands require several parameters.
REQUIRED parameters are marked <>.
OPTIONAL parameters are marked [].
ssss -----------------
ssss 1) INPUT COMMANDS
ssssss
ssss -b "filename" [streamID] choose "filename" as input bitstream.
ssssssssThe bitstream must contain an MPEG-1 or MPEG-2 video stream.ssFor VOB
ssssssssfiles, the optional parameter, [streamID], allows the user to pick a
ssssssssspecific video stream.ssStreamID is interpreted as a hexidecimal
ssssssssnumber "0xID."ssThis is useful for VOB files encoded with
ssssssssmultiple camera angles.ss(The default streamID == 0xE0)
ssssss
sssssssseg. Mpeg2avi.exe -b input.vob ...
ssssssssss (input file = input.vob, default streamID 0xE0)
sssssssseg. Mpeg2avi.exe -b input.vob 0xE1 ...
ssssssssss (input file = input.vob, user-selected streamID 0xE1)
ssssss
ssss -b "listname.lst" [streamID] open the streamlist "listname.lst"
ssssssssThe streamlist must have an extension of *.LST!
ssssssssA streamlist is a list of VOB-files, which MPEG2AVI reads as one
sssssssscontinuous file.ssSee sample.lst for more information
ssssss
sssssssseg. Mpeg2avi.exe -b dvdmovie.lst ...
ssssssssss (opens streamlist "dvdmovie.lst", the individual VOB files of
ssssssssssssthe list are concatenated into one continuous VOB bitstream.)
ssssss
ssss -@ <lba> Open VOB bitstream at specified logical block address (LBA)
ssssssssThe demuxer opens the VOB-bitstream at the specified LBA.ssThis
ssssssssFeature on applies to VOB input streams.ss1 LBA = 2048bytes.
ssssssssIf the starting packet does not contain a SYSTEM HEADER, MPEG2AVI
ssssssssautomatically scans forward until one is found.
ssssss
ssssssssMPEG2AVI begins MPEG-decoding at the 1st valid system header.
ssss Depending
sssssssson the bitstream, there may be video garbage at the lead-in point.
ssssss
ssssssss(The BBDMUX summary displays the LBA of last 2 valid headers.)
ssssssss(Alternatively, '-*' will print the system header's LBA.ssThe
ssssssssLBA is on the 4th line from the top-left of the video frame.)
ssssss
ssssssssTo deal with the lead-in video garbage, you can combine with
ssssssssMPEG2AVI's '-# <start> <end>' option.ssUse '-@ <lba>' to seek
ssssssssthe general location of the desired starting-point, then use
ssssss
ssssssssss'-# <start#> <end#>' to skip the first few frames.
ssssssssNote, when combining -@ and -#, <start#> is relative to the LBA of
ssss the
ssssssssfirst system-header.ss(i.e. frame#"0" is the first decoded frame
sssssssssometime after the specified LBA.)
ssssss
sssssssssseg. MPEG2AVI.EXE -b input.vob -@ 1000 ...
ssssssssssssss(open input.vob at LBA-offset 1000, or byte offset 2048Kby)
ssssss
sssssssssseg. MPEG2AVI.EXE -b dvdmovie.lst -@ 1500000 ...
ssssssssssssss(open the stream at LBA-offset 1500000, or byte offset 3072M)
ssssss
ssss -------------------------------
ssss 2) MPEG-VIDEO DECODING COMMANDS
ssssss
ssss -r<n> Chose different IDCT algorithm
ssssssssss'-r0'ss64-bit floating-point iDCT (slowest)
ssssssssss'-r1' *32-bit MMX iDCT (default)
ssssssssss'-r2'ss16-bit MMX Chen iDCT (faster, slightly less accurate)
ssssssssss'-r3'ss16-bit MMX AANssiDCT (fastest, inaccurate)
ssssssssss'-r4'ss32-bit int iDCT (obsolete)
ssssss
ssssssssss'-r0' very slow, reference-quality iDCT (IEEE-1180 compliant)
ssssssssssssssssoverkill since all internal pixel manipulations are handled
sssssssssssssssswith 16-bit precision, and stored with 8-bit precision.
ssssss
ssssssssss'-r1' 32-bit MMX IDCT, IEEE-1180 compliant (*)
ssssssssssssssssMPEG2AVI uses '-r1' by default.ssThis algorithm is both
ssssssssssssssssaccurate and fast.
ssssss
ssssssssss'-r2' 16-bit MMX high-speed IDCT, not IEEE-1180 compliant
sssssssssssssssstrims seconds (not minutes) off decoding time, so it's use
ssssssssssssssssshould be restricted to generating preview-clips.
ssssssssss
ssssssssss'-r3' 16-bit MMX high-speed IDCT, not IEEE-1180 compliant
ssssssssssssssssinaccurate, rarely faster than '-r2', useful only for
ssssssssssssssssGDI preview ('-o6'
ssssssssss
ssssssssss'-r4' 32-bit integer IDCT, IEEE-1180 compliantss(obsolete)
ssssssssssssssssThis algorithm is obsolete, but still available.ssIt offers
ssssssssssssssssthe same level of precision as the MMX32 IDCT, but is
ssssssssssssssssslower.
ssssssssss
ssssssssss* = default
ssssssssss
ssssssssss**in v0.14 and later, integer-IDCT is the default for *ALL*
ssssssssssssoutput modes!
ssssssssss
sssssssssseg. MPEG2AVI.EXE -b input.m2v -r2 ...
ssssssssssssss(decode bitstream "input.m2v" with MMX Chen IDCT)
ssssssssss
ssssssssss(source documents for these IDCTs can be found in the LINKs section
ssssssssss at the end of this document.)
ssssss
ssss -# <start> <end>ssDefine range of MPEG-frames to decode.
ssssssssssMPEG2AVI limits its output to frames <start> ... <end>
ssssssssssThe numbering is based on MPEG2AVI's internal counter.
ssssssssssTHERE IS NO FRAME# IN AN MPEG-BITSTREAM!ssMPEG2AVI starts at 0
ssssssssss(0=first decoded frame.)ssWhen '-@ <lba>' is not simultaneously
ssssssssssused, '0' = first frame of the bitstream
ssssssssss
ssssssssssEg. MPEG2AVI.EXE -b longclip.mpg -# 4895 9999 ...
ssssssssssss (begin frame-output at decoded MPEG-frame #4895, run until
ssss #9999)
ssssssssss
ssss -f decode video as whole-frames (ignored by progressive MPEG sequences)
ssssssssMPEG2AVI's AVI-writer can only deal with whole frames (not fields.)
ssssssssThus interlaced MPEG-2 files require this option! (internally, the
ssss MPEG
ssssssssDecoder produces individual fields and whole frames.ssThis would
ssssssssConfuse the AVI-writer, which only is initialized to one image size.)
ssssss
ssssssssssEg. MPEG2AVI.EXE -b interlaced_clip.m2v -f ...
ssssssssssssss(MPEG-decoder concatenates fields into complete frames)
ssssss
ssss ----------------------------
ssss 3) VIDEO PROCESSING COMMANDS
ssssss
ssss Video processing executes in this order :
ssssss
ssssss MPEGssssssInversessss DownsizerssssHalf-resssssOutput cropssss AVI/GDI
ssssssdecoded -> Telecine -> '-3X <x>' ->ss modess ->ss Viewportss -> Output
ssssss videossss '-s<n>'ssss '-3Y <y>'ssssss'-2'ssssss'-1 <x> <y>'ssss'-o<#>'
ssssss
ssss -s<#> enable manual inverse-telecine with offset <#>,ss#=0..4
ssssssssss(examples, -s0, -s1, -s2, -s3, -s4)
ssssssssssrequires that '-f' is simultaneously specified
ssssssssss(IVTC is OFF by default, please refer to ivtc.txt)
ssssssssss
sssssssssseg. MPEG2AVI.EXE -b darkcity.vob -s4 -f ...
ssssssssssssss(enables inverse-telecine, set starting-offset to #4)
ssssss
ssss -s<#>D activate IVTC with "auto-disable" (repeat_first_field detection)
ssssssssss(examples, -s0D, -s1D, -s2D, -s3D, -s4D)
ssssssssssMPEG2AVI opens the MPEG-file with user specified frame-offset.
ssssssssssThe IVTC-processor functions normally until the detection of
ssssssssss'repeat_first_field'.ssIf the IVTC-processor sees two consecutive
ssssssssssMPEG frames with no repeat_first_field, the IVTC re-activates.
ssssssssss(Useful for VOB-trailers whose MPEG-sequence begins as hardcoded
ssssssssss3:2-pulldown, but later toggle "repeat_first_field".)
ssssss
sssssssssseg. MPEG2AVI.EXE -b starship.vob -s4D -f ...
ssssssssssssss(enables inverse-telecine, set starting-offset to #4)
ssssss
ssss -1 <x> <y> Crop MPEG frames to user-specified dimensions <x> * <y>,
ssssssssssNote, <x> must be divisible by 8, and <y> divisible by 2
ssssssssssThe cropped output is always centered with respect to the source.
ssssssssssMPEG2AVI performs this function *last*.
ssssssssss
ssssssssssEg. MPEG2AVI.EXE -b mpeg720x480.m2v -1 352 240 ...
ssssssssssssss(crops the frames from source resolution -> 352x240)
ssssssssss
ssss -2 Half-resolution output mode (half-X and half-Y resolution)
ssssssssThe output is downsampled using arithmetic (average) interpolation.
ssssssssA square of 4 source pixels are averaged to produce 1 output pixel.
ssssssssMPEG2AVI performs '-2' *after* the resizer (-3x, -3y).ssHalf-
ssss resolution
ssssssssis faster than using the shrink function ('-3X <x>' and '-3Y <y>'
ssssssss(this option is affected by quality-mode, see '-q<n>'
ssssss
sssssssssseg. MPEG2AVI.EXE -b mpeg720x480.m2v -2 -1 352 240 ...
ssssssssssssss(first operation : resolution -> 360x240,
sssssssssssssssecond operation: crop 360x240 -> 352x240 )
ssssss
ssss -3X <x> Shrinks output X-resolution to xxx.ssDoes not change viewport
sssssssssssize. (In other words, the output resolution is unchanged, but the
ssssssssssimage is shrunk and black borders are put to the left and right.)
ssssssssssssMPEG2AVI implements weighted mean pixel-averaging (1st order
ssssssssssssaveraging.)ssDecreases performance
ssssss
sssssssssseg. MPEG2AVI.EXE -b mpeg720x480.m2v -3X 640 -1 640 480 ...
ssssssssssss(first operation : image 720x480 -> 640x480)
ssssssssssss (second operation: crop viewport 720x480 -> 640x480)
ssssss
ssss -3Y <y> Shrinks output Y-resolution to yyy.
ssssssssssssAs for -3X, also decreases performance
ssssss
ssssssssssssSince downsizing inevitably reduces picture detail, you should
ssssssssssssavoid downsizing in both directions simultaneously (X & Y.)
ssssss
ssss -f[n] same as "-f", except also specifies a frame-rate from the table.
ssssssssssThe choice of frame-rate does not affect the decoder's output.ssIt
ssssssssssmerely sets the appropriate data-field in the AVI's header.
ssssss
ssssssssssEg. MPEG2AVI.EXE -b ntsc_film_vcd.dat -f0
ssssssssssssss(Sets AVI-file's framerate field to "23.976fps" )
ssss ------------------
ssss 4) OUTPUT COMMANDS
ssssss
ssss -o6 draw to screen, via GDI ( using RGB24 using Display_Dib() )
ssssss
sssssssssseg. mpeg2avi.exe -b input.m1v -o6 ...
ssssssssssss (decodes input.m1v to the screen)
ssssss
ssss -o7 <output AVI filename> write to AVI (RGB24 444)
ssssssss (standard bitmap format for VFW)
ssssssss MPEG2AVI 0.16B23's CSC (color space converter) was rewritten in MMX.
ssssssss The MMX-code has closed the speed-gap between RGB and YUV AVI modes.
ssssssss Now, the YUV AVI modes are (usually) only marginally faster.
ssssss
ssssssssssEg. mpeg2avi.exe -b input.m1v -o7 output.avi ...
ssssssssssssss(converts input.m1v -> output.avi, using RGB24 AVI writer)
ssssss
ssss -o8 <output AVI filename> write to AVI (YV12 420)
ssssssss "YV12" is a Directdraw surface format, whose sampling-
ssss characteristics
ssssssss are identical to YCbCr 4:2:0.ssBoth formats have identical
ssss resolution
ssssssss parameters (luminance fullxfull, chroma halfxhalf.)
ssssssss not all VFW codecs accept YUV-input, see vfw_yuv.txt
ssssss
ssssssssssEg. mpeg2avi.exe -b input.m1v -o8 output.avi ...
ssssssssssssss(converts input.m1v -> output.avi, using YV12 AVI writer)
ssssss
ssss -o9 <output AVI filename> write to AVI (YUY2 422)
ssssssss "YUY2" is a Directdraw surface format, whose sampling-
ssss characteristics
ssssssss are identical to YCbCr 4:2:2.ssBoth Formats have identical
ssss resolution
ssssssss parameters (luminance full x full, chroma half x full.)
ssssssss not all VFW codecs accept YUV-input, see vfw_yuv.txt
ssssss
ssssssssssEg. mpeg2avi.exe -b input.m1v -o9 output.avi ...
ssssssssssssss(converts input.m1v -> output.avi, using YUY2 AVI writer)
ssssss
ssss -$ <n> Set AVI-autosplit size-threshold to <n> megabytes.
ssssssssss MPEG2AVI's default size-threshold = 2040MB (~2GB)ssWhen the
ssss current
ssssssssss AVI-file's length reaches the threshold <n>, MPEG2AVI closes it
ssss and
ssssssssss opens a new one.ssThe new file's name is arbitrarily chosen
ssssssssss
sssssssssseg. MPEG2AVI.EXE -b dvdmovie.lst -f -o8 dvdmov.avi -$ 640 ...
ssssssssssssss(Tells AVI writer to limit output file size to 640MB.ssA new
ssssssssssssss file is automatically created when the current AVI-file
ssss exceeds
ssssssssssssss this size.)
ssssss
ssss -! <n> Skip 1 frame for every <n> decoded frames.
ssssssssss MPEG2AVI decodes every frame, but does not write the <n>th frame.
ssssssssss The frame-drop can be considered decimation in the temporal sense.
ssssssssss
ssssssssssEg. MPEG2AVI.EXE -b dvdmovie.lst -f -o8 dvdmov.avi -! 3350 ...
ssssssssssss (Tells output module to discard every 3350th frame it receives.)
ssssssssssss (this function is implemented after all other functions)
ssssss
ssss -* Prints MPEG-data in upper left of output video.ssThe data has the
ssssssssfollowing format :
ssssssssss1) MPEG2AVI frame# (decoded frames, start from 0)
ssssssssss2) GOP timecode (MPEG GOP header time code XX:XX:XX:frame)
ssssssssssss a white-square flashes briefly (duration of 1 frame) for
ssssssssssss MPEG I-frames.
ssssssssss3) temporal reference (MPEG picture header)
ssssssssss4) address (LBA) of last valid SYSTEM HEADER (VOB only)
ssssssssss
sssssssssseg. mpeg2avi.exe -b trailer.vob -f -* ...
ssssssssssss (Prints header data in upper-left corner of output viewport)
ssssss
ssssssssssThis information is probably only useful to MPEG techies.ssI use it
ssssssssssto debug.ssThe last item (4) is helpful for MPEG2AVI's LBA-seek
ssssssssssoption ('-@ <lba>'
-------------------------------------
"HOW DO I?" (USAGE EXAMPLES AND TIPS)
-------------------------------------
ssss Q: How do I ... with MPEG2AVI?
ssssss
ssss I'll fill this in later...
ssssss
ssss Don't forget to read these other important documents:
ssssssssssmpeg2avi.txtss- User's Guide
sssssssssssample.lstssss- "streamlist" sample file
ssssssssssivtc.txtssssss- inverse telecine information, incomplete!
ssssssssssvfw_yuv.txtssssss- MPEG2AVI FAQ and YUV-AVI information
ssssss
----------------
INVERSE-TELECINE
----------------
ssss (Please see ivtc.txt)
--------------------
PROGRAM REQUIREMENTS
--------------------
ssss + Windows95/NT4 or later, 32MB RAM (didn't test, ...)
ssssss
ssss + CPU with MMX support (MPEG2AVI is optimized for Intel IA32(R) CPUs)
ssssss
ssss + Windows Video-compression routines
ssssss (Control Panel -> Add/Remove Programs -> Windows Setup)
ssssss
ssss Despite some MMX optimization, MPEG2AVI does not approach the speed of a
ssss commercial softDVD player.ssI estimate MPEG2AVI to be 2-3X slower than a
ssss commercial softDVD player.ssHowever, MPEG2AVI can produce higher quality
ssss video than some commercial SoftDVD programs (like XingDVD 2.0x).
ssssss
ssss I did run two benchmarks on my development system :
ssssss
ssss Hardware : ASUS P2B-F i440BX, Intel Celeron-366 @ 458MHz, Win98SE
ssssssssss
ssss Benchmark 1)
ssssssssssSource : DolbyDigitalTrain.VOB (MPEG-2 video @ 720x480 29.97Hz IL)
ssssssssssOutput : Microsoft MPEG4V3 codec (kf:1sec, rate:1200KBps,
ssss Sharp:100)
ssssssssssNotesss: inverse-telecine '-s4', FPU-IDCT '-r0', RGB24 AVI '-o7'
ssssssssss
ssssssssssssss C:> MPEG2AVI.EXE -b Dolby.vob -f0 -r0 -s4 -o7 dolby.avi
ssssssssssssssss
ssssssssssssss AVI output clip : 38-seconds @ 23.976 fps, 720x480 resolution
ssssssssssssss Elapsed Encoding time : ~500 seconds
ssssssssssssssss
ssssssssssssss Microsoft's MPEG4V3 codec no longer supports VFW.ssThe
ssssssssssbenchmark was run on a beta release of Windows Media Tools 4.0.
ssssssssssssssss
ssss Benchmark 2)
ssssssssssSource : redcornertrailer.vob (MPEG-2 video @ 720x480 29.97Hz IL)
ssssssssssssssssssSource clip is coded as progressive (24fps) using rff
ssssssssssssssssssSource filesize is ~120MB
ssssssssssOutput : PicVideo M-JPEG v2.0 codec (LQ:34 CQ:38 SS:422)
ssssssssssNotesss: Chen MMX-IDCT '-r2', YUY2 AVI '-o9', half-resolution '-2'
ssssssssss
ssssssssssssss C:> MPEG2AVI.EXE -b rct.vob -f0 -r2 -2 -1 352 240 -o9 rct.avi
ssssssssssssssss
ssssssssssssss AVI output clip : 2:40sec @ 23.976fps, 352x240 resolution
ssssssssssssss Elapsed encoding time : ~240 seconds
ssssssssssssss (with '-r1' IDCT, the same clip requires 350 seconds to
ssssssssssencode)
ssssssssssssssss
-------------------
YEAR 2000 STATEMENT
-------------------
ssssssssss"I have absolutely no clue what might happen if MPEG2AVI.EXE were
ssss to be run just before the new millennium.ssIt may exhibit strange
ssss behavior, anywhere from turning on your TV to causing the end of the
ssss world."
-----------------
SOURCE CODE NOTES
-----------------
ssss Please see source.txt for more information.
-----------------------
LIMITATIONS of MPEG2AVI
-----------------------
ss -very limited multi-file input capability
ssssOnly supports VOB files from a continuous stream (like a DVD-disc),
sssswhere the files stored physically adjacent.
ss -no audio decoding ... yet (audio streams are ignored)
ss -resize options (-3X, -3Y) are limited to 8-pixel increments, and slow
ss -Screen output (GDI) is slow and not updated correctly.
ssssOutput is "messy"
ss -MPEG-output cannot be enlarged (zoomed), only shrunk
ssss(no plans for zooming; zooming does not 'extract' more detail)
ss -damaged input bitstreams cause MPEG2AVI to crash or malfunction
ss -VOB vs M2V (same MPEG-2 video), VOB reading is slower due to demuxing
ssssoverhead
ss -no CSS support, MPEG2AVI cannot read encrypted VOB files
ssss(i.e. region-coded DVD movies)ssSince DVD-movies are generally
sssscopyrighted, there are no plans for direct DVD-conversion
ss -no CD-i "DigitalVideo" disc support (CD-i discs prior to 1994)
ssssCD-i DigitalVideo discs are *not* WhiteBook VideoCDs!
ss -aborted AVI files are readable, but MPEG2AVI cannot resume aborted
ssssencoding-jobs (cannot append to end of a closed AVI file)
ss -MPEG2AVI is slow compared to commercial MPEG decoders/players.
ssss(but conversion jobs where the encoding is inherently slow, there is
ssss little difference in overall throughput.)
ss -clumsy command-line interface (will be addressed in future GUI)
---------------
CREDITS & LINKS
---------------
ssss Lots of people helped with the MPEG2AVI's development.ssFirst of all,
ssss this project wasn't possible without the MSSG MPEG2V12 codec @
ssss http://www.mpeg.org.ssCheers to the standards organization for making
ssss the source-code free to the general public.ssThe VOB-demuxing is based
ssss on Brent Beyer's BBDMUX v1.3.ssPortions of the AVI-writer received help
ssss (indirectly) from the authors of VideoMatrix and VirtualDub.
ssss Last but not least, the couple hundred or so devoted (or desperate...)
ssss users who try every new release and report-back broken features.
ssss (DOH...)
ssssss
ssss -------------------------------------------------
ssss Hobbyist resources : Information for casual users
ssss -------------------------------------------------
ssssss
sssssssssshttp://www.videodiscovery.com/vdyweb/dvd/dvdfaq.html
ssssssssssssAn *excellent* DVD FAQ by Jim Taylor
ssssssssss
sssssssssshttp://www.hollywood.com
sssssssssssscomplete VOB trailers for BigHit, DarkCity, Lost in Space, and
ssssssssssssWedding Singer.ss(these trailers are coded with redundant fields;
ssssssssssss they are good candidates for MPEG2AVI's IVTC processor)
ssssssssss
sssssssssshttp://dilapi.stu.rpi.edu/trailers/
ssssssssssssMPEG-2 VOB trailers of recent movies
ssssssssss
ssssssssssftp://ftp.xingtech.com
ssssssssssssone clip of each kind MPG/M2V/VOB, (the shuttle.m2v clip has bad
ssssssssssssheader info - shuttle.m2v must be demuxed by a third-party tool
ssssssssssssbefore MPEG2AVI can decode it)
ssssssssss
ssssssssssftp://ftp.csst.net/csst/Dolbyss(login:csst, passwd:csst)
sssssssssssshigh-fidelity Dolby Digital VOB trailers
ssssssssss
sssssssssshttp://www.inmatrix.com
ssssssssssssanother PC-DVD site, lots of good user info
ssssssssss
sssssssssshttp://www.concentric.net/~psilon
ssssssssssssVirtualDub - free AVI/ASF/MPEG-1 -> AVI converter with source-
sssssssssscode!
ssssssssssss This is a *GREAT* freeware GUI application for linear-editing
ssssssssss
sssssssssshttp://www.microsoft.com/windows/windowsmedia/en/
ssssssssssssWindows Media Technology homepage
ssssss
ssss -------------------------------------------------
ssss Developer resources : Information for programmers
ssss -------------------------------------------------
ssssss
sssssssssshttp://www.mpeg.org
sssssssssssssource of MPEG2V12 software encoder/decoder
ssssssssss
sssssssssshttp://www.ece.ubc.ca/~knguyen/sof [...] hen_mmx1.c
ssssssssssssMMX 16-bit Chen IDCT 8x8 algorithm
ssssssssss
sssssssssshttp://developer.intel.com/drg/mmx/appnotes/ap528.htm
ssssssssssssMMX 16-bit AAN IDCT 8x8 algorithm (AP-528)
ssssssssss
sssssssssshttp://developer.intel.com/vtune/c [...] pnotes.htm
ssssssssssssMMX/SIMD accurate IDCT 8x8 algorithm (AP-922)
ssssssssss
sssssssssshttp://members.home.net/beyeler/bbmpeg.html
sssssssssssssource of BBTOOLS, BBDMUX, and BBMPEG, an AVI->MPEG2 encoder
ssssssssss
sssssssssshttp://www.webartz.com/fourcc
ssssssssssssInformation on common YUV/RGB color formats. Focusues on PC VGA
sssssssssssspixel foramts (Directdraw surface YV12, YUY2, UYVY, etc.)
ssssss
------------------------------
DISTRIBUTION DISCLAIMER
------------------------------
ssss MPEG2AVI is a freeware program : end-users may download and use it
ssss without restriction.
ssssss
ssss HOWEVER, major portions of MPEG2AVI uses source code provided by the
ssss MPEG Software Simulation Group. The MPEG2V12 codec is subject to MSSG's
ssss distribution terms, which means commercial applications/derivatives are
ssss subject to license/royalty payments.
ssss ---------------------------------------------------------------------
ssss Disclaimer of Warranty
ssssss
ssss These software programs are available to the user without any license
ssss fee or royalty on an "as is" basis.ssI disclaim any and all warranties,
ssss whether express, implied, or statuary, including any implied warranties
ssss or merchantability or of fitness for a particular purpose.ssIn no event
ssss shall the copyright-holder be liable for any incidental, punitive, or
ssss consequential damages of any kind whatsoever arising from the use of
ssss these programs.
ssssss
ssss This disclaimer of warranty extends to the user of these programs and
ssss user's customers, employees, agents, transferees, successors, and
ssss assigns.
ssssss
ssss The MPEG Software Simulation Group does not represent or warrant that
ssss the programs furnished hereunder are free of infringement of any third-
ssss party patents.
ssssss
ssss Commercial implementations of MPEG-1 and MPEG-2 video, including
ssss shareware, are subject to royalty fees to patent holders.ssMany of these
ssss patents are general enough such that they are unavoidable regardless of
ssss implementation design.
ssss ---------------------------------------------------------------------
ssssss
Historique je vous dis !