Log in

View Full Version : [RESOLVED] x264 playing at incorrect size.


fmagreed2
7th February 2011, 22:21
I'll start by saying I don't know all too much about the technical side of codecs and such. For the most part, I just know the general concepts and what I need to do to make it work. I'm not sure if this is an encoder or decoder issue, though I'm leaning toward the latter. I captured a short clip that should be a 1280x720 section of my desktop. When I try to play it back, though, it's smaller than it should be - using a screenshot and paint it appears to be 715x540.

For the sake of completion I'll list everything I did.

I made a screen capture with VirtualDub (both 1.09 and 1.10), and used x264vfw (found here (http://komisar.gin.by/)) to encode the video. Encoder settings can be viewed in the attached video - though the only changes I made from default were enabling the "virtualdub hack" (which has something to do with 264 and the .avi container) and setting my threads number to 12 (x1.5 CPU threads), as well as disabling the decoder so it wouldn't interfere with ffdshow.

Trying to play the file back in WMP (inb4switchmediaplayers - I prefer WMP) and the file appears too small and very blurry. If I open the file in virtualdub's editing mode it appears to be the correct size. CCCP Insurgent (no, I'm not using CCCP, just this tool - I have a manual install of ffdshow/haali/VSFilter) also reports the video is 1280x720.

If I re-encode the video with rip-bot, it plays fine in everything.

Sample file. (http://www.megaupload.com/?d=05SF4PBM)

What's causing the issue and how do I fix it?

JEEB
8th February 2011, 00:09
Stream inside is surely 1280x720. Checked with ffvideosource. Also, thank you for not using b-frames in AVI, spares me the usual lecture of dumb users trying to use an old container as if it supported newer features that codecs nowadays use (it's possible to hack stuff in, yes -- but it's not pretty and even x264vfw supports mp4/mkv/flv output nowadays, which kills the reason really).

Also, your sample seems to play fine with its native resolution on my Windows Media Player 12, that I happened to start for the first time during this install, which kind of leaves out the probability that something was set wrong in the AVI's creation (VirtualDub is usually rather good at this so I really wasn't expecting it to fail at something like that).

That pretty much leaves your playback environment to be blamed. Most probably the player or ffdshow(-tryouts) using its auto-resize function should you have it on. No idea of how to fix if it's the player, that application never had any real amount of settings available to the end user.

cyberbeing
8th February 2011, 03:35
Do you have your WMP resize settings set correctly?
http://img714.imageshack.us/img714/7004/wmpresize.png

fmagreed2
8th February 2011, 05:38
Yes, WMP is set correctly. Other videos play perfectly.

I also found out about the test-render feature in insurgent which reports the filters being used. ffdshow wasn't even being accessed.

So I uninstalled ffdshow, haali, x264vfw, and everything else video related (just to be sure) and reinstalled ffdshow. Now the file won't even play. It just says it encountered a problem playing the file.

Ugh.

I know ffdshow (at least the audio decoder) is working, though, because I can play a file I had laying around with vorbis audio.

Edit:
Playing around some more. I got it playing (still incorrect size) using 32bit WMP, just not the 64 bit version - I've been trying both throughout testing. Tried reverting to a previous 64-bit version (which had been working) - no luck. Now I need to fix the resize issue AND figure out how I broke ffdshow x64 (although x64 is working with the vorbis file as well).

fmagreed2
9th February 2011, 02:36
Well, I've got it 99% fixed - I'm also pretty sure that after all this research I'm no longer noob. The cause for the incorrect size was ffdshow not overriding MS's built-in 264 decoder. I used Win7DSFilterTweaker (http://www.codecguide.com/windows7_preferred_filter_tweaker.htm) and the video now plays correctly.

32-bit works as expected.

64-bit has issues with the blank audio stream and the file won't play. If I just disable audio capture (or plug in a mic) the file plays fine.

So I guess my only real problem is that I need to click two more times when I set up the capture. XD

Hopefully someone will benefit from the hours I spent figuring this out if they have similar issues.