PDA

View Full Version : Bad resizing when watching HD video


Awatef
19th June 2006, 17:47
Hi,
I'm trying to play a 1280x532 video on a 1024x768 LCD display.

It is an H264 video. Using CoreAVC, I managed to play it fine, but there is an annoying problem when watching it in full screen: the resizing is bad quality. There are jaggies on sharp lines.
After much testing, I found out that switching the video renderer to VMR9 solves the problem and the lines stay smooth even in full screen mode, BUT the CPU load increases considerably and hits the 100% mark too often, so that I can't watch it in decent conditions anymore.
Back to the standard Overlay Mixer, the playback is smooth again, but the resizing problem is there again.
Any better compromise?

If you're curious about the video, here is the download link: http://www.digital-digest.com/movies/cars_h264_720p_trailer.html
The jaggies are pretty much clear in the Walt Disney and Pixar logos.

DarkZell666
19th June 2006, 17:54
I had the same problem, it's probably because the most common use of the player's resize is to upsize (640*480 --> 1024*768 for ex) and not downsize (like for watching HD on standard-def screens, lol).

I had this problem with a WMV9 file, and the problem does lie with the player's resizing algo. Have you tried changing the resizing to another Bicubic or Bilinear setting ? new MPC builds allow to change this (but this still didn't solve my problem anyway :p)

If anyone comes up with a solution, I'll have it too ^^

Sharktooth
20th June 2006, 02:27
please post a screenshot.

Blue_MiSfit
20th June 2006, 02:43
Try this - enable YV12 decoding in ffdshow, and disable ffdshow's h264 decoder if you haven't already.

This way, the H.264 gets decoded by CoreAVC, and then the output YV12 can be processed by ffdshow. Use ffdshow's avisynth function to resize to whatever you like in real time using whatever algorithm you like. Try Lanczos. Make sure it's 1280x whatever so that MPC doesn't try to resize AGAIN.

~MiSfit

btw - @sharktooth - nice new pic man..

sysKin
20th June 2006, 05:14
The quality of both overlay and VMR depends on your video card...

You can try making VMR9 faster by going to display options, finding 3D rendering quality and lowering it. In particular, the setting which has HUGE effect - at least for me - is Anisotropic Filtering level and Mipmap level.

Awatef
20th June 2006, 18:11
@syskin
No good, I tried optimizing the (few) D3D options that I have, but I can't get it to play smoothly :(

@ Misfit
I don't quite understand how I can manage to make both ffdshow and CoreAVC work together... I mean, when I disable the H264 codec in ffdshow, ffdshow doesn't load anymore.

satanius
20th June 2006, 18:40
You should check under ffdshow video decoder configuration > codecs > raw video > all suported. This way all selected filters, including resize, will work even if you use CoreAVC for decoding x264.

Awatef
20th June 2006, 22:33
Excellent! This is it!
I used bilinear resizing in FFDShow to 1024x432 and it looked just great! There was only one scene where the CPU throwed up!

:thanks: