View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007187 | MMW v4 | Player | public | 2011-01-18 02:05 | 2012-02-05 22:23 |
Reporter | peke | Assigned To | |||
Priority | immediate | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 4.0 | ||||
Target Version | 4.0.3 | Fixed in Version | 4.0.3 | ||
Summary | 0007187: Video Playback Quality: Low video playback quality (while Showing Subtitles) | ||||
Description | I 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 Information | http://www.mediamonkey.com/forum/viewtopic.php?f=6&t=55513 | ||||
Tags | todoc-help | ||||
Attached Files | |||||
Fixed in build | 1467 | ||||
|
We don't use EVR, because it has serious bugs in windowless mode, I was not able to bypass them in reasonable time. |
|
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. |
|
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). |
|
Bugs in EVR unfortunately remain (move and zoom are then very buggy), switching back to VMR7... Will try to find some workaround later. |
|
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 |
|
Peke: yes, this is exactly the problem I was fighting with unsuccessfully, the default EVR presenter cannot do these changes correctly... |
|
Setting as resolved for now, we'll see whether we can do anything about it sometimes... |
|
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. |
|
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. |
|
Can we fit this into 4.0.3? Many complaints re. the quality of video upscaling... |
|
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. |
|
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. |
|
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. |
|
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. |
|
I recommend that we try to find a solution for 4.0.4--this is an urgent issue. |
|
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. |
|
Playback doesn't use the full screen on some devices (older Win XP netbook in my case, but also one one Michal's device). |
|
Fixed in build 1466. |
|
There is problem in DVD menu highligthing - especially if picture is 16:9, highlighting is very inaccurate. |
|
Problem with DVD menu fixed in build 1467, I've made workaround for DVD navigator bug. |
|
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. |
|
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. |
|
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) |
|
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 |
|
NOTE: that ATi drivers 11.12 also have added DXVA support for DIVX and XVID so mainly ATi show better overall picture. |