Opened 6 years ago

Closed 2 years ago

Last modified 2 years ago

#934 closed Bug (fixed)

Multiple bugs found

Reported by: sergey25 Owned by:
Priority: normal Milestone:
Component: General Version: 1.4.2499
Severity: major Keywords:
Cc: Evaluation:

Description

System details: Windows XP x64, video Radeon 4850, latest drivers installed, output device = overlay mixer (in player settings)

MPC-HC demonstating several ugly bugs:

  1. When moving player window from first display to second, player crash in some specific cases. I found that crash occur when video frame size is not multiple of 32 (height or width). In that case player windows blacken for 2 seconds and then it crashes. The bug semms to not depend on decoder type, it observed with divx and H264.

In some other cases player do not crash, but picture turns into green garbage, or green patch appear in the bottom of picture.

  1. DXVA H264 completely not working on second monitor. I works only in primary display. If player window is moved in second display, in continuously black.
  1. Some avi-xvid files not playing with 32 bit version but the same files work with 64 bit version. That files are normal (less then 1Gb, not damaged, not encoded with broken encoder etc). With 32bit version playback not start. If I reopen the same or another file, player crashes.

Change History (8)

comment:1 Changed 6 years ago by namaiki

Re: 1 and 2--
Try use VMR-9 or VMR-9(renderless) with "Reinit when changing display" ticked/enabled. Probably not really anything that can be done to change Overlay Mixer as it is highly dependent on GPU drivers.

comment:2 Changed 6 years ago by sergey25

Switching to VMR9 solved problem 1 and 2. Some other arficts have appeared.
1) in VMR9 renderless mode the player report old DirectX despite june2010 update was installed. Playback work except HD video which force player to crash.
2) in VMR9 windowed mode all videos work fine (and no message about directx update), except 50p full HD video picture shivering (???).

comment:3 Changed 6 years ago by namaiki

What do you mean by shivering? Any difference if you press 'V to disable VSync? (View-> Renderer Settings> VSync> VSync)

Please post a screenshot if it will help to explain.

comment:4 Changed 6 years ago by sergey25

  1. About image shivering. Some frames get shifted about 50 pixels right, shifts start in any vertical position and spans to image bottom. The process is not regular and really hard to capture.

2.I was too optimistic, "crash on bad avis" returned on VMR9. I inspected that bad film with Mediainfo. Here the report:
Video
ID : 0
Format : MPEG-4 Visual
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)
Muxing mode : Packed bitstream
Codec ID : DX50
Codec ID/Hint : DivX 5
Duration : 1h 45mn
Bit rate : 1 723 Kbps
Width : 720 pixels
Height : 420 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.238
Stream size : 1.27 GiB (91%)
Writing library : DivX 6.8.5 (UTC 2009-08-20)

As I suspected, image Height is not multiple of 8 (or 16)
If overlay mixer is used, that file doesn't start playing on 32 bit version, but works with 64 bit (may be it depends on different buffer alignment).
In all cases player crash when window moved to another monitor. Now about crash details. Debugger show this:
0093E71A rep movs dword ptr [edi],dword ptr [esi]
0093E71C jmp dword ptr [edx*4+93E834h]
0093E723 nop
0093E724 mov eax,edi
0093E726 mov edx,3
0093E72B sub ecx,4
0093E72E jb 0093E73C

Nothing specific, the player fails copying memory beyond valid memory buffer.
Registers:

EAX = 06F80150 EBX = 00000001 ECX = 0000005A EDX = 00000000 ESI = 06F7FFE8
EDI = 06778000 EIP = 0093E71A ESP = 0692FC58 EBP = 0692FC60 EFL = 00010202

comment:5 Changed 4 years ago by thevbm

Do you still have such issues with latest stable released?

comment:6 Changed 4 years ago by xhmikosr

  • Milestone changed from 1.6.x to next release placeholder

comment:7 Changed 2 years ago by JellyFrog

  • Resolution set to fixed
  • Status changed from new to closed

Closing due to inactivity, if this is still happening, feel free to comment.

comment:8 Changed 2 years ago by xhmikosr

  • Milestone next release placeholder deleted
Note: See TracTickets for help on using tickets.