DVD2SVCD 1.0.9 build 3 Advanced Reference
DVD2SVCD combines many utilities and trying to read each manual is a daunting task.

CD Image

Encoder CCE
Encoder TMPGEnc
hit browser back button to return to top


Deinterlace default No deinterlacing

SmartDeinterlace (slows encoding speed by about 40%)
This is just a shortcut for:
It shows that these filters are really only a port of Donald Graft' Smart Deinterlacer.

SmartDeinterlace Settings

default 10
default on
default off
default on

default Field-only Differencing
Frame-only Differencing
When this option is checked, only inter-field comparisons are made to detect motion. If a pixel differs from the corresponding pixels in the previous and following fields (the lines above and below the current line), the pixel is considered to be moving.
Field-only Differencing
When this option is checked, only inter-field comparisons are made to detect motion. If a pixel differs from the corresponding pixels in the previous and following fields (the lines above and below the current line), the pixel is considered to be moving.
Frame-and-Filed Differencing
When this option is checked, both inter-frame and inter-field comparisons are made to detect motion. If a pixel differs from the corresponding pixel in both the previous field and the previous frame, the pixel is considered to be moving.

The correct choice for differencing depends on the input video; each mode has problems with some kinds of clips. Field-only differencing alone may tend to overestimate motion. Frame-only and frame-and-field differencing may tend to underestimate it. Also to be considered is execution time; frame-only will be the fastest, followed by field-only, followed by frame-and-field.

In my experience, good results with a wide range of clips are obtained with frame-only differencing at a threshold of 15, and so these are the filter defaults. Motion map denoising is helpful with field-only differencing as it reduces the amount of picture detail that is erroneously detected as motion.

BlendFields slows (encoding speed by about 10%)

Deinterlace a clip by blending the fields together. This is the blend mode of the internal vdub deinterlace filter ported to avisynth. It works in RGB and YUV modes. If avisynth reports a field-based clip, Weave is performed, so the output is always frame-based. If avisynth guessed wrong, use AssumeFrameBased beforehand.

SeparateFields/SelectEvery (PAL) (slows encoding speed by about 15%)

Select length frames every every frames, starting after offset.

SelectRangeEvery(every,length,offset) is the same as SelectRangeEvery(Trim(offset,0),every,length)

VerticalReduceBy2 (PAL) (slows encoding speed by about 20%)

Creates a two color clip that identifies moving parts of the images. The algorithm comes from Donald Graft' Smart Deinterlacer filter for VirtualDub, version 2.5. Mode is an integer that can take 3 values: 1 for frame-only differencing, 2 for field-only differencing and 3 for frame-and-field differencing. treshold (integer) is the sensitivity of the filter. A lower treshold makes it more sensitive to motion and, as a side-effect, to noise. denoise (boolean, default=true) activates additional filtering to reduce false motion detection due to noise and allows you to use lower tresholds. fast (Boolean, default=false) makes the filter runs faster by working two pixels at a time but is less precise.

For a more thorough explanation of the parameters, please read the help file included with the Smart Deinterlacer for VirtualDub.

Currently MotionMask only handles YUY2 data. Also note that the color mode of the VirtualDub filter is not supported (yet).

Telecide (PAL) (slows encoding speed by about 25%)
Decomb Function Syntax
Following is the syntax for the Decomb functions:


swap (true/false, default false) is required if the result of Telecide comes out field-swapped; some capture cards require it. It is also useful for reversing the sense of Telecide's field matching as described above.

firstlast (true/false, default false) can be used to force the first and last frames to be recovered by cubic interpolation instead of field matching. This can be required when a field is missing at the beginning or end of the clip (PAL phase shift often causes this). Set this option to true to force interpolation of the first and last frames.

postprocess (true/false, default true) controls whether Telecide performs postprocessing to clean up frames that come through the field-matching still combed. Use true to enable postprocessing.

threshold (0-255, default 15) sets the combed frame detection threshold for the postprocessing. You may want to increase this value if too many good frames are being deinterlaced, or reduce it if small combed areas are not getting caught. The default is a good general purpose value. Note that this threshold determines whether a frame is considered combed and needs to be deinterlaced; it is not the threshold you might be familiar with in Smart Deinterlacer. That threshold is set internally to 9 for deinterlacing the frames detected as combed.

blend (true/false, default true) enables blending instead of interpolating in combed areas.

debug (true/false, default false) enables logging/debugging information about the filter's decisions to be printed via OutputDebugString(). A utility called DebugView is available for catching these strings.


Input file type
DBV(pva) import
Import files created by DVB satellite tuner cards

DVB - Digital Video Broadcast
PVA - Packet Video Audio VideoPack supports all standard video and still frame files.

The format of the digital broadcast services is generally called DVB. This format is a kind of MPEG2 format. It varies in some parameters (like bitrate and resolution and so on) but the overall format is common. So signals stored with US DVB-cards and those stored with German DVB-cards should have the same format. PVA is the file extension that is used by most German TV cards.

Be sure to have divx 4 or divx5 installed and check 'Convert divx3 to divx4' if your .avi is in divx3. Can solve CCE and also audio synch problems. See thepixel.net for tips on converting DIVX.

--Digital8 - MiniDV
NTSC 720x480 29.97fps 4:1:1
PAL 720x576 25fps 4:2:0
DV video data rate (5:1 compression) 25Mbits/s
DV data rate (audio+video+control) 3.6MB/s
5 minute file size is 1GB (3.6MB/s x 300secs = 1,080MB)
60 mins. would be roughtly 12GB.

Error Messages
--Could not get VideoStream: .AVI Errorcode: -2147205005
indicates you have an incompatible .avi file most likely type 1. Convert to type 2 see Tips.

--AVI's dv codec needs to have the dv codecs decompressor installed.
Opening avi file in VirtrualDub gives the following:
Couldn't locate decompressor for format 'dvsd' (unknown)
VirtualDub requires a Video for Windows (VFW) compatible codec to decompress video. Directshow codecs such as those by Windows Media Player, are not suitable.

-- Your audio compression is not supported. Open avi in VirtualDub | FileInfo to see current audio compression.
AudioFormat not supported. Only AC3, MP3, MP2 and PCM is supported!

Canopus offers a free DV file converter (1.5MB) between various formats. Install their free DV codec (810KB) too. If virtualdub can't open the .avi file CCE will crash since it doesn't have a decompressor for that codec. Recommend converting to 'Premiere compatible Canopus AVI (AVI 2') . 1.00GB file converted results in 1.04GB files and took about 5 mins. What's up with 'Canopus Reference AVI' which says "This file can not be moved on the hard drive!"? whooa.
Remember in Misc tab check 'Convert Microsoft DV Avi to Canopus Codec' so you needn't do it manually.


Run this (per cd image) specify own batch file per CD image
Parameters beta stage currently

How to automate burning in dvd2svcd by DDogg
1> Download and unzip cdrdao.exe to a directory. Let's use c:\program files\dvd2svcd\cdrdao\ to keep things clean and simple.

2> Cut and paste the batch file below into notepad. Save as autoburn.bat (make sure it is not saved as autoburn.bat.txt). Put in the same directory as cdrdao.exe.

3> a> In dvd2svcd, open the finalize tab. In the *checked* 'run this (per CD image)' line put the following - c:\program files\dvd2svcd\cdrdao\autoburn.bat
b> In the parameters line put this EXACTLY (include the quotes around the first parameter - "%CDF.cue" %CD# %CDN

4> OK, a couple of things we have to do one time only. Open a command line and change to the dir where you put cdrdao and type 'cdrdao scanbus' (no single quotes). This will show you the device numbers so you can make a one time change to the batch file below. You will modify the set dev line to reflect the correct device for your CD burner. Also set the speed while you are at it.

5> Note: If you have a heavy name brand of burner, you can note the website mentioned when cdrdao is run and, maybe, find a custom driver for your burner. If so modify the DRVR line below.

6> When dvd2svcd is finished with the creation of the bin/cue section, it will then run the finalize line which will burn your disks for you.

7> Only strange thing is the command line is minimized when it is run by dvd2svcd. Just expand it and press return after you are sure you have a fresh disk in the burner. You will need to do this for each disk.

8> 7> I hope this is of help to some of you.

REM Start of batch file
@echo off
REM The following statement must be changed if you put
REM cdrdao.exe in another directory
@CD program files\dvd2svcd\cdrdao
Rem Next three entries should be modified by you the first time
@set drvr=--driver generic-mmc
@set spd=--speed 8
@set dev=--device 2,1,0
Echo ************************************************
Echo Total number of Disks to burn is:%3
Echo Insert CDR in Burner for DISK %2 of %3
Echo When ready to burn Disk %2, press RETURN
Echo ************************************************
@cdrdao write -v2 --buffers 128 %drvr% %spd% %dev% %1
Echo ************************************************
Echo Press Return to burn the next disk or finish
Echo ************************************************
@pause >NUL
Rem end of batch file

CD Image

CD Label
Volume label of the cd-rom. Content restricted to up to 32 d-characters. See Section
B.1 [ISO646 d-Characters]. This is label usually shows up on computer systems as volume label. (case-insensitive)

B.1 ISO646 d-Characters
| 0 1 2 3 4 5 6 7
0 | 0 P
1 | 1 A Q
2 | 2 B R
3 | 3 C S
4 | 4 D T
5 | 5 E U
6 | 6 F V
7 | 7 G W
8 | 8 H X
9 | 9 I Y
a | J Z
b | K
c | L
d | M
e | N
f | O _

Movie Title
Name of the album which the discs belongs to. This id is used in conjunction with
the following elements to decide whether a disc is the next volume of the currently
played one. Note: An album is defined as a series of discs which contain related content

Total number of volumes (discs) in the album identified by <album-id>.
Ordinal number of the volume (disc) in the album.

Data Preparer default dvd2svcd (use your name if you wish)
This field is used by vcdimager to put a version string on the Video CD, regardless of the content given in the XML description which is ignored.

Title Picture and Change CD Picture
Segment Items
Segment items are stored in the so-called SPI area, which consists
of up to 1980 allocation units which are called "segments". Each
segment consists of 150 XA form 2 sectors. Thus the SPI area can
contain up to 658 mb of realtime data. (1980 * 150 * 2324 = 690228000 bytes)

A segment (play) item is a MPEG stream stored in one or more
consecutive segments. A segment item can be
* MPEG video with _optional_ MPEG audio.
* MPEG encoded still pictures with _optional_ MPEG audio.
* MPEG audio only (which allows for several hours of audio only play back).

* Up to 1980 segment items possible.
* Still pictures and audio only MPEG streams allowed.
* No pre-gaps.
* Only PBC accessible through PBC.
* Segement item size limited by SPI area size.

Play Items
"Play items" are the MPEG payload on (Super) Video CD's. Sequences
are useful for seamless play of larger video sections, whereas segments
are better for smaller items in interactive applications.

In this file additional information (e.g. playing time and stream
characteristics) about each sequence track is recorded.

Use MPEGAV instead of MPEG2
`/MPEGAV' & `/MPEG2' Directory
This file contains file entries pointing to the sequence items
contained in the tracks after the ISO9660 track.

Fixed chapters default 60 seconds

Sequence Items
Each "sequence" is put in its own CD track. Motion video stream is
required, with optionally up to 2 audio streams.

* Can be directly accessed without requiring PBC.
* Entry points.
* Pregap of 150 empty sectors.
* Limit of 98 sequences.
* Must contain motion video

DVD chapters exactly the same as on the original DVD chapters.
---PBC Use Selections prev, next, stop/return, chapter via keypad number selection
---PBC Use Playlist prev, next and stop/return
-- No PBC no chapters, might display time of svcd for some dvd players.

This program allows to actually build a disc image, based on a given
XML description and the files referenced therein. It can be thought of
a Video CD _compiler_ for XML descriptions of Video CD's.


SVCD 1.0 specification
Up to 4 overlay graphics and text ("OGT") sub-channels for user
switchable subtitle displaying. Movies or lyrics for Karaoke.


Advanced Settings only shown if DVD2SVCD level is set to Advanced
Enable variable bitrate multiplexing. This generates program streams without any standalone padding packets and causes the SCR (System Clock Reference) to be evaluated after each video frame to see if it should be incremented more than usual (this effectively changes the mux rate).
Pad VCD audio
VCD audio sectors are specified to be 2304 bytes long. If this option is checked, the sectors are zero padded to 2324 bytes. Some VideoCD authoring software expects the padding to be present and some do not, if an authoring program does not accept files made with this option enabled, disable it and and it should be accepted.
Write program end code
Enable to write a program end code at the end of the program stream. Leave unchecked so program streams can be concatenated, although to do the job right, quite a few more things should be done to concatenate program streams.
Add SVCD scan offsets
Enable to embed SVCD scan offsets in User Data blocks after I frames. This option requires the Align Sequence Headers option to also be enabled.
Align sequence headers
If enabled, all video packets containing a sequence header are aligned to the start of the packet.
Use Private Stream 2
VOB files use Private Stream 2 packets to hold the system headers and PCI/DSI information. bbMPEG does not produce PCI/DSI info so the data is set to zeros. Some players do not like this, so this option can be cleared to generate Padding packets instead of Private Stream 2 packets.
Computed bitrate
Use a calculated video bitrate (instead of the embedded video bitrate) as the basis for the mux rate. Not available when multiplexing VCD or SVCD streams and generally should not be enabled if VBR multiplexing is enabled.
Specify whether PTS and DTS timestamps are put on all frames, only I and P frames or just I frames.
Use this option to specify that the video stream is composed of 23.976 or 24 fps NTSC progressive video. Set this option to Auto to have the multiplexer automatically detect if pulldown is being used. This value is automatically set if the Pulldown option on the Video Settings page is set to 2:3 or 3:2 pulldown.
Forced mux rate
Specify a mux rate value in units of 50 bytes/sec. Set to zero to have the multiplexor compute a value.
Pack size
Specify the size (in bytes) of the packs in the program stream. SuperVCD and VideoCD are fixed at 2324 bytes while DVD is fixed at 2048 bytes.
PES packets / pack
Specify the number of PES packets per pack. This determines the size of the PES packets. Usually leave this set to one.
Video buffer size
Specify the video buffer size. This should be at least as big as the vbv buffer. Note that due to the units difference, the number here should be twice as big as the vbv buffer size number.
Audio 1 buffer size
Specify the audio buffer size for the primary audio track.
Audio 2 buffer size
Specify the audio buffer size for the secondary audio track.

Startup Delays (ms)
Movie offset seconds
or Startup pack delay
Specifies the starting value of the SCR clock in milliseconds.
180 Audio 1 180 Audio 2 180. Change to correct synch issues with dvd player. Some dvd players have an issue with Title Picture and the audio/video is out of synch.
Video stream startup delay
Specify the number of milliseconds to delay the video stream.
Audio 1 stream startup delay
Specify the number of milliseconds to delay the primary audio stream.
Audio 2 stream startup delay
Specify the number of milliseconds to delay the secondary audio stream.

Remember if you screw things up you can revert to the default values by double clicking on the Program Stream Type.


Batch Ripping/Encoding Tips

--Must rip with internal routines or vstrip which creates two files dvd2svcd project file.d2s and dvd2svcd project file.d2s which saves your settings you wish to use for that particular dvd.

--Appends batch command to the dvd2svcd batch.bat file. It's your responsibility to delete any redundant or no longer needed entries. It'll look similar to the following:

@REM DVD2SVCD Batch Control
"D:\DVD2SVCD\DVD2SVCD.exe" -d2s:"D:\moviename1\dvd2svcd project file.d2s" -run -exit
"D:\DVD2SVCD\DVD2SVCD.exe" -d2s:"D:\moviename2\dvd2svcd project file.d2s" -run -exit

--If running Win98/ME you may need to append to the begging of your command so it looks like so:

Start /wait "D:\dvd2svcd\dvd2svcd.exe" -d2s:"D:\moviename1\dvd2svcd project file.d2s" -run -exit
Start /wait "D:\dvd2svcd\dvd2svcd.exe" -d2s:"D:\moviename2\dvd2svcd project file.d2s" -run -exit

--Always have checked Select new default folder when ripping starts (lest you overwrite your existing vobs although it will pop up a warning)

--Choose from the Go! button Rip Only

-- Say you rip to d:\moviename1....next dvd one just put in the tab d:\movie2 by typing it in.

--make sure that the "don't delete files" is unchecked minimizing disc space needed. You can use Recover option unlike before with this option unchecked, which used to not be so. Figure anywhere from 10-15GB needed per movie and possibly 20GB for long movies.

--use the Set folder structure to make it easier for you to delete the files after a successful burn. Keeping your bin cue images and possibly your vobs within subdirectories for organization..

--say you rip 6 movies on your harddrive but only wish to encode 3 at a time. Just rem the others out.
Example don't process moviename2 dvd.
"D:\DVD2SVCD\DVD2SVCD.exe" -d2s:"D:\moviename1\dvd2svcd project file.d2s" -run -exit
rem "D:\DVD2SVCD\DVD2SVCD.exe" -d2s:"D:\moviename2\dvd2svcd project file.d2s" -run -exit

--Use autoshutdown so it'll turn off after say the third encode. Don't worry about the first two having it checked since the 2nd and 3rd will kick in immediately and interrupt that 120 second shutdown countdown and continue on. Check your dvd2svcd.ini and if it doesn't have Automatic Shutdown=1 you can change it to that or you could replace -exit with -shutdown for last entry in batch file.

--Put in your movie info and title picture. Don't worry about your cover1.jpg since it will not overwrite an existing one. It create cover1.jpg cover2.jpg, cover3.jpg, etc. up to 99 I believe.

--After you rip only make sure to close out the dvd2svcd program and then re-open it. This way you eliminate the possibility of re-using your current title pic or existing movie info. Also eliminates ripping problems. Highly recommended.


Luminance gain
info below is from What is Y'CbCr? (reprinted with permission of author)

In standard computer graphics R'G'B' (8-bit per channel) encoding, each value ranges from 0 to 255. (0,0,0) is black and (255,255,255) is white.
In Y'CbCr (*always* 8-bit per channel) encoding:
--- Y' ranges from 16 to 235. 16 is the darkest, 235 is the brightest.
---Cb and Cr range from 16 to 240. 128 is the zero-point.
Thus, (16, 128, 128) is pure black, and (235, 128, 128) is pure white.

r' = R' / 255 | Y' = (y' * 219) + 16
g' = G' / 255 | CB = (CB * 224) + 128
b' = B' / 255 | Cr = (cr * 224) + 128

Luminance offset

iDCT Algorithm
(inverse discrete cosine transform)

32-bit SSE MMX
64-bit Floating Point
IEEE-1180 Reference
(don't use..has a potential bug)
iDCT Algorithm
iDCT algorithms possess the quality of MPEG-2 decoding.

First of all, these three iDCTs are all IEEE-1180 compliance which confirms the quality of iDCT algorithms. It's really hard to tell the difference perceptually.

Generally speaking, speed of 32-bit MMX/SSEMMX > 64-bit Floating Point > IEEE-1180 Reference iDCT. In view of this, 32-bit MMX/SSEMMX is recommended.

Mathematically, quality of IEEE-1180 Reference > 64-bit Floating Point > 32-bit MMX/SSEMMX iDCT Reference iDCT implies lossless transformation for those who pursue for the limit.

SSE MMX is a bit faster than MMX iDCT because it invokes PSHUFW instruction.
If your CPU supports (P3, P4, Athlon, Duron, some Celeron), DVD2AVI will choose the faster one automatically

NTSC Field Operation (Force film) default Automatic
The Difference of Video Type (FILM/NTSC/PAL/HYBRID)
23.976 fps progressive frame coded on DVD
Forced FILM skips the RFF (repeat_first_field flag) of MPEG-2 stream
29.970 fps 3:2 pull-down (by DVD2AVI) based on orderly RFF
RFF sequence behaves as 01010101... every four frames add two fields (one frame)
That's the theorem of 23.976/24->29.970/30 fps (4:5) conversion

Forced FILM OFF 29.970/25.000 fps interlaced or progressive frame coded on DVD
all RFF of MPEG-2 stream equal to 0, unnecessary to repeat
disable Forced FILM to set correct frame rate, NTSC 29.97 fps or PAL 25 fps

29.970 fps irregular pull-down (by DVD2AVI) due to unorderly RFF
Try to skip RFF will result in meaningless stuff and cause A/V asynchronism
IVTC (Slow as hell) (Inverse Telecine)
Only 30fps telecined from 24fps can be converted back to 24fps by IVTC.
If every frame is interlaced (most TV news and shows), we must apply deinterlace instead of IVTC.

Generally speaking, IVTC bases on field combination and deinterlace bases on interpolation.
Field combination reconstructs original frames <=> interpolation produces artificial frames

Once you find the video is created as 24fps originally, it's better to perform IVTC.
Deinterlace downgrades the quality and 30fps remains. More processing time with larger compression size!

Telecined 30fps is simple to identify. It's usually 3 progressive frames followed with 2 interlaced frames.


Autodetect Azid Gain (2 pass) this is default rather than specifying one
1st Pass:

I Use Something Like:
"azid.exe" "d:\1.ac3" -z0 -b0 -N -g100db > c:\OverFlow.txt

Example of c:\OverFlow.txt

[00:00:00.000] W6: Downmix overflow (+33.3dB)
[00:00:00.005] W6: Downmix overflow (+34.5dB)
[00:00:00.010] W6: Downmix overflow (+31.6dB)
[00:00:00.016] W6: Downmix overflow (+33.9dB)
[00:00:00.021] W6: Downmix overflow (+29.8dB)
[00:00:00.026] W6: Downmix overflow (+30.2dB)
[00:00:00.032] W6: Downmix overflow (+32.0dB)
[00:00:00.037] W6: Downmix overflow (+27.3dB)
[00:00:00.042] W6: Downmix overflow (+30.1dB)
[00:00:00.048] W6: Downmix overflow (+33.7dB)
[00:00:00.053] W6: Downmix overflow (+36.1dB)
[00:00:00.058] W6: Downmix overflow (+33.1dB)
[00:00:00.064] W6: Downmix overflow (+28.6dB)

After Azid Finished Writing to c:\OverFlow.txt the GUI Scans the File in Order to Get the Maximum Overflow Value.

In the Example Above MaxOverFlow = 34.5

MaxGainFound = 100 - MaxOverFlow - 0.1
MaxGainFound = 100 - 34.5 - 0.1 = 65.4

I Use -0.1 in Order to Avoid Downmix overflow (+0dB)

In the 2nd Pass Azid will Use -g65.4db
--thanks to DD (author of azid/lame gui)

Below is from Jim Taylor's Common DVD Myths
"Audio level too low.
In truth the audio level is too high on everything else. Movie soundtracks are extremely dynamic, ranging from near silence to intense explosions. In order to support an increased dynamic range and hit peaks (near the 2V RMS limit) without distortion, the average sound level must be lower. This is why the line volume from DVD players is lower than from almost all other sources."

Azid Gain Offset default 6

Will attempt to downmix at -6dB unless an overflow is detected then -5dB then -4dB and so on.

Output mode
In this mode, the encoder makes no use of potentially existing correlations between the two input channels. It can, however, negotiate the bit demand between both channel, i.e. give one channel more bits if the other contains silence or needs less bits because of a lower complexity.
Dual channel
In this mode, the 2 channels will be totally independently encoded. Each channel will have exactly half of the bitrate. This mode is designed for applications like dual languages encoding (ex: English in one channel an French in the other). Using this encoding mode for regular stereo files will result in a lower quality encoding.
Joint stereo
In this mode, the encoder will make use of a correlation between both channels in order to achieve higher compression. This will enhance the quality of constant bitrate recordings, and reduce the size of variable bitrate recordings.
MPEG 5.1

Creates two front channels, two rear channels and center channel. Must use I-Author (CD Image tab) to mux video and audio. Only a very select few dvd players can play SVCD 5.1 audio. Uses phillips MPEG 5.1 Encoder.
Bitrate default 128
SVCD standard spec is 224Kbps ...192 works for many just fine.
some release groups enforce the following: "Minimum audio bitrate to be used should be 192kbps. Maximum 224kbps. Stereo or MPEG-2 5.1 ONLY, no single channel mono"


FlipVertical flips the video upside-down. Useful for dealing with broken video codecs. Some decoders (notably MS MPEG-4) will produce upside-down video. You'll have to use FlipVertical.

Add ResampleAudio adds the following to at the end of the.avs file:
This can prevent CCE from crashing with Athlon CPUs. CCE still does zero audio processing since it's not quite up to par quality wise as compared to BeSweet.

Edit the Avisynth Script File (not for newbies) default off
look at example avs files C:\DVD2SVCD\MPEG2Dec
Here's the what the default looks like:

Resize method
--SimpleResize (fast)
is default. 20-25% increase fastest for encoding

Okay, on to business. SimpleResize is an Avisynth filter that will do a very simple
2 tap linear interpolation. It is unfiltered which means it will not soften much. It's main advantage is that it will run somewhat faster than some of the others.

To use it just:
1) Place the SimpleResize.dll in a directory somewhere. You can get it from
2) In you Avisynth file use command similar to

Of course replace the file and directory names with your own and supply the integer
values for width & height.

--Bilinear softens picture a tad, about 10% faster encoding


The BilinearResize filter rescales the input video frames to an arbitrary new resolution. If you supply the optional source arguments, the result is the same as if you had applied Crop with those arguments to the clip before BilinearResize (except faster).

BilinearResize uses standard bilinear filtering and is almost identical to VirtualDub's "precise bilinear" resizing option. It's only "almost" because VirtualDub's filter seems to get the scaling factor slightly wrong, with the result that pixels at the top and right of the image get either clipped or duplicated. (This error is noticeable when expanding the frame size by a factor or two or more, but insignificant otherwise, so I wouldn't worry too much about it.)

# Load a video file and resize it to 240x180 (from whatever it was before)
# Load a 720x480 (CCIR601) video and resize it to 352x240 (VCD), preserving the correct aspect ratio
# Extract the upper-right quadrant of a 320x240 video and zoom it to fill the whole frame

--BicubicResize sharpens and arguably achieves best quality results but is the slowest
Avisynth Bicubic b value default 0.00
Avisynth Bicubic b value default 0.75


BicubicResize is similar to BilinearResize, except that instead of a linear filtering function it uses the Mitchell-Netravali two-part cubic. The parameters b and c can be used to adjust the properties of the cubic. With b = 0 and c = 0.75 the filter is exactly the same as VirtualDub's "precise bicubic," and the results are identical except for the VirtualDub scaling problem mentioned above. The default is b = 1/3 and c = 1/3, which were the values recommended by Mitchell and Netravali as yielding the most visually pleasing results in subjective tests of human beings. Larger values of b and c can produce interesting op-art effects--for example, try b = 0 and c = -5.

--Note: many like using a Bicubic of value of 0.60 saying 0.75 sharpens too much.

Blur / Sharpen default off

These are simple 3x3-kernel blurring and sharpening filters. The largest allowable argument for Blur is about 1.58, which corresponds to an even 3x3-pixel blur. A value of 1.0 gets you a (1/4,1/2,1/4) kernel. If you want a large-radius Gaussian blur, I recommend chaining several copies of Blur(1.0) together. (Anybody remember Pascal's triangle?)

Negative arguments to Blur actually sharpen the image, and in fact Sharpen n is just an alias for Blur -n. The smallest allowable argument to Blur is -1.0, and the largest to Sharpen is 1.0.

default off

This is a port of the TemporalSmoother filter from VirtualDub. It works in RGB32 & YUY2 pixel formats.
From VirtualDub help file:
This filter is an adaptive noise reducer, working along the time axis; it is most effective when the image is not moving much. Increase the filter strength to increase noise reduction, and decrease it to reduce speckling and ghosting artifacts. It is recommended that you combine this filter with a spatial (area-based) noise reducer for greatest effect.

Strength and Radius Tip: try strength 2 radius 1 results in about 40% speed reduction
All frames no more than radius away are examined. Minimum radius is 1, maximum is 7. Larger values are of course slower. Default is 3, which is the value used in VirtualDub. The default value for strength is 2.

Note that unlike its VirtualDub counterpart, this filter has no lag. It ensures that the frames needed for its work are in its buffer. Therefore, random access in the clip is slow, especially with a large radius.

# The filter effects in RGB and YUV are not 100% equivalent, especially with a high strength.
# Let's visualize the difference

cYUY2 = ConvertToRGB(TemporalSmoother(ConvertToYUY2,10))
cRGB = TemporalSmoother(10)
Subtract(cYUY2, cRGB)


Max. Highest bitrate that can be used in the video encode. Always check your DVD player to see what it can do before raising.

Max Avg. Highest setting you are letting DVD2SVCD send into CCE. This can and will be adjusted lower automatically if DVD2SVCD sees that it needs to make the video bitrate lower to have it fit the file size and number of cd's you have selected. It will not send any number higher then this into CCE as the AVG setting. Best to leave at default or at least 120 below that of the Max Setting.

Min. Avg. = guarantees your avg. bitrate will not be below this when calculated.

Min. The lowest the bitate is allowed to go in very low bitrate scenes. Keep this above 300 to avoid potential problems with some DVD players.

Some release groups enforce the following: "Minimum average video bitrate should not be
lower than 1600kbps for widescreen releases and 1850kbps for full screen releases." If you agree check Min. Avg and put in 1600 or 1850 to guarantee the bitrate.
Bitrate show in the range does include both Audio bitrate and Video bitrate.



Video Encoding Mode
default Multipass VBR 5 (VBR = Variable Bitrate)
Outputs constant bitrate streams by one pass. The average bitrate is specified in this mode.

One pass VBR
Outputs variable bitrate streams by one pass. In this mode, minimum and maximum bitrates and the degree of distortion are specified. The average bitrate cannot be specified in this mode.

Multipass VBR
Executes encoding processing by multiple passes, specifying minimum, maximum and average bitrates. At least two passes are necessary. For the first pass, CBR or One-pass VBR is executed to check the complexity of the images. In this pass, a file, where the complexity of images are described for each frame, is created. For the second or later passes, bit allocation is planned for each frame based on this information on complexity and actual encoding is executed accordingly. Cinema Craft Encoder supports three or more passes, while a general encoder supports only two passes. Image quality improves as the number of passes increase.

Specify the number of times of executing encoding in Passes. The range of values which can be specified here is 1 ~ 9. When two or more passes are specified, the encoding result is alternately output to the two files which are set in Video files. This is because the encoding result up to the previous pass can be saved when the Multipass VBR mode is used for encoding. This is effective when a lengthy stream is created.
Image quality slightly improves each time encoding is repeated, but quality improvement reaches its limit at 3 ~ 4times of encoding.

Create vaf file (don't use for CBR but use for VBR)
Specify the file name of the video information file to be used for multipass VBR encoding. Output of a video information file is unnecessary if VBR encoding is not used. The extension of the initial setting is .vaf.

Q.factor default 60
Specify the output picture by the Q. value in Q.factor and Bitrate. Q. is a concept unique to Cinema Craft Encoder. The range of the specification is 1 ~ 300. As the Q. value becomes smaller, image quality improves, and as the value becomes larger, higher compression is used. For the setting, refer to the following.
Q.factor Description
1 ~ 40 Priority is given to image quality over compression rate
40 ~ 80 Standard setting
80 ~ 120 Priority is given to compression rate over image quality
120 ~ ? Image quality deteriorates considerably
Tip to encode quickly with great quality 2500bitrate, many CDs though, try Q.factor 3

Image quality priority default 17
This setting decides priority among image areas which the encoder assigns to allocate the bit amount. 0 to 100 can be specified. The initial value is 25. As the value becomes closer to 0, a higher bit amount is allocated to complicated images areas. As the value becomes closer to 100, a higher bit amount is allocated to flat image areas. When the value is close to 0, the mosquito noise at the edges (noise causing hazy part along the edges, looking like flying mosquitoes) is less outstanding, but the contouring noise (noise which looks like contour line patterns, which appear in flat and wide areas, such as a dark background) is more outstanding. The opposite occurs when the value is closer to 100.

Anti noise filter default 0
This filter can be used to reduce noises in the original motion pictures. The value you can specify is from 0 to 32. The bigger the value, the stronger the filtering will be. If it’s too strong, frames will be like progressive frame, so the movement of a encoded video will be jerky. Sometimes using this filter can cause CCE to crash.

Field order default Automatic or also known as Upper field first
Specify whether the upper field or the lower field is displayed first when the encoded stream is displayed on an NTSC monitor. This setting can be done in the video setting screen.
If Upper field first is selected, the upper field is displayed first.
Whether this should be selected depends on the configuration of the original file to be encoded, but if this is uncertain, select upper field. If this setting is incorrect, the movement of a encoded video will be jerky.

Top Field First (field A) used to be default but now should autodetect
Bottom Field First (field B) if your video is jerky you could try choosing this

---------------(CCE Advanced Settings)-----------------

Linear quantizer scale default on
Setting quantization scale type
There are two types of quantization scales: linear and non-linear. Linear quantization scale is a method used for MPEG-1, where the quantization scale is allocated linearly. To set the linear quantization scale, select Linear quantization scale in the video settings screen. However, the nonlinear quantization scale is recommended unless there is a special reason.

Zigzag scanning order default on
Setting block scan order
If Zigzag scanning order is selected in the video settings screen, zigzag scan is used when sequencing DCT coefficients. This is a scan pattern used for H.261, JPEG and MPEG-1. For progressive images, zigzag scan may achieve high image quality.
If Zigzag scanning order is not selected, DCT coefficients are sequenced by alternate scan. Generally, for interlace pictures, alternate scan often achieves high image quality compared with zigzag scan.

DVD Compliant default off

If DVD compliant is selected in the video settings screen, a stream is created assuming that DVD will be created. In this case, the following is executed.

Changing frame size --- If the frame size of the original picture does not conform to DVD standards, the frame size is changed. When the frame rate is 29.97 fps or 30 fps, the frame size is changed to 720×480, and when the frame rate is 25 fps, the frame size is changed to 720 × 576. Even if the frame size is changed, the original image is not enlarged, but is matted.

Bitrate limitation ---In the DVD standard, the maximum bitrate of Video ES is limited to 9.8 Mbps. In the MPEG-2 VIDEO international standard (ISO/IEC 13818-2), the size of an individual picture is limited using the concept of “VBV (Video Buffering Verifier)”. In the concept of VBV, a stream having a 9.8 Mbps bitrate can create GOP which has a size equivalent to a maximum of 11 Mbps. This perfectly
conforms to the MPEG-2 VIDEO international standard (ISO/IEC 13818-2), but whether it conforms to the 9.8 Mbps restriction of DVD depends on interpretation.

If DVD compliant is selected, instantaneous bitrate in GOP units is controlled to be a maximum of 9.8Mbps. During VBR operation, 9.8 Mbps is always written to the sequence header regardless the specified maximum bitrate. 9.8 Mbps is the maximum bitrate allowed under the DVD standard. 9.8 Mbps is used here because in the case of the VBV model in VBR, bit allocation planning by the encoder becomes more flexible as the maximum bitrate becomes higher, therefore higher image quality can be achieved.

Progressive frames default on
When an original picture to be encoded is a progressive image, select Progressive frames in the video settings screen. This setting is reflected in the picture header of the video stream to be output.

Some software decoders which run on PCs execute image output by progressive frames by executing interlace/progressive conversion. If Progressive frame is selected for the stream when the source is a progressive picture, some decoders do not execute the above conversion,
and output high quality pictures at high-speed. For a combination of some DVD players and a corresponding monitor, a high quality image is output if the image output is displayed not by interlace but by progressive frame.

Intra DC decision:
Auto default off default 10

Specify the bit precision of the DC coefficient of the intra-block in Intra DC precision in the video settings screen. One of 8, 9 and 10 bits can be set here.

In general the optimum settings cannot be determined since changes depend on the details of the picture and movement intensity. For pictures with intensive movement and fine bumps, a low number of bits is appropriate. For smooth pictures with little movement, a higher number of bits is appropriate. A low number of bits may be specified for use at a low bitrate up to 4Mbps, and a high number of bits may be specified for use at a high bitrate.

When Auto is selected, the precision varies according to quantization scale.
For details, refer to the guides on MPEG-2.

GOP Settings

In MPEG, a group of pictures is handled as a GOP (Group Of Pictures). The structure of GOP can be changed. Picture type --- In MPEG-2, three picture types, that is, an I picture, P picture and B picture, are defined.

I picture (Intra-coded picture)
An I picture holds all the picture information on one picture within itself. It is not necessary to refer to another picture to decode an I picture, but compression efficiency is not as good as for other types of pictures. Therefore, when the bitrate is the same, the picture quality of a stream of I pictures is lower than that of other types of streams. To edit encoded streams, however, it is more convenient to use numerous I pictures.

P picture (Predictive-coded picture)
A P picture consists of motion vectors when previous (just before) I pictures or P pictures are used for reference and differential information between a picture comprised of these motion vectors and an original picture. To decode a P picture, pictures used for reference are required, but compression can be more efficient than I pictures. In the case of a sequence where P pictures continue, however, picture quality may deteriorate as the P picture deviates from the reference I picture, since errors accumulate during decoding due to the difference in the IDCT (Inverse Discrete Cosine Transform) calculation method between the encoder and the decoder.

B picture (bi-directionally predictive-coded picture)
A B picture consists of motion vectors when previous (just before) I pictures or P pictures and/or future (just after) I pictures or P pictures are used for reference and differential information between a picture comprised of these motion vectors and an original picture. Therefore, to decode B pictures, two pictures used for reference are required, but compression efficiency is even better than P pictures. Since a B picture itself is not used
for reference, errors do not accumulate even if B pictures continues, unlike the case of P pictures. However, if B pictures continue, the distance from a reference picture increases, and as a result, the motion compensation effect may decrease.

The configuration of a GOP may be changed by changing the M and N/M values. By changing the M value, the number of B pictures can be changed, and by changing the N/M value, the number of P pictures can be changed. The standard setting is M = 3 and N/M = 5.

GOP Sequence
M = 3 M/N = 5

GOP configuration I, P frame interval (M) : 1 ~ 3
I frame interval (N) : max. 15 (a multiple of M)

SEQ Header every 1
Specify the number of GOPs to which a sequence
header is inserted. The standard setting is 1.

Restrict auto I frame insertion
Cinema Craft Encoder automatically detects scene change points and encodes the first frame of
new scene as I frame. This function is important for improving image quality. However, if you are to create streams for multi angle, auto I frame insertion may produce a problem since every I frame should be the same position for each angle. In this case, select Restrict auto I frame insertion not to auto-insert I frames.

Close all GOP's
When strong random accessibility for a stream is demanded (An example is when a multi-angle is used for DVD creation, where frequent channel hopping is executed), set this option, then all GOPs can be set to Closed GOP (individual frames in a GOP do not refer to frames outside the GOP). Since image quality slightly drops, use this function only when absolutely necessary.

Constrained Parameter Set (only shown for MPEG-1 which isn't suggested to use for CCE anyway)
The MPEG-1 standard sets out a constrained parameter set that all MPEG decoders should be able to decode.
Its contents are:
Horizontal size <= 720 pels
Vertical size<= 576 pels
Total number of Macroblocks / picture<= 396
Total number of Macroblocks / second<= 396*25 (=330*30)
Picture rate<= 30 frames / second
Bit rate<= 1.86 Mbits / Second
Decoder buffer<= 376832 bits (46KBytes)

TMPGEnc (explantions of settings are mostly from Gene Lancaster )

Rate Control Mode

Constant Bitrate CBR
This means that your bitrate will have a fixed setting, and during high motion scenes, due to being fixed, block noise may occur. It is encoded by TMPGEnc reading a few frames and then encoding them. More or less it thinks about what it is going to do before it does it.

2pass variable bitrate (VBR)
This means that your bitrate has an minimum, maximum, and average bitrate. On this one you can set the average to a fixed setting and have it either raise to the maximum you set during high motion scenes or fall to the minimum you set when there is little motion. This setting is good for figuring out the size of the file that is being outputted and to have it reach higher bitrates yet still maintaining a lower file size. Under the settings of this setting is where you would put in everything you need to. Also this setting will go over the whole movie first then at 50% it will start to encode it, and this takes time...A lot of time! .

Constant quality (CQ)
NEED this section to be written..into a nice summary

CQ Test Values

Frames pr spread
default 50
Offset CQ Value
default 80
default 40
Use fixed CQ Value
default unchecked

Motion search precision

Lowest quality (very fast) Used by the impatient
Low quality (fast)
A well balanced function for speed and quality.
High quality (slow)
An intensive motion search which takes a long time.
Highest quality (very slow)
[default] An intensive motion search that produces excellent results at the cost of time.
Motion estimate search (fast)
Depending on the movie, this can produce good results.

Set how to search the movie so that the most appropriate bitrate can be found. A higher bitrate is required for scenes with much motion, and this sets how TMPGEnc will search for these motion intensive scenes if variable bitrates are to be used.

Enable padding not to be lower than minimum bit rate
Forces the rate of the movie not to fall under the minimum bitrate you entered.

Field Order

Top field first (field A) default

Bottom field first (field B)
lastest TMPGEnc auto-detects and sets it to field B for DV source

Advanced settings

DC component precision default 10 bits
The higher the number the smoother the movie. I always set it to 10.
Output YUV data as Basic YCbCr not CCIR601 default unchecked
Enabling this cause the 8-bit value for the components to be of a value between 0 and 255 in YCbCr, and not the CCIR601 values of 16 to 235.

This is usually disabled.

Use floating point DCT default checked
DCT means discrete cosine transform. The MPEG encoder uses DCT during encoding. Using this reduces the DCT error and stabilizes the video; however, it increases the time it takes to encode unless one's processor has a SSE unit.
Even though this option increases the encode time, it's a good idea to have it enabled.

No motion search for still picture part by half pixel
default checked
Soften block noise
default unchecked
Good for MPEG-1 or low-bitrate MPEG-2. Does away with blockiness but you'll lose some picture sharpness.
Intra block
default 35
Non-intra block
default 35
Number of I picture in GOP
default 1
This is independent picture which completes compression inside frame. The frame data can be played independently.
Number of P picture in GOP
default 4
This refers to previous I, P picture to extract difference, then compared. The compression is higher than I picture.
Number of B picture in GOP
default 3
This refers to both previous and next I, P picture to extract difference, then compared. The compression is higher than P picture.
Output interval of sequence header
default 1
Max. of frames in a GOP
default 0
Output bitstream for edit (Closed GOP)
default unchecked
will lose a tad bit of video quality but good to use if your making a DVD
Detect scene change
default checked
likely used to mark frames from mini-DV


There are about 14 presets which you can choose from or you can customize. Advanced stuff.

Credits plagiarism at it's finest by mrbass

This document was last updated on 07/11/02