xiaowan3 / xy-vsfilter

Automatically exported from code.google.com/p/xy-vsfilter
0 stars 0 forks source link

XySubFilter \p-composed pixel image downscaling artifacts (Technical Limitation) #157

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Load attached logo.ass with a 1920x1080 video, resize mpc window so that 
video area is less than 1920x1080
2. Seek to around 00:05:34 to check the logo

What is the expected output? What do you see instead?

The logo is rendered correctly with xy-vsfilter (logo-xyvsfilter-good.png), but 
it looks strange with XySubFilter (logo-xysubfilter-bad.png). Tried to change 
subpixel position to 8x8(bilinear), got the same result.

Note that the logo is rendered correctly with both filter when video area is 
1920x1080.

What version of the product are you using? On what operating system?
* Windows 8 x64
* MPC-HC x86 1.6.8 (f7c5f5e)
* madVR 0.86.9 (Default settings except CPU buffer increased to 32)
* xy-vsfilter 3.0.0.211 (git 48eecca)
* XySubFilter 3.1.0.546 (git 1a1e77b)

Side note:
The logo will freeze MPC for 2 ~ 3 secs with default madVR CPU cache size. If I 
add {\fad(any value)} to it, or if there are other lines with \fad shown at the 
same time, fps will drop to 1 ~ 2 in the duration of the logo. Not sure whether 
I should file a separate bug for this.

Original issue reported on code.google.com by SAPika...@gmail.com on 20 Jul 2013 at 2:38

Attachments:

GoogleCodeExporter commented 9 years ago
We have a special rounding workaround for such artifacts when scaling \clip 
created gradients, but from what I remember we had it explicitly disabled for 
\p drawing commands so they always retained sub-pixel accuracy. This is not 
actually a bug, what you see with XySubFilter is actually a technical 
limitation of using sub-pixel alphablending when scaling on such a script.

Workaround: Temporarily enable the "Render to Original Video Size" option

> The logo will freeze MPC for 2 ~ 3 secs with default madVR CPU cache size.
> If I add {\fad(any value)} to it, or if there are other lines with \fad shown
> at the same time, fps will drop to 1 ~ 2 in the duration of the logo. 
> Not sure whether I should file a separate bug for this.

Plays fine on my i5-3570K, but what this script is doing with nearly 50,000 
individually colored 1px drawing commands is just borderline insane to expect 
real-time playback on.

None the less, we'll look into it eventually. Tagging this as a low priority 
"Enhancement".

Original comment by cyber.sp...@gmail.com on 20 Jul 2013 at 4:09

GoogleCodeExporter commented 9 years ago
I see, thanks.

Original comment by SAPika...@gmail.com on 20 Jul 2013 at 5:24