Many features of the program are configurable through the menu system.
Some advanced settings and functions in beta test will require changes
to this ini file to work properly. All the settings used by the
program are stored here and no changes are made to the registry.
While the default name of this file is DScaler.ini, other names and copies
may be used, to create multiple profiles. Just create a shortcut to
invoke DScaler with a single parameter such as "DScaler.exe vcr.ini".
This would cause the vcr.ini (or whatever) file to be used and saved on
exit. Doing this is easiest if you copy a working DScaler.ini file first
and then change it using the DScaler menus.
|
Setting
|
Default
|
Description
|
[Pulldown]
|
|
PulldownThresholdLow
|
40
|
A percentage which determines when PAL pulldown detection will detect a noticable
improvement in combing. Lower values will
make detection require more combing to change. Change this
if PAL detection is not working for you.
|
|
PulldownThresholdHigh
|
10
|
A percentage which determines when PAL pulldown detection will go back from movie
mode to video mode. This value copes with certain types of
video noise, if it is set too low then it will flip back on static
movie images, if set too high it will remain in movie mode for too
long.
|
|
PALPulldownRepeatCount
|
3
|
Number of times film mode is detected in a row before going into film mode
|
|
PALPulldownRepeatCount2
|
1
|
Number of times that film mode errors must bedetected in a row before going
back to video mode
|
|
PulldownRepeatCount
|
4
|
This is the number of times the pulldown pattern must be detected
before switching.
|
|
Threshold32Pulldown
|
15
|
This is the number of pixels per field that need to be similar
for NTSC movie detection to detect a triplet of fields from the
same movie frame. Higher values will cope with more video
noise but will not detect the movies as well.
|
|
BitShift
|
13
|
This is used by the NTSC detection code to limit what pixels are
the same. This should allow for noise in source. The
value is applied to the square of the pixel difference with the
results bitshifted right by this amount.
|
|
DiffThreshold
|
224
|
No longer used
|
|
PulldownRepeatCount2
|
2
|
The number of times an unexpected pattern can occur before switching
back to video video mode from a film mode.
|
|
RefreshRate
|
0
|
If set then it is used with DoAccurateFlips to reduce judder
|
| StaticImageFieldCount |
16 |
The Adaptive video deinterlace mode considers an image to be static if it
stays the same (or nearly the same, subject to Threshold32Pulldown) for this
many fields. In Adaptive mode, DScaler will switch from LowMotionMode to
StaticImageMode for as long as the image remains the same. This
helps reduce CPU consumption on still images such as DVD menu screens. |
| LowMotionFieldCount |
4 |
The Adaptive video deinterlace mode considers an image to be
low-motion if its difference stays below Threshold32Pulldown for this many fields.
When that happens, DScaler will switch from high-motion to low-motion mode. |
| StaticImageMode |
3 |
Specifies the
video deinterlace mode
to use in Adaptive mode for static scenes (see StaticImageFieldCount). |
| LowMotionMode |
2 |
Specifies the
video deinterlace mode
to use in Adaptive mode for low-motion scenes (see LowMotionFieldCount). |
| HighMotionMode |
2 |
CSpecifies the
video deinterlace mode
to use in Adaptive mode for high-motion scenes (see LowMotionFieldCount). |
[Hardware]
|
|
BtAgcDisable
|
0
|
Disable AGC(automatic gain control). This doesn't work well for almost anyone, but it's there.
(Adv. Video Flags)
|
|
BtCrush
|
1
|
Turn on Adaptive AGC , this is the Crush bit in the ADC Interface register.
(Adv. Video Flags)
|
|
BtWhiteCrushUp
|
207
|
Fine tuning of the Adaptive AGC White Crush Up Register. This, and
below, are the full 8 bit contents of the 2 registers. I'm not sure we
have the best defaults here. See the BT8x8 datasheets. (Adv. Video
Flags)
|
|
BtWhiteCrushDown
|
127
|
Fine tuning of the Adaptive AGC White Crush Down Registers. See
above. (Adv. Video Flags)
|
|
BtEvenChromaAGC
|
1
|
Even/odd chroma AGC. Must be 0 or 1. Turns on color AGC. (Adv. Video
Flags)
|
|
BtOddChromaAGC
|
1
|
|
|
BtEvenLumaPeak
|
0
|
From the BT8X8datasheet: (PEAK) bit determines whether the normal luma low-pass filters are
implemented via the HFILT bits, or the peaking filters are implemented.
(HFILT is the horizontal filter mentioned below) (Adv. Video Flags)
|
|
BtOddLumaPeak
|
0
|
|
|
BtFullLumaRange
|
1
|
Luma Output Range. DScaler defaults to 1 but maybe should be set to 0 for
NTSC systems. (Adv. Video Flags)
|
|
BtEvenLumaDec
|
0
|
From the datasheet: The Luma Decimation filter is used to reduce the high-frequency component of the luma
signal. Useful when scaling to CIF resolutions or lower. If ON it enables luma decimation using the selectable H filter.
(Adv. Video Flags)
|
|
BtOddLumaDec
|
0
|
|
|
BtEvenComb
|
1
|
Chroma Comb Enable. This bit determines if the chroma comb is included in
the data path. If enabled, a full line store is used to average adjacent lines of
color information, reducing cross-color artifacts. (Adv. Video
Flags)
|
|
BtOddComb
|
1
|
|
|
BtColorBars
|
0
|
Show color bars on display (Adv. Video Flags)
|
|
BtGammaCorrection
|
0
|
Gamma Correction. This is another double negative. If it equals 0 (OFF) it really says we do not want to do gamma correction removal. If ON the we DO gamma correction removal.
(Adv. Video Flags)
|
|
BtCoring
|
0
|
Luma Coring. This sets the minimum black level. This value might also be different
for PAL/NTSC. It must be 0, 1, 2, or 3. Unclear yet what is the best
value. (Adv. Video Flags)
|
|
BtHorFilter
|
0
|
Turns on hardware Horizontal filter. Because of DScalers large scale only values 0 and 1 are valid.
0=normal 2 tap filter (like before), 4 adds a little more filter but works (I think) only when the BtLumaPeak and
BtLumaDec are also both on. It makes thing a little softer. (Adv.
Video Flags)
|
|
BtVertFilter
|
0
|
Vertical filter. Valid values would be 0-7 but at DScaler's resolution only 0 and 4 are allowed. 0 = 2-tap
interpolation only. 4 = 2-tap plus z filter. This make thing a lot softer.
(Adv. Video Flags)
|
|
BtColorKill
|
1
|
Auto Low Color Killer is supposed to suppress the color signal if it looks like a black and white video. It should probably default to on.
(Adv. Video Flags)
|
[Threads]
|
|
Hurry_When_Late
|
0
|
Performance parameter. If set to 1 will cause DScaler to bypass
some processing to conserve CPU time if it seems to not be keeping
up with the input video stream. May be set to 1for slower machines.
|
|
Wait_For_Flip
|
1
|
Performance parameter. Whether to wait for processing to complete
(or at least be properly set up) when flipping the video overlay
buffer. May be set to 0 for slower machines.
|
|
Sleep_Interval
|
1
|
Performance parameter. The number of milliseconds DScaler will sleep,
waiting for the next video input buffer. May be set to 0 for slower
machines. If this is set to 0 it may appear on a CPU monitor that DScaler
is using 100% of available CPU processor time but it will still
be a good citizen and yield control if another task is ready to run.
May be set to 0 for slower machines.
|
|
Back_Buffers
|
2
|
The number of video overlay back buffers to use (in addition to the
normal front video display buffer). This may be set to only 1
if there is too little video memory on your graphics card, at a
small performance penalty.
|
|
DoAccurateFlips
|
1
|
Used to eliminate judder. Has no effect if RefreshRate is
not set in [Pulldown]
|
[Deinterlace]
|
|
DeinterlaceMode
|
2
|
The Deinterlace mode to be used. The best way to set this is run DScaler
and set it from the menu. The current mode will be saved on
exit.
|
|
EdgeDetect
|
625
|
This values governs the strength of edge detection, use higher
values if you think that the video deinterlacing is occurring too
often.
|
|
JaggieThreshold
|
73
|
This values governs the threshold for fine line dtection, use higher
values if you get problems with small text
|
|
BlcMinimumClip
|
-15
|
The Blended Clip "Minimum Clip" slider value. This can be used to increase the amount of Clip vs Weave
in the event that none of the other more specific values seem to work and you
still see too many Weave artifacts ("venetion blinds"). It's best to try everything
else first.
|
|
BlcPixelMotionSense
|
17
|
The Blended Clip deinterlace method "Pixel Motion Sensitivity" slider: This determines how
sensitive we are to motion. Motion is calculated as the maximum absolute change in luma
from the previous field in either of the two vertically adjacent pixels. I was going to use the change in
luma of the Weave pixel but that is not current enough to prevent the "flash
attacks" of venetiaon blinds that can occur with sudden scene changes. This value is
calculated separately for each pixel.
|
BlcRecentMotionSense
|
0
|
The Blended Clip "Recent Motion Sensitivity" slider: This increases the tendency to use Clip based
upon an n-period Exponential Moving Average of the recent motion. Recent motion
is in turn an arithmetic average of how much each pixel's luma has changed from the
previous field.
|
BlcMotionAvgPeriod
|
20
|
The Blended Clip "Motion Average Period" slider: This sets the period of the moving average for Recent
Motion Sensitivity.
|
BlcPixelCombSense
|
27
|
The Blended Clip "Pixel Comb Sensitivity" slider: This determines how sensitive we are to the current
comb factor of each pixel. This uses a simplified comb factor C = abs(2*W - H - L)/2,
which is just the distance of the Weave pixel's luma from its interpolated value.
This value is calculated separately for each pixel. This value along with the Pixel
Motion Sense seem to be the two main things to play with to get good results. Generally,
increase one of these if you get Weave artifacts and decrease one if you get BOB artifacts.
|
BlcRecentCombSense
|
0
|
The Blended Clip "Recent Comb Senseitivity" slider: Operates like the Recent Motion slider but
acts on the average Comb Factor.
|
|
BlcCombAvgPeriod
|
20
|
The Blended Clip "Comb Average Period" slider: Sets the period of the Comb exponential moving
average. See the comments on "Motion Average Period".
|
BlcHighCombSkip
|
10
|
The Blended Clip "Skip High Comb Frames" slider: This was added in the hopes that it could help to
skip a frame in the event of a sudden flash attack on a rapid scene change or maybe
help to handle some very poorly mastered anime using ?:? pulldown.
It will give very ugly results if you set it too high.
|
BlcLowMotionSkip
|
0
|
The Blended Clip "Skip Low Motion Frames" slider: This also is just experimental an probably of low
value. The idea here is that any frame with sufficiently low change from the previous
one is maybe a still frame with some video noise, and could be skipped. Not for
normal use. NOTE - This may go away in a future release.
|
BlcUseInterpBob
|
0
|
The Blended Clip "Use Interpolated BOB instead of Clip" check box. For those who don't like the
Clipped Weave, this will change it to an Interpolated Bob. All other blending and
processing will still function. (but it probably won't look as good).
|
BlcBlendChroma
|
1
|
The Blended Clip "Blend Chroma Value" check box: Usually the chroma value for the Clipped Weave is
just taken from the pixel above it. Checking this box causes the chroma values to
also use the clipping algorithm.
Checking this box seems to get richer color detail and a more theater like picture
but it sometimes seems to create some softness or shimmering on my stock ticker or
rapidly moving objects with lots of detail like a hockey game.
Generally though it seems better.
|
BlcShowControls
|
1
|
The Blended Clip control panel displays by default every time that
deinterlace method is selected. Setting this to 0 suppresses
that display.
|
[ASPECT]
|
|
SourceAspect
|
0
|
The most recent aspect ratio used. This is the ratio multiplied
by 1000, e.g. a 4:3 ratio is (4 / 3 * 1000) or 1333. A value of
0 means to use the aspect ratio of the source material, either 4:3
or 16:9 depending on aspect_mode. This is settable via
various menu items in the Aspect menu, and may also be modified
by the aspect ratio autodetect option.
|
|
CustomSourceAspect
|
0
|
Allows you to specify a custom aspect ratio which may be accessed
from the Aspect menu. Normally unused.
|
|
ScreenAspect
|
0
|
The aspect ratio of the display screen. If 0, the screen is assumed
to have square pixels and its resolution is used as the aspect ratio.
This is settable via various menu items in the Aspect menu.
|
|
CustomScreenAspect
|
0
|
Allows you to specify a custom screen aspect ratio which may be
accessed from the Aspect menu. Normally unused.
|
|
Mode
|
0
|
1 if the source is a 4:3 image (even a letterboxed one), 2 if it's
an anamorphic 16:9 image, or 0 to stretch the source to the current
window size. This is settable via various menu items in the Aspect
menu.
|
|
AutoDetectAspect
|
0
|
Controls whether the code analyzes each frame to detect the current
aspect ratio. This may be toggled using the "Autodetect" Aspect
menu option. If deactivated, you can get DScaler to detect the aspect
ratio of the current frame using the "Compute" Aspect menu option.
|
|
LuminanceThreshold
|
15
|
Controls how bright letterbox bars are allowed to get. Valid values
are 0 through 127. Any pixel with lower luminance than this is considered
black by the aspect ratio detection code. Lowering this value will
allow DScaler to detect letterbox modes on darker scenes, at the cost
of increasing the chance that video noise in the letterbox bars
will be treated as part of the picture. If all your letterboxed
material is from a clean signal source, you'll probably want to
lower this.
|
|
IgnoreNonBlackPixels
|
0
|
When detecting aspect ratios, we often want to ignore TV station
logos that extend into the letterbox area. This setting controls
how many non-black pixels (see LuminanceThreshold) must be present
on a line before it's no longer considered part of a letterbox bar.
A value of 0 means 20% of the width of the screen, more than big
enough to cover most logos. If you never watch letterboxed material
with station logos, e.g. if all your letterboxed material is on
laserdisc or DVD, set this to 1.
|
|
AspectConsistencyTime
|
15
|
This many seconds must pass without a narrower frame appearing
before the autodetect code will switch to a wide ratio it hasn't
seen before.
|
|
AspectHistoryTime
|
300
|
The autodetect module will remember previous aspect ratios it's
switched to for this many seconds. Ratios that last for less than
a second aren't remembered since they're assumed to have been erroneous.
|
|
ZoomInFrameCount
|
60
|
When autodetecting aspect ratios, if a ratio we've used before
(within the past AspectHistoryTime seconds) reappears and
is consistent for this many frames, switch back to it.
|
| Clipping |
1 |
If turned on (non-zero), the source image is clipped (masked)
to hide any source material outside the expected region. This
is the normal operation mode. It can be turned off and combined
with the image positioning commands to make more space available
for captions. |
| deferedOverlay |
0 |
If turned on (non-zero) the overlay on the screen will not be
updated until Windows has painted the black masking bars but
before painting the purple overlay color. Additionally, it
imposes a delay for the vertical retrace before painting the
overlay color. Under normal CPU load, this should eleminate
flashing of purple borders when resizing or bouncing the image.
Flashing may still occur under heavy load. |
| Bounce |
0 |
If turned on (non-zero), the image will bounce within any
space remaining either beside or above/below the image. Used to
maximize the region being used on a CRT projector to minimize
the risk of burning in one piece of the CRT. |
| BouncePeriod |
1800 |
Time (in seconds) it takes for the image to bounce from the center
to the right/bottom then back to the left/top and back to center. Default
is half an hour. |
| BounceTimerPeriod |
1000 |
Number of miliseconds between overlay updates when bounce mode is
enabled. |
| Orbit |
0 |
If enabled (non-zero) the region of the captured image is bounced
around. This prevents any individual item on the screen from being
constantly displayed in the same location and thus minimizes CRT
burn-in risk from small static objects. The orbit causes the image
to move into the overlay region, so you may need a larger overlay setting
if you use the orbit option. |
| OrbitPeriodX |
2700 |
Number of seconds for the image to move back and forth across the
entire orbit region in the horizontal. It is recommended that OrbitPeriodX
and OrbitPeriodY use different values to provide wider variation in the
orbit positions. If both values are the same, the image will only diagionally
orbit from top-left to bottom-right. |
| OrbitPeriodY |
3600 |
Number of seconds for the image to vertically across the
entire orbit region. It is recommended that OrbitPeriodX
and OrbitPeriodY use different values to provide wider variation in the
orbit positions. If both values are the same, the image will only diagionally
orbit from top-left to bottom-right. |
| OrbitSize |
8 |
Number of pixels in the captured material to orbit. |
| OrbitTimerPeriod |
60000 |
Number of miliseconds between updates of the overlay for image orbiting. |
| VerticalPos |
CENTER |
Vertical position of the image (TOP, CENTER, BOTTOM). |
| HorizontalPos |
CENTER |
Horizontal position of the image (LEFT, CENTER, RIGHT). |
[NoiseFilter] |
| UseTemporalNoiseFilter |
0 |
Controls whether the temporal noise filter is activated when DScaler
starts up. 0 means it isn't; any other number means it is. |
| TemporalLuminanceThreshold |
6 |
Controls how different a pixel's luminance (brightness) has to be
from its predecessor in the previous frame before it's considered a
change in the actual image rather than just noise. Valid values are
0-255. Values over 15 tend to produce posterization artifacts that
are more distracting than the video noise was. |
| TemporalChromaThreshold |
7 |
Controls how different a pixel's chrominance (hue) has to be
from its predecessor in the previous frame before it's considered a
change in the actual image rather than just noise. Valid values are
0-255. Values over 20 tend to produce posterization artifacts that
are more distracting than the video noise was. |
[GammaFilter]
|
|
UseGammaFilter
|
0
|
Do you want to use the gamma filter
|
|
Gamma
|
1000
|
Gamma adjustment, note 1000 doesn't do anything, 1300 does a 1.3 power adjustment
|
The following numeric codes correspond to the various deinterlace modes
supported by DScaler. They are used in the DeinterlaceMode, LowMotionMode,
HighMotionMode, and StillImageMode settings.