Log in

View Full Version : Tearing in Jurassic Park rip


JimmyBarnes
20th December 2011, 07:29
Ripped JP BD to 1080p/x264/AC3. Then played on 2 PCs, with special scrutiny for the first 32 minutes or so:

Media PC
* Core 2 Duo E6600 2.4 GHz, 1 GB RAM, WinXP SP3
* XFX HD-435X-ZAH2 VP.1 PCI-E 1GB graphics (ATI Radeon 4350 HD)
* Panasonic TX-37LZD800A 94 cm LCD TV
* Zoom Player Home MAX 8
* CoreAVC Pro 3.0.1 H.264/AVC decoder

Work PC
* Core 2 Quad Q9550 2.83 GHz, 4 GB RAM, WinXP SP3
* XFX HD-435X-YN PCI-E 1GB graphics (Radeon R4350)
* BenQ G2222HDL
* Zoom Player 2.9
* ffmpeg-mt (ffdshow 6.80 Basic) H.264/AVC decoder

On Media PC, I see distinct tearing in 6 places.
On Work PC, I see no tearing in those same 6 places.

What do I mean by "tearing"? "{Tearing] means that picture displayed on screen consists of two frames (adjacent in time), so there is a visible, transient discontinuity at top (10-20%) of the screen."

These measures failed to remove tearing on Media PC:
* Replaced CoreAVC on PC1 with ffdshow 6.8.0 Basic, or 8.0.7 Basic, then used ffmpeg-mt decoder
* Added more RAM (2x DDR2-800 dual channel)
* Substituted BenQ G2222HDL in place of Panasonic TV

Your comments please. Surely I do not have to upgrade my media PC to a Core2Quad to get rid of the tearing?

Ghitulescu
20th December 2011, 08:53
And the standalone shows any "tearing"?
That helps you in finding out whether the "tearing" is actually there. It might be that the work PC2 masks the "defect" zones.

hello_hello
20th December 2011, 09:57
I get a bit of tearing when using my PC and MPC-HC if I use the Bicubic resizer but not if I use the Bilinear resizer. I think the renderer also plays a part but I don't fully understand the causes of tearing. There's more info here: http://en.wikipedia.org/wiki/Screen_tearing
You appear not to be resizing, but maybe experiment with a different renderer and/or media player to see if you can find what's causing it. The fact that you're using a different version of Potplayer on each PC seems to indicate the problem may lie in that direction.
You might want to also try ReClock if you're not already using it. Initially I thought it'd fixed my tearing problem but unfortunately it only made it less frequent (only changing the resizer fixed it) however it can't hurt to try. http://www.videohelp.com/tools/ReClock-Directshow-Filter

JimmyBarnes
20th December 2011, 10:03
And the standalone shows any "tearing"?
That helps you in finding out whether the "tearing" is actually there. It might be that the work PC2 masks the "defect" zones.

What "standalone" are you referring to?

HOW would the work PC (sorry, not Work PC2 - typo in original post now corrected) "mask" the defect?

Ghitulescu
20th December 2011, 10:32
It happens many times to me that 1:1 copies of DVDs and recently BDs that look ok eg in VLC have pixelation issues in Mplayer, and vice-versa. None of them show any sign of error when copied to a DVD-R/W or accordingly BD-R/E and played in my Pioneer/s. Since my laptop is quite old I safely consider that the errors come from the codecs used by each of those SW ontop of my older CPU and non-defragmented HDDs. So it's a SW/HW bottleneck, not a stream issue.

JimmyBarnes
20th December 2011, 10:35
It happens many times to me that 1:1 copies of DVDs and recently BDs that look ok eg in VLC have pixelation issues in Mplayer, and vice-versa. None of them show any sign of error when copied to a DVD-R/W or accordingly BD-R/E and played in my Pioneer/s. Since my laptop is quite old I safely consider that the errors come from the codecs used by each of those SW ontop of my older CPU and non-defragmented HDDs. So it's a SW/HW bottleneck, not a stream issue.

But in my case the 2 PCs are quite similar, have the same graphics card, and I tried the same decoder (ffdshow) on both.

Ghitulescu
20th December 2011, 11:02
Unless brand-new industry installed PCs (which [must] use the same HW, and I mean it, and installed using the same "blind" installation), no two computers are the same.

Have you switched the graphic cards and see if the defect follows one of them?

And I repeat myself, are you absolutely sure that the stream you made is flawless?

hello_hello
20th December 2011, 20:59
Tearing isn't the same thing as pixelation.
It probably wouldn't hurt to swap the video cards "just in case". Not that I think it's likely to be the video card. My 8600GT displays full HD without tearing now I've switched resizers (the CPU is an E6750). Once the video card has been eliminated it pretty much comes down to software doesn't it?
Maybe also try disabling any image enhancing features in the video card's Control Panel to see if it makes a difference. I'm an Nvidia guy but if memory serves me correctly ATI have a lot of that stuff enabled by default.

DzigiBau
20th December 2011, 22:29
So far, I see ReClock as solution for you. Maybe you find a time to try this couple of ideas.

First, install MPC - HC, does not matter what version, maybe newst one. Then play a movie and press CTRL+J to see information. Pick a detail about movies on the top which could be: 23.976 (24Hz), 25.000 (25Hz or 50Hz), 30.000 (60Hz).

You need here to make three different profiles in your ATI Catalyst software for your graphic card for three refresh rate modes on your screen resolution, like 1920x1080 resolution and 24Hz refresh rate. Save profiles, put some Hotkey for switching from monitor to television and be careful to choose refresh rate depends on movies information from MPC-HC. That will probably solve the most of your tearing problems.

namaiki
21st December 2011, 01:26
Which video renderer are you using? Maybe you can try use overlay.

JimmyBarnes
21st December 2011, 12:23
Which video renderer are you using? Maybe you can try use overlay.

EVR - but I've tried them all without any getting DXVA to work.

namaiki
21st December 2011, 12:28
Overlay should get rid of tearing. DXVA should work with Overlay on Windows XP as long as there isn't DirectVobSub being used.

JAMESE
21st December 2011, 12:36
Well
In my favor Tearing isn't the same thing as pixelation.
Thanks for sharing.

dukey
21st December 2011, 12:40
You need Vista/7 for DXVA 2.0

JimmyBarnes
21st December 2011, 12:48
Overlay should get rid of tearing. DXVA should work with Overlay on Windows XP as long as there isn't DirectVobSub being used.

Can you be more specific re "overlay". Where do I set "overlay"?

JimmyBarnes
21st December 2011, 12:50
You need Vista/7 for DXVA 2.0

EVR says it needs Vista OR .NET 3.5 (which I have on Media PC), does the same apply to DXVA 2.0?

How is DXVA2.0 better than DXVA?

nevcairiel
21st December 2011, 12:53
DXVA2 decoding only works on Vista/7, even installing EVR on XP will not make it work. For DXVA on XP you should use VMR9 and DXVA1.

namaiki
21st December 2011, 12:57
You can set Overlay or VMR9 in Zoom Player options on the Playback-> Video tab.

JimmyBarnes
21st December 2011, 13:02
DXVA2 decoding only works on Vista/7, even installing EVR on XP will not make it work. For DXVA on XP you should use VMR9 and DXVA1.

Tried all the VMR9 video renderers - none of them got DXVA of any type to work according to CoreAVC or my CPU usage.

How does one select between DXVA1 and DXVA2? I've seen no mention of the 2 types. Or is it something inherent in the graphics card itself?

JimmyBarnes
21st December 2011, 13:04
Is there a particular brand and model of graphics card where DXVA is generally agreed to work without much problem?

Or is DXVA a !@#$ of a thing to get working on any graphics card/system?

CruNcher
21st December 2011, 13:24
DXVA not working can have different System issues from 3rd party application like ramdisks interfering (Bad Kernel Drivers) to Graphic Driver problems itself

JimmyBarnes
21st December 2011, 14:30
You can set Overlay or VMR9 in Zoom Player options on the Playback-> Video tab.

OK, that's Standard Overlay which I did try (I tried them all). Result: Doesn't help DXVA get going and makes tearing even worse.

dukey
21st December 2011, 14:46
CoreAVC only uses DXVA 2.0 (I think)
Turn on vsync in your control panel .. for your graphics cards options

hello_hello
21st December 2011, 15:01
Is there a particular brand and model of graphics card where DXVA is generally agreed to work without much problem?

Or is DXVA a !@#$ of a thing to get working on any graphics card/system?

While I've not had any experience with a huge variety of their cards, I think the short answer in Nvidia. Don't take it as gospel, but it seems almost every post I've read in any forum where someone's been trying to get DXVA to work (or for that matter the majority of other video playback problems) there seems to be an ATI card involved.

Using my XP system, MPC-HC and it's internal filters it just works, although for some reason MPC-HC only displays DXVA in the status bar when using WMR9 (renderless). I don't know about the EVR renderer as I don't have it.

You mentioned having tried ffdshow-mt but have you tried ffdshow DXVA? Once again it works fine on my PC with MPC-HC regardless of the renderer. My card is an old Nvidia 8600GT. Instructions for enabling ffdshow DXVA here:
http://zachsaw.blogspot.com/2009/08/watching-hd-video-in-mpc-hc-dxva-for.html
I do recall reading somewhere that anything over high profile 4.1 is a no go for DXVA and an ATI card.

MPC-HC can be set to change refresh rates according to the frame rate. I've no idea if it'll work as in my case the PC is connected via VGA and the TV only supports 60Hz. If not, as has been suggested, try ReClock.

For the record, in my case, where changing the resizer fixed the tearing problem, I'm fairly sure using the CPU rather than the GPU for decoding made no difference as it's the first thing I tried, so there's no certainty DXVA will fix your tearing problem even if you do get it to work.

JimmyBarnes
21st December 2011, 23:24
CoreAVC only uses DXVA 2.0 (I think)
Turn on vsync in your control panel .. for your graphics cards options

And your reasoning is...??

dukey
21st December 2011, 23:41
Let me think, VRM9 and EVR are both directx 9 surfaces, so I dunno, turning off vsync might break them ?

JimmyBarnes
22nd December 2011, 02:34
While I've not had any experience with a huge variety of their cards, I think the short answer in Nvidia. Don't take it as gospel, but it seems almost every post I've read in any forum where someone's been trying to get DXVA to work (or for that matter the majority of other video playback problems) there seems to be an ATI card involved.
That sort of talk will have the ATI hitmen out for you.. ;)


You mentioned having tried ffdshow-mt but have you tried ffdshow DXVA?

No.

Once again it works fine on my PC with MPC-HC regardless of the renderer. My card is an old Nvidia 8600GT. Instructions for enabling ffdshow DXVA here:
http://zachsaw.blogspot.com/2009/08/watching-hd-video-in-mpc-hc-dxva-for.html

Thanx for the ref.

I do recall reading somewhere that anything over high profile 4.1 is a no go for DXVA and an ATI card.

Profile was set to "auto" but MediaInfo shows it as High@L5.0 so maybe this is the reason??

Does this limitation apply to Nvidia cards?


MPC-HC can be set to change refresh rates according to the frame rate. I've no idea if it'll work as in my case the PC is connected via VGA and the TV only supports 60Hz. If not, as has been suggested, try ReClock.

I've looked at threads re "tearing" and reclock is a consistent suggestion amongst the weird & wonderful others..


For the record, in my case, where changing the resizer fixed the tearing problem, I'm fairly sure using the CPU rather than the GPU for decoding made no difference as it's the first thing I tried, so there's no certainty DXVA will fix your tearing problem even if you do get it to work.

Yes, this is the bottom line. BTW I did not have to resize as after cropping, the 1920x1080 16:9 came down to the correct 1920x1040 1.85:1. I would have thought the GPU would do a better job at display than the CPU.

My thinking is that it comes down to computer grunt, my Core2Quad Q9550 2.83 GHz (Work PC - no tearing) runs at some 25 % while decoding/displaying the video in question, while my Core2Duo E6600 2.4 GHz (Media PC - tearing) runs at around 45 % - the original post describes how I tried to eliminate other possibilities.

"Tearing" only seems to occur during panning. There's always panning blur, but as that is something that one also sees in the cinema, one presumes this is an artifact of the "motion picture".

hello_hello
22nd December 2011, 04:02
Profile was set to "auto" but MediaInfo shows it as High@L5.0 so maybe this is the reason??


To be honest, I can't say for sure. I do recall reading somewhere it was a problem with the number of reference frames but the playback problems seemed to involve freezes or pixelation etc, but not tearing as such, so thinking about it I kind of doubt that's your problem. You never know though....
Actually thinking about it even more you've been using the CPU for decoding anyway, so any issues with DXVA decoding won't apply.


Does this limitation apply to Nvidia cards?


Once again I can't say for sure. I encode all my stuff using Bluray compatibility settings these days with a level of 4.1, but while I've not checked every video I've played (ones I didn't encode), I've never had anything not play.
I think officially 4.1 is the maximum DXVA compatible level and looking at MeGUI's x264 options the only thing which seems to change from x264 default settings when selecting DXVA as the target device is it adds --level 4.1 to the command line.


My thinking is that it comes down to computer grunt, my Core2Quad Q9550 2.83 GHz (Work PC - no tearing) runs at some 25 % while decoding/displaying the video in question, while my Core2Duo E6600 2.4 GHz (Media PC - tearing) runs at around 45 % - the original post describes how I tried to eliminate other possibilities.


My E6750 is the PC hooked up to my TV and it's certainly fine. CPU or GPU, either way works and either way I only get tearing when using the WMR9 renderer and change the resizer to something other than the default. As far as I know tearing is usually caused by a slight mismatch in refresh rates (hence ReClock). I realise you don't have to resize the video so resizing shouldn't be your problem. Take ReClock for a spin.

"Tearing" only seems to occur during panning. There's always panning blur, but as that is something that one also sees in the cinema, one presumes this is an artifact of the "motion picture".

Is likely that during panning is the only time you can really see it. If you haven't installed MPC-HC yet, try it while running the tearing test (it's under View/renderer settings). It runs a bar across the screen over the video so you can easily see when tearing is occurring. You might find it's happening a lot more than you realise. MPC-HC also has an alternative VSync option (when using WMR9 at least) which I think is designed to help with or fix tearing problems. Might be worth a shot.

Maybe if you get lucky an expert on ATI video cards will join the thread.....

turbojet
22nd December 2011, 05:20
I had a tearing issue with an ati X2300M. Tried EVR VSync, ReClock, different resizers, different built in MPC-HC renderers and none of them got rid of the tearing. ReClock was the most effective but there was still tearing on pans. The solution for me was MadVR (http://forum.doom9.org/showthread.php?t=146228) and haven't seen tearing since, the only thing lost is DXVA2 and pixel shaders. Have you tried it?

The settings are a bit advanced but the only things I needed to change were:
- scaling algorithms, set all to bicubic75
- rendering>general settings, disabled adjust queue sizes and set them both to 4 for less ram usage and quicker seeking in my case, disabled automatic fullscreen exclusive to keep mpc-hc seekbar/controls
- general>windowed mode, set backbuffers to 1 and change all to flush.
Your hardware and eyes may prefer other settings but those are the key things.

hello_hello
22nd December 2011, 07:13
Well this thread got me thinking about my tearing problem a little more and gave me an idea to try, which was a long shot and not worth explaining because it didn't pan out anyway. However while I was playing around I did find the solution to my tearing problem.
MPC-HC: View/Renderer Settings/GPU Control/Wait For Flushes.
With the "wait for flushes" option checked I can use whatever resizer I want without tearing. I don't even remotely understand what the setting does only it seems to fix the problem. While JimmyBarnes's tearing problem doesn't seem to relate to resizing, it's one more thing to try.

JimmyBarnes
22nd December 2011, 13:50
You can set Overlay or VMR9 in Zoom Player options on the Playback-> Video tab.

Have been so intent on getting DXVA to work I neglected to systematically try all of the video renderers that ZP8 offered and see their effect on tearing. I looked esp. at the Jurassic Park segment from 2:40 thru 3:25 which is almost all frantic action.

Standard Overlay - heavy tearing
Overlay Mixer - no tearing detected
VMR7 - heavy tearing
VMR9 Windowed - tearing
VMR9 Windowless - tearing
VMR9 Renderless - tearing
Haali’s Video Renderer - no tearing
EVR - no tearing
MadVR - video does not display (audio only)

Starting and stopping at various places in a movie is a pretty strenuous test of video and not the way I would normally view a movie. On balance Overlay Mixer may give the most stable result, but time will tell, I need to watch a few movies all the way thru...

hello_hello
22nd December 2011, 21:19
Starting and stopping at various places in a movie is a pretty strenuous test of video......

I give up. Why?

On balance Overlay Mixer may give the most stable result, but time will tell, I need to watch a few movies all the way thru...

If you installed MPC-HC and ran the tearing test you'd probably be able to see if there was any tearing in the first five seconds. In my experience if there's tearing the test will reveal it straight away, even if you do need to watch a fair amount of the video before seeing any tearing in the actual picture. That's what the tearing test is for.

hello_hello
22nd December 2011, 22:36
Well I learned something about DXVA decoding today....
I was playing a video and happened to notice there was a bit of CPU usage going on, and from there discovered MPC-HC wasn't using DXVA. So then I had to work out why.....
Seems both ffdshow and MPC-HC's ffmpeg decoder checks for compatibility before using DXVA. They both have options to bypass level checks, ref frame checks and all checks. According to MediaInfo the video in question has way to many reference frames for DXVA compatibility. When I bypassed that check and MPC-HC attempted to play the video, it simply sat there with a blank screen. It was only a 720p video so it wasn't taxing the CPU too hard (average of around 20%).

So JimmyBarnes, if you couldn't get DXVA to work at all and you were testing it with a video using a level of 5.1, that's possibly the reason (although MPC-HC and ffdshow both seem to skip the level check by default). Maybe you'll either have to try a DXVA compliant video or disable some of the decoder checks.
I guess if MPC-HC hasn't used DXVA on occasion I've just not noticed until now, or maybe its the first time I've tried to play a video with too many reference frames.