No problem, just curious. On windows you can get higher quality scaling algorithms than the standard bilinear like bicubic or even gaussian, which makes standard and low definition movies look less pixellated when they're scaled up to the screen resolution.

Looking at the vdpau's output in mythtv, it looks to me as though it's bilinear - I've been using Mark Kendall's openglbicubic filter otherwise, and the scaling in vdpau is less impressive. It would be good if other scaling algorithms were available.

/me requests Lanczos.

Good work on vdpau all around though. When it's complete, a lot of people will get a lot of value from it.

No, as far as I know that's not possible. I'm not completely certain how vdpau works, but as I understand it, once the video is given to vdpau, we don't have the ability to post-process (devs / techs, feel free to correct me on this). I was just testing vdpau in mythtv; it's currently unstable for me (crashes X hard), so I've reverted to ffmpeg / opengl.

There is a noticeable difference in upscaling quality though; opengl bicubic is currently far superior.

AFAIR Opensource Nouveau Geforce driver supports bicubic but you have to downgrade to Geforce 4Ti.

Matrox Parhelia about year 2003 offered bicubic scaling. However their Linux driver is the worst I ever seen. It is sad that in year 2009 GPU leader has no bicubic interpolation not mentioning more powerful algorithms. I watch many low bitrate video clips and they are really ugly on Nvidia. When Geforce6 offered high quality scaling I bought it to only see this was marketing BS. Then was Geforce7900GS without picture quality difference and now Geforce8200 with impressive VDPAU. Bitstream decoding is masterpiece with 0% CPU usage. But postprocessing sucks with poor bilineral quality, no deinterlacing (I see feathering on some DVD movies), no deringing, no deblocking.

I believe Nvidia will do something with VDPAU postprocessing so in the future there will be no feathering on interlaced DVDs and low quality clips from youtube will look great.

ATI has deblocking (they advertised it as fullstream, maybe only on Windows). S3 Chrome also has deblocking in "Chromotion Programmable Video Engine". Nvidia was always quiet about this feature. VDPAU has postprocessing block, currently without features. Maybe Nvidia devs will fill it with features like deblocking/deringing/lanczos filtering.

Well,
Thats why I asked this question.
Technically, in VDPAU environment, implementation of any postprocessing filter is non-trivial (in resources sense), as data flow will be quite complicated.
Namely: app will push frame to GPU for decoding, next external postprocessing filter code should pull frame again to memory for postprocessing, and finally frame will be again pushed to GPU for sending to RAMDAC. So it will require 3 mem transfers instead of 1 (when we are using GPU postprocessing).

AFAIK Nvidia's VP3 has quite advanced filtering capabilities - I don't remember why all of them are not used myth (in case of mplayer support simply isn't implemented yet)

I'd like to get this topic up again.
Stephen, are there any plans to add a higher quality scaling to VDPAU sometime? - IMHO this is a point where VDPAU could gain a big quality improvement and make it finally the reference in picture quality on Linux systems.

- No tearing - even if composite is active (kwin4)
- Black is Black and White is White (0-255 luma!)
- Same deinterlacing algorithm as in Windows Vista or 7 (spatial/temporal - don't know, but with bobbing
- Scaling is very sharp (seems to be bicubic)

I did some research on this. Under Windows, NVIDIA offers improved SD to HD scaling on some high-end GPUs. There are some implementation difficulties that make it unlikely that we'd support this in VDPAU for currently shipping GPUs.

Where did you get your information regarding bicubic/Gaussian options on Windows? Are you sure they are video scaling options, and not OpenGL or DirectX features?