View Issue Details

IDProjectCategoryView StatusLast Update
0007187MMW v4Playerpublic2012-02-05 22:23
Reporterpeke Assigned To 
PriorityimmediateSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version4.0 
Target Version4.0.3Fixed in Version4.0.3 
Summary0007187: Video Playback Quality: Low video playback quality (while Showing Subtitles)
DescriptionI thought that MM Automatically use EVR and Hardware Acceleration, but after adding VobSub quality of Video Playback got even worse.

I attached example of video playback Capture.
Additional Informationhttp://www.mediamonkey.com/forum/viewtopic.php?f=6&t=55513
Tagstodoc-help
Attached Files
MM Video Quality.zip (351,193 bytes)
Fixed in build1467

Relationships

related to 0008451 assignedmichal MMW v4 Video deinterlacing and scaling 

Activities

michal

2011-01-18 05:55

developer   ~0022388

Last edited: 2011-01-18 05:55

We don't use EVR, because it has serious bugs in windowless mode, I was not able to bypass them in reasonable time.

michal

2011-01-18 19:09

developer   ~0022409

I found out, that it is caused by upscale - smaller video on Full HD monitor. Now subtitles are added to the video and then sent to the renderer, i.e. before upscale. For better results, we need to implement our own custom presenter (for DX7, DX9 and EVR, in EVR presenter make DXVA support), this is what e.g. Media Player Classic (part of SPlayer) do. It is quite difficult, there is no easy solution I think. We could upscale image before adding subtitles, but we do not have fast algorithm for quality upscale, no hw acceleration, it could noticeably raise CPU load.

michal

2011-01-19 11:37

developer   ~0022430

I added possibility to choose renderer to build 1345. Testers can add to ini:

[Options]
PreferredRenderer=3

Possible values are:
3 - Video Mixing Renderer 7
4 - Video Mixing Renderer 9
5 - Enhanced Video Renderer filter (DX)
6 - Haali video renderer (experimental, buggy, requires Haali installed)
7 - madVR (experimental, buggy, requires madVR installed and graphics card with full Direct3D9 hardware support)

EVR is now default on EVR enabled systems (Vista and later).

michal

2011-01-24 21:05

developer   ~0022565

Bugs in EVR unfortunately remain (move and zoom are then very buggy), switching back to VMR7... Will try to find some workaround later.

peke

2011-02-17 22:31

developer   ~0023222

As talked with Michal on IM I've done few tests today using three different EVR capable Cards and Results are that at first it looked fixing 0007189 made things worse.

I wanted to test track transitions on Movie trailers as examples.
1. Downloaded several trailers from http://blog.hd-trailers.net/
2. Put few of them in Now Playing
3. Start playback of first
4. Switched to full screen
5. Video didn't resize Like Michal pointed on IM
6. MM started next trailer and it was resized correctly
7. I switched back to Art & Details view and video got again wrong
8. Switched to full screen video got OK
9. Switched back to Art & Details view and waited to next trailer
10. Video got OK again

It Looks that EVR is OK when destination Video Size (Window) is sent to renderer prior to rendering begins after that Move/Zoom/Aspect Ratio change do not have any effect.

Note INI settings were:
[Options]
PreferredRenderer=5

michal

2011-02-18 05:46

developer   ~0023225

Peke: yes, this is exactly the problem I was fighting with unsuccessfully, the default EVR presenter cannot do these changes correctly...

jiri

2011-02-22 16:54

administrator   ~0023308

Setting as resolved for now, we'll see whether we can do anything about it sometimes...

peke

2011-03-11 23:56

developer   ~0023657

Last edited: 2011-03-11 23:56

Agreed with you Jiri.

@Michal,
I wonder would it be risk free and quick Fix that when EVR is used as Renderer on each video window size change MM restart Playback. It will introduce Flickerring on Video mode Switching but will show correct Video?

Resolve/suspend it for future in case it is not Trivial to add.

peke

2011-04-13 01:25

developer   ~0024287

Reminder sent to: jiri, rusty

Can you please triage?

I think it is very simply to add that in case of EVR on OnMode change Video gets stopped and restarted playback again when Mode is changed. Not elegant but will render EVR playback useful. especially that EVR quality is more than noticeable.

rusty

2011-12-30 21:06

administrator   ~0029681

Can we fit this into 4.0.3? Many complaints re. the quality of video upscaling...

peke

2011-12-30 21:54

developer   ~0029683

I tested this again today and I can confirm that only thing that we should do to avoid regression risks is that in case EVR is used and viewing video resolution is changed MM should Stop Video Playback and start it again on New resolution (Album and details <-> Full screen) until we find better iteration of Hardware upscaling/acceleration.

Michal: Currently when I watch Videos in MM full screen I put small Video File of 2-5 Seconds to play first and than play movie, that way Movie is correctly upscaled/shown using EVR.

michal

2012-01-04 14:17

developer   ~0029727

Last edited: 2012-01-04 14:18

I've tested EVR in Win7 again too and it is problematic in more ways. Window resize is not working as mentioned, seek is sometimes terribly slow, aspect ratio is sometimes good, sometimes not. Stopping video after every window size change would be annoying quite a lot I think and is not working always (It gives me sometimes wrong AR, sometimes image is frozen several seconds). All tests were done on video, that is working with VMR7/9 without problems.

michal

2012-01-04 17:12

developer   ~0029729

Last edited: 2012-01-04 17:13

I've probably found the reason, why the quality in Win7 is so poor, and the way, how to improve playback in VMR9. Will try to implement it, it would be the most safe and relatively quick solution.

michal

2012-01-08 20:44

developer   ~0029762

Sad to say, it did not work. The problem is, that, for some unknown reason, VMR9 in Win7 uses "Nearest neighbor" resize algorithm while rendering. I was able to switch to bilinear resize, but it works only very rarely, it falls down to "Nearest neighbor" nearly always. I did not find any workaround during several hours. So the only solution seems to be to implement our own renderer, i.e. use VMR9 in renderless mode and implement own custom allocator and presenter.

rusty

2012-01-11 14:24

administrator   ~0029819

I recommend that we try to find a solution for 4.0.4--this is an urgent issue.

michal

2012-01-25 19:32

developer   ~0030061

Last edited: 2012-01-26 06:47

Fixed in build 1466. Please test on as many systems, graphics cards and output video devices as possible. For comparing, you can switch back to VMR9 or VMR7 as described above (PreferredRenderer=4 or 3). I've added new possible constant - 10 - for new VMR9 renderless mode, which is now default (so no option in ini needed, just check, if you don't have PreferredRenderer redefined there). Thumbnail functionality should be tested too.

jiri

2012-01-26 15:47

administrator   ~0030097

Playback doesn't use the full screen on some devices (older Win XP netbook in my case, but also one one Michal's device).

michal

2012-01-26 18:42

developer   ~0030101

Fixed in build 1466.

michal

2012-01-27 09:34

developer   ~0030115

There is problem in DVD menu highligthing - especially if picture is 16:9, highlighting is very inaccurate.

michal

2012-01-27 14:05

developer   ~0030118

Problem with DVD menu fixed in build 1467, I've made workaround for DVD navigator bug.

michal

2012-01-27 17:39

developer   ~0030122

I switched default value back to VMR7 in Windows XP, it seems to have better results there and is less CPU consuming. Users can enforce renderless VMR9 in MediaMonkey.ini by the line PreferredRenderer=10 as described above.
Fixed in build 1467.

rusty

2012-01-27 19:23

administrator   ~0030124

Note: the default values described above do not result in any config change (i.e. by default PreferredRender value is blank.

Note also the following values:
1 - old renderer. Deprecated.
2 - overlay mixer. Deprecated.
8,9 - reserved for possible future use (for some future external renderer)

So the most useful values are 3,4,10.

peke

2012-01-27 22:17

developer   ~0030125

To conclude defaults:
Windows XP:
PreferredRenderer=3

Windows 7/Vista:
PreferredRenderer=10

Possible values are:
1 - old renderer. Deprecated.
2 - overlay mixer. Deprecated.
3 - Video Mixing Renderer 7 (VMR7)
4 - Video Mixing Renderer 9 (VMR9)
5 - Enhanced Video Renderer filter (DX/DXVA)
6 - Haali video renderer (experimental, buggy, requires Haali installed)
7 - madVR (experimental, buggy, requires madVR installed and graphics card with full Direct3D9 hardware support)
8,9 - reserved for possible future use (for some future external renderer)
10 - Video Mixing Renderer 9 (VMR9 Renderless)

peke

2012-01-27 23:08

developer   ~0030127

Last edited: 2012-01-27 23:10

No regressions found using MM 1466 Portable on Vista and 7 systems using XVID and MKV samples:

GPU Chipset tested after driver update:
- ATi 6870
- nVidia GeForce GTX 260
- nVidia GeForce 6150
- VIA Chrome9
- nVidia GeForce 9800M GTS
- Intel GMA X4500 HD

In my own PCs
- ATi x1050/9550/9600
- ATi 4670
- ATi 4890

peke

2012-01-27 23:13

developer   ~0030129

NOTE: that ATi drivers 11.12 also have added DXVA support for DIVX and XVID so mainly ATi show better overall picture.