View Full Version : MPEG2DEC3.dll Resize Bug with White Dots
bobby8798
9th February 2003, 23:39
Using Avisynth v2.50 and MPEG2DEC3.dll V1.00 that is included with the plugin package.
Resizing to 512x384 (or other sizes) will cause small white dots to appear inside and outside perfect circles, or concentric circles. I've seen more than 40 white dots appear in one frame.
LanczosResize and Bicubic resize were tested. IF the resize filter is NOT used, no dots will appear.
MPEG2DEC.dll with Avisynth 2.50 does not have this problem.
I cannot find the older version (0.9?) of MPEG2DEC3.dll to test.
AVS file is loaded into VirtualDub
Step through a few frames and the dots will appear when the frames contain perfect circles.
If someone provides another link to Marc's OLDER MPEG2DEC3.dll (v0.9?)
I will test it again.
Marc already updated his site with v1.00
zettai
10th February 2003, 01:55
I've also seen these white dots in a script containing mpeg2dec3 v1, decimate, telecide, lanczos.
I don't know what part of this combination is causing the trouble as I only noticed it after I encoded. If I spot it with a script again I'll fiddle around to see what part seemed to be causing the trouble.
sh0dan
10th February 2003, 09:12
Which CPU are you having?
Wilbert
10th February 2003, 10:43
Here comes v0.94:
Btw, you also need an old version of AviSynth 2.5 alpha.
zettai
10th February 2003, 11:26
I'm using an athlon XP so the previous posts about the celeron don't seem to apply.
I'll know more when I reproduce it, it does seem like a DCT issue of some sort.
bobby8798
10th February 2003, 15:58
thanks wilbert for 0.94
i could not get the older version of avisynth 2.5 to work
and like u said, v0.94 will not work with v2.50 beta
i'll have to wait for an update
bobby8798
11th February 2003, 03:33
Did some more tests with Avisynth v2.50 and Bicubic resize
The source also has an impact.
I am able to encode a different movie without the DOTs
On average, 80% of the VOBs will display the white DOTs.
Just a guess: If the DATA rate of the VOB is LOW, the white DOTs may not show up
frank
11th February 2003, 07:50
Post your script!
The Crop/Resize parameters must be modulo 4 or 2.
Gaia
11th February 2003, 08:48
What codec are you using for encoding? I have encoded about 50 full movies and shorter clips with MPEG2DEC3.dll v1.0
without any dots. Please post your script and what program are you using for encoding.
I don't think those dots have anything to do with MPEG2DEC3.dll v1.0, it's somenthing else.
mfluder
11th February 2003, 17:09
@bobby8798
Take a look at this (http://forum.doom9.org/showthread.php?threadid=44954) thread. Also, can you please try those clips with BilinearResize and post your results.
mfluder
bobby8798
11th February 2003, 17:26
I did NOT encode it yet, so it has nothing to do with a particular codec
LoadPlugin("c:\Program Files\GordianKnot\MPEG2DEC3.dll")
mpeg2source("C:\Test.d2v")
BicubicResize(512, 384, 0, 0.75)
Gaia,
If I replace MPEG2DEC3.dll with MPEG2DEC.dll
the DOTs will NOT show up.
bobby8798
11th February 2003, 17:39
mfluder:
The Test: I create the avs file, open Virtual dub and step through the frames.
BilinearResize does NOT create DOTs, just like with the other post.
sh0dan
11th February 2003, 18:03
ok - so can you confirm:
a) This happends with Bicubic/Lanczos resize?
b) This happends only in YV12 colorspace?
c) This happends only when scaling HORIZONTALLY (ie. if width is unchanged, this can NEVER occur)?
d) This happends on older processors (P2, (early) Celeron, K6 - NOT K7, P3, P4)?
If so, I know where to look ;)
bobby8798
11th February 2003, 18:16
sh0dan
a. yes
b. yes
c. yes
BicubicResize(720, 384, 0, 0.75) -> NO DOTS
BicubicResize(512, 480, 0, 0.75) -> Lots of DOTs
d. don't know, i have to test this on my friend's comp later on
sh0dan
11th February 2003, 19:14
Please test the version at the very bottom of the CVS Binary place (in my sig). The link is called "Resize Test Version".
It contains some addiotional cleanup code for MMX.
mfluder
11th February 2003, 19:46
I just tested this version and unfortunately those white dots are still there with both bicubic and lanczos while again bilinear looks fine.
Thanks sh0dan for trying, I hope you will find where the problem is.
mfluder
bobby8798
11th February 2003, 19:50
sh0dan
i downloaded the file called: avisynth_250_resize.zip
it contains avisynth.dll
i placed it in c:windows\system to overwrite the previous version
no change, still get those DOTs
is a modified version of mpeg2dec3.dll necessary?
Replacing mpeg2dec3.dll by mpeg2dec.dll
(supplied with avisynth v2.50 plugins)
will NOT generate the DOTs
thanks for the effort
sh0dan
11th February 2003, 20:21
Weird - hoped that would do it.
But mpeg2dec delivers in YUY2 and not YV12. You should be able to confirm this by using the info() filter.
bobby8798
11th February 2003, 20:49
sh0dan
maybe u could show MarcFd your code changes in avisynth, and he could use it to fix the remaining part in mpeg2dec3 ?
trbarry
12th February 2003, 02:07
To narrow down whether it is a resize problem or a MPEG2DEC3 problem, does it get the dots if you use MPEG2DEC but follow it imediately with a ConvertToYV12 statement?
- Tom
kxy
12th February 2003, 02:41
Originally posted by sh0dan
ok - so can you confirm:
a) This happends with Bicubic/Lanczos resize?
b) This happends only in YV12 colorspace?
c) This happends only when scaling HORIZONTALLY (ie. if width is unchanged, this can NEVER occur)?
d) This happends on older processors (P2, (early) Celeron, K6 - NOT K7, P3, P4)?
If so, I know where to look ;)
Using Avisynth v2.50 and MPEG2DEC3.dll V1.00
a)yes, some of the time
b)yes
c) not sure
d) I tested on AMD Athlon Xp, so not only the older processors.
mfluder
12th February 2003, 03:15
Originally posted by trbarry
To narrow down whether it is a resize problem or a MPEG2DEC3 problem, does it get the dots if you use MPEG2DEC but follow it imediately with a ConvertToYV12 statement?
Yes, it's a resize problem, Marc's MPEG2Dec3 has nothing to do with it. I have come to this conclusion a long time ago when I was sending a clip to sh0dan and when we were talking about what can be the cause of this problem. Back then there wasn't regular MPEG2DEC for AviSynth 2.5 but only Marc's so I added ConvertToYUY2 before resizing which solved the problem but of course it was useless now (speedwise) because of the YUY2 colorspace. So basicly the problem appears only in YV12 colorspace while in YUY2 it looks fine.
To answer your question Tom, the same thing (white dots appearing) happens again because of the YV12 colorspace.
mfluder
trbarry
12th February 2003, 05:14
Yes, it's a resize problem, Marc's MPEG2Dec3 has nothing to do with it.
If that is the case then you should also be able to verify that the problem does not exist using YV12 SimpleResize() since that does not use the normal Avisynth resize code.
Or Marc FD's FastBicubic() or whatever that's called.
- Tom
kxy
12th February 2003, 06:13
Very strange, I reinstalled Avisynth v2.50, and then rebooted my computer.(haven't restart it in 2 month) Now the white dots are gone! Using Avscompare, no matter what combination I use, I don't see any white dots. :confused:
mfluder
12th February 2003, 19:44
Originally posted by trbarry
If that is the case then you should also be able to verify that the problem does not exist using YV12 SimpleResize() since that does not use the normal Avisynth resize code.
Hey Tom. Yes, I can verify that. Using your YV12 SimpleResize everything looks fine, just like I expected it to be. The weird thing is that AviSynth's BilinearResize looks absolutely fine while bicubic and lanczos have those white dots problem.
Anyway thank you all for your help, I guess I'll have to continue using AviSynth 2.07 as I tend to use bicubic and lanczos all the time.
mfluder
mfluder
12th February 2003, 19:46
Originally posted by kxy
Very strange, I reinstalled Avisynth v2.50, and then rebooted my computer.(haven't restart it in 2 month) Now the white dots are gone! Using Avscompare, no matter what combination I use, I don't see any white dots. :confused:
You are one lucky man :) I wish that to be a case here but unfortunately it's not.
mfluder
bobby8798
12th February 2003, 20:19
mflunder
Maybe u should try a speed test between 2.07 and 2.50
I'm still getting more speed with v2.50 using the conversion to YUY2 space over v2.07.
Converting to YUY2 will remove the DOTs. It is not as fast as YV12, but still faster than using v2.07 with mpeg2dec.dll
LoadPlugin("c:\Program Files\GordianKnot\MPEG2DEC3.dll")
mpeg2source("C:\Test.d2v")
YV12toYUY2()
Marc FD
12th February 2003, 20:47
>I'm still getting more speed with v2.50 using the conversion to YUY2
>space over v2.07.
don't search, this as nothing to do with Avisynth. Mpeg2dec3 is just faster in YUY2, and even more in YV12 ^^.
seems everythings works fine.
if there isa REAL problem with MPEG2Dec3 someday, i'm still not dead ^^
bye,
Marc
bobby8798
16th February 2003, 03:20
On some Movies, I had trouble seeing the DOTs, or they only show up once in a while.
A good way to FORCE out the DOTs is to DARKEN the background.
Using Avisynth 2.50 Beta with mpeg2dec3.dll
LoadPlugin("c:\Program Files\GordianKnot\MPEG2DEC3.dll")
mpeg2source("c:\Test.d2v")
LumaFilter(-20)
You will know for certain if the DOT problem is present.
The DOTs problem may be a Contrast Problem since the DOTs don't show up if the contrast is LOW
conversely,
if set LumaFilter(9), NO DOTs will appear
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.