Log in

View Full Version : Media Player Classic - BE Win32/x64


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 [140] 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235

Aleksoid1978
19th December 2019, 09:49
Thanks for the kind reply, Alek.

1. The GPU usage reported on the screen caps look similar for both clips. Where do you think the bottleneck is?

2. The built-in OS MF decode can handle this undemanding 66mbps 8K PQ clip with ease. Do you think the problem lies with the DS decoder? FYI, the test system is i7 7500u with 16GB ram.

Many thanks and best regards,

How many Video Memory using when decoding via system MF ?

mariner
19th December 2019, 10:39
How many Video Memory using when decoding via system MF ?

How does one check this?

Aleksoid1978
19th December 2019, 13:32
How does one check this?

Windows 10 - in Task Manager.

mariner
19th December 2019, 14:03
This? First two, DXVAChecker. Last two, MovieTV.

Klaus1189
19th December 2019, 14:12
@mariner: Please use an external filehoster, we can NOT view them, take a look for yourself:
https://drive.google.com/file/d/1MVvjP4MvQlJ57Fw-BlmV8gykijtgUNBk/view?usp=sharing

mariner
19th December 2019, 14:53
I think you're looking for these:

Klaus1189
19th December 2019, 15:07
@mariner: Did you read my post? :confused:

Again: We can NOT view the files until the files are approved, which can take up very long.

mariner
19th December 2019, 22:01
More screen shots for your weekend enjoyment

1. It appears playback of 8K PQ clip was not as smooth compared the 709 version upon further testing, sort of like displaying only half the number of frames. The frame rate reported by DXVAChecker may have been misleading. This seems to be corroborated by the fact that GPU memory used by MF decoder is only half of those used by the DS counterpart. There's been comments of cheating by MF decoder, is this true?

2. On the other hand, playback of the 8K 709 version using MF decoder is just as smooth as the DS decoder, despite using only half the GPU memory. Perhaps the jerkiness observed in the PQ version is inherent in the clip after all.

Asmodian
20th December 2019, 00:38
Please stop attaching files directly. :p

littleD
20th December 2019, 08:42
Intel HD 620 is definitely capable of decoding 8k HDR. Until you run some special 60 fps videos that could tax decoder. I might try sample if you send a link, i have 620 too.

foxyshadis
23rd December 2019, 05:36
Intel HD 620 is definitely capable of decoding 8k HDR. Until you run some special 60 fps videos that could tax decoder. I might try sample if you send a link, i have 620 too.

I have a 630 and it still suffers horribly at 8K HDR HEVC, basically the same as the screenshot posted, and I've tested under MPC-BE, MPC-HC, mpv, and MPDN. Care to tell us what player magically gets even 10 fps for this video (https://images-assets.nasa.gov/video/First-8K-Video-from-Space/First-8K-Video-from-Space~orig.mp4), let alone 24-30? Make sure you ctrl-j, you might be using PureVideo and not even realize it.

littleD
23rd December 2019, 07:21
My browser downloads 8k non-HDR video (btc 709) 8bit, so it should have no problem with decoding. I do not use chrome. How can i get HDR video from nasa?

Anyway, i have only two samples among many tested lately, that is horrible hard to decode. Others can be played fine.

foxyshadis
23rd December 2019, 15:14
That's true, I didn't notice that this one's not even HDR. I think the combination of # of blocks and bitrate is just overwhelming the decoder, since the 6xx series HEVC decoding is implemented purely in GPU, and are only rated for 4K. So anything you get above that is purely down to luck and CPU speed; my 7700HQ isn't up to the task. Be interesting to see how the new G-series does, since they're much more powerful.

littleD
23rd December 2019, 19:19
I would add more factors, like Windows version, drivers version, RAM amount, what decoder and renderer used, which might influence on playback speed. I would help gladly on debug and set up if anybody would like to resolve problems..

I would not blame CPU version, if i were in mariner shoes i would change at a first place EVR CP renderer to MPCrenderer to get better performance.
And later i advice change decoder from MPCdecoder to lav dxva11 to get proper HDR>>SDR conversion when watching non-HDR screen (That would require also enable dx11 option in MPCrenderer)

MPCvideo decoder at dxva2 native does wrong hdr>>sdr conversion (too much red/pink colors). When using dx11 chain colors are ok. That is on my Intel.

Anima123
23rd December 2019, 23:29
When we play a 1080p or 720p video with like 59.952-fps, integrated video card is not always capable enough. Would you guys consider adding feature to the renderer to decimate it by half, or even better, to 23.976 fps for such cases, so an integrated video card can play it fluently?

foxyshadis
24th December 2019, 02:36
When we play a 1080p or 720p video with like 59.952-fps, integrated video card is not always capable enough. Would you guys consider adding feature to the renderer to decimate it by half, or even better, to 23.976 fps for such cases, so an integrated video card can play it fluently?

Presentation is almost never a bottleneck, and it's hard to justify adding a complicated feature just on the off chance that it actually might be just for you, without testing more likely possibilities. However, you can set a custom fullscreen exclusive mode to a framerate of your choice! See Options->Video and Video->Fullscreen. Then you can gauge whether it's presentation, or if your hardware just can't decode the files you're trying to watch, period.

Aleksoid1978
24th December 2019, 08:40
I would add more factors, like Windows version, drivers version, RAM amount, what decoder and renderer used, which might influence on playback speed. I would help gladly on debug and set up if anybody would like to resolve problems..

I would not blame CPU version, if i were in mariner shoes i would change at a first place EVR CP renderer to MPCrenderer to get better performance.
And later i advice change decoder from MPCdecoder to lav dxva11 to get proper HDR>>SDR conversion when watching non-HDR screen (That would require also enable dx11 option in MPCrenderer)

MPCvideo decoder at dxva2 native does wrong hdr>>sdr conversion (too much red/pink colors). When using dx11 chain colors are ok. That is on my Intel.

MPCvideo don't do any conversion HDR -> SDR :) It's doing Video Renderer. Maybe DX11 conversion shader working diff then DX9.
Show screen compare DX9/DX11 where DX11 color is "better" ?

littleD
24th December 2019, 13:33
MPCvideo don't do any conversion HDR -> SDR It's doing Video Renderer.Yes, right. I start talking mumbojumbo because of all those various names.

There is definitely difference on Intel, dont know how other cards render it. I wonder why nobody have reported yet. I Used MPCBE, but dxva2 behaves same with other players too..
bad, red/pink saturated image: https://imgur.com/yLUJGyM
good image: https://imgur.com/JtwVA90
same here: 8k
bad https://imgur.com/Dqw54W5
good https://imgur.com/DOaFYYn

It would be nice if You check what is goin on. Apart from it, MPC renderer is very nice. Should be defaulted, and should replace old and legacy EVR CP directshow.

Aleksoid1978
24th December 2019, 14:03
There is definitely difference on Intel, dont know how other cards render it. I wonder why nobody have reported yet. I Used MPCBE, but dxva2 behaves same with other players too..
bad, red/pink saturated image: https://imgur.com/yLUJGyM
good image: https://imgur.com/JtwVA90
same here: 8k
bad https://imgur.com/Dqw54W5
good https://imgur.com/DOaFYYn

It would be nice if You check what is goin on. Apart from it, MPC renderer is very nice. Should be defaulted, and should replace old and legacy EVR CP directshow.

Hmm. Give link for 4K HDR file - i'l check on Nvidia.
Also - check in MPC-BE on EVR-CP ?

v0lt
24th December 2019, 15:48
littleD
I will also ask for a link to the 4k file.
I’ll also ask you to check by disabling the DXVA2 and D3D11 video processors. You just need to disable P010 in the MPC VR settings.

littleD
24th December 2019, 15:56
Here is the Video. Its free to use. Completely legal.
https://4kmedia.org/samsung-x-redbull-see-the-unexpected-hdr-uhd-4k-demo/

This "issue" is since forever. I tried EVR CP and other players. Correct colours i get only with LAv filterd dxva11 and MPCrenderer dxva11. And only with that options. Of course, madvr also gives good output, so that i can compare.

Thats why i praise MPCrenderer it somehow made hdr conversion work.

EDIT:
Volt, yes, its working with right colours. But slow more than a half frames
good https://imgur.com/Ku0lfmW
Options: dxva2 decoder (lav filters or MPCdecoder), MPCrenderer dx11 off, p10/16 off

v0lt
24th December 2019, 18:15
littleD
Thanks.
I checked on the GTX950 in Win8.1. I did not see the difference in my screenshots.

clsid
24th December 2019, 18:29
Did you disable the Intel video enhancements? Those are enabled by default and mess up video colors and quality.

littleD
24th December 2019, 23:35
CLSID, i think i turned off all colour enhancements.

Somebody reported almost identical issue on intel community forums, have fun reading some monkey talkey https://forums.intel.com/s/question/0D50P0000490XOvSAM/dvxa2-intel-8700k-630-uhd-graphics-causing-banding-on-4k-hdr-movies?language=en_US

I believe its fault of texture format or color space which intel drivers handle wrongly at dxva2?

At least, some time ago, intel corrected dx11 path, so its quite fast now and colors are ok. I noticed when using Movies and TV application. Dxva2 is probably still unresolved, nobody confirmed in above community forum thread.

mariner
26th December 2019, 13:48
Windows 10 - in Task Manager.
Greetings Alek.
Was out at sea for a few days, only to find upon my return all the screen shots removed. What happened to the forum?
Did you get a chance to look at the gpu memory usage? What did you make of it?
Many thanks and best regards,

Klaus1189
26th December 2019, 15:44
I know what happened...

v0lt
27th December 2019, 17:54
MPC-BE 1.5.4 (buid 4969) stable (https://sourceforge.net/projects/mpcbe/files/MPC-BE/Release%20builds/1.5.4/) (SF.net) with digital signature.

MPC-BE 1.5.4 Nightly builds: main file store (https://yadi.sk/d/hlf1lfC8mKU58), alternative 1 (https://yadi.sk/d/AjAXDDHtHRIELg), alternative 2 (https://cloud.mail.ru/public/V1rp/2iqNDT5Rx)
Also new and old versions can be found on VideoHelp.com (https://www.videohelp.com/software/MPC-BE).

Klaus1189
27th December 2019, 18:16
@MPC-BE Developers:

Thank you very much, I really appreciate your work.

This new stable version will be on all computers of my relatives and good friends.

cmhrky
27th December 2019, 18:19
Congratulations. Thank you all MPC-BE developers.

ryrynz
28th December 2019, 06:44
Nice, wasn't expecting a full release till next year..
Small typo on OP changelog "Adding subtitles by the Dran'n'drop method now works when the playlist is active.

chros
28th December 2019, 08:37
MPC-BE 1.5.4 (билд 4969) stable (https://sourceforge.net/projects/mpcbe/files/MPC-BE/Release%20builds/1.5.4/)
Thank you guys for the new release!
I have a small feature request (since there's no possibility to run external commands from the player):
can you add different exit codes for all the events in "After playback" menu? (exit, standby, logoff, etc)

I want to run commands in a batch script *only* when exit or standby was selected in the player. Consider the following script:


REM Script to run mpc-be and commands after it exited
cd d:\Progs\MPC-BE\

REM Start mpc-be
mpc-be64.exe

REM Turn off TV when mpc-be exited via After Playback Exit (exit code: 11)
IF %ERRORLEVEL% EQU 11 (
aiopylgtvcommand 192.168.1.78 power_off
)


Thanks!

Klaus1189
28th December 2019, 16:23
Updated german translation (https://drive.google.com/file/d/1NwBzp70DqbsN-NeKUsrorOgUedPyb_nu/view?usp=sharing) based on r4971 :)

Copy image to clipboard

Liisachan
28th December 2019, 23:56
Devs: Thank you for the new official release!
4971 is simply defining IDS_AG_COPY_IMAGE, and the actual command is not yet implemented?

v0lt
29th December 2019, 05:12
Liisachan
Copying works for me. I checked in IrfanView, Paint, Paint.NET and LibreOffice Writer.
MPC-BE 1.5.5.4972 beta x64.

Liisachan
29th December 2019, 07:03
@v0lt: confirmed :D
It's been added in r4971 (https://sourceforge.net/p/mpcbe/code/4971/), where changed files are listed in 3 pages. I didn't notice that and only saw the first page, so I was confused. Besides, the newest nightly was 4970 when I posted previously.

For those who'd like to test this new feature: the command is currently not as a menu item under "File". Instead, it's in Options | Key, between Save Image and Save thumbnail. You can assign a shortcut you like (e.g. Ctrl+Alt+I) to it, then it works with that short cut key! In my test not only paused, but you can copy the frame to Clipboard while playing the video (it necessary).

So far it works very well. I'm so happy! Thanks very much!!!
:thanks:

PS: How this is convenient (just a few examples):
- You can directly paste the frame image to your image editor, when you want to trim it, when you want to insert text, or when you want to save it as JPEG with various options (Quality, Progress or not, Enable or disable chroma subsampling), etc. etc.

PS: MainFrm.cpp random observation
1) // Lock the handle and copy the text to the buffer <-- not “the text”?
2) WCHAR buff[256] has 512 bytes; len = _countof(buff) is 256; memset(buff, 0, len) doesn't zero-init the whole buffer?

wushantao
29th December 2019, 07:28
https://send.firefox.com/download/b6e0b4f1dec1c12f/#qQnqZB4Z0DLspeMKzwByEg

simplified chinese is coming

btw, some minor fixes

:)

v0lt
29th December 2019, 11:34
Thanks to all.

@Klaus1189
Updated in r4972.

@wushantao
Updated in r4974.

@ryrynz
Typo "Dran'n'drop" corrected in r4976.

@Liisachan
Typo "text" corrected in r4975.
I did not find the incorrect "memset (buff, 0, len)" in MainFrm.cpp. What is the line number you're talking about?

Manni
29th December 2019, 11:56
Thank you for the new release and for all the work done on this project. :)

ryrynz
29th December 2019, 13:32
@ryrynz
Typo "Dran'n'drop" corrected in r4976.


Cheers, could you fix up the first post in the thread with the typo as well?

v0lt
29th December 2019, 19:00
ryrynz
Thanks. Fixed.

Klaus1189
29th December 2019, 19:50
Talking about cosmetics, I think it would be nice, if the screenshot of MPC-BE in the first post in this thread would show the actual stable release version, for now 1.5.4.

Liisachan
29th December 2019, 20:22
@v0lt
Sorry I was not clear. I was looking at IsRendererCompatibleWithSaveImage in
https://sourceforge.net/p/mpcbe/code/4971/tree//trunk/src/apps/mplayerc/MainFrm.cpp
and thought that this might be potentially bad:

WCHAR buff[256];
ULONG len = _countof(buff);
memset(buff, 0, len);

cmhrky
29th December 2019, 23:10
Latest Turkish translation.

https://www.upload.ee/files/10907411/mplayerc.tr.rc.txt.html

nevcairiel
29th December 2019, 23:20
@v0lt
Sorry I was not clear. I was looking at IsRendererCompatibleWithSaveImage in
https://sourceforge.net/p/mpcbe/code/4971/tree//trunk/src/apps/mplayerc/MainFrm.cpp
and thought that this might be potentially bad:

WCHAR buff[256];
ULONG len = _countof(buff);
memset(buff, 0, len);


While correct that it only inits half the buffer, the entire memset could be removed, its not necessary here. CRegKey::QueryStringValue automatically inserts a null-terminator into any retrieved strings.

Liisachan
30th December 2019, 00:10
While correct that it only inits half the buffer, the entire memset could be removed, its not necessary here. CRegKey::QueryStringValue automatically inserts a null-terminator into any retrieved strings.

If it's just a wrapper of RegQueryValueExW, the terminating NULL is not guaranteed (according to the docs), meaning that even if you zero-init the whole buffer and ERROR_SUCCESS is returned, buff might be still not NULL-terminated (in an unlikely situation where the stored string is not NULL-terminated and has exactly 256 characters). In reality, the version string should be much shorter, though.

Aleksoid1978
30th December 2019, 04:31
If it's just a wrapper of RegQueryValueExW, the terminating NULL is not guaranteed (according to the docs), meaning that even if you zero-init the whole buffer and ERROR_SUCCESS is returned, buff might be still not NULL-terminated (in an unlikely situation where the stored string is not NULL-terminated and has exactly 256 characters). In reality, the version string should be much shorter, though.

I don't know about docs - but call CRegKey::QueryStringValue() always return NULL terminated data.

v0lt
30th December 2019, 05:42
MPC Video Renderer v0.3.8.1060 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.3.8)
Description (https://github.com/Aleksoid1978/VideoRenderer/blob/0.3.8/Readme.md).

Changes:
Improved compatibility with third-party players.
Fixed switching supported formats for DXVA2 and D3D11 video processors during playback.
Faster statistics rendering. A pre-prepared texture with symbols is used.

JNW
30th December 2019, 05:56
What's happened to this link? It's the one I always used
https://yadi.sk/d/r7JYQ2NjHvE4lA

Liisachan
30th December 2019, 06:46
@Aleksoid1978
That must be the case (nevcairiel said so too). I wouldn't doubt any of you guys :) For the record, the docs:

(1) RegQueryValueExW (https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regqueryvalueexw): “the string may not have been stored with the proper terminating null characters. [...] the application should ensure that the string is properly terminated” (inconvenient)
(2) RegGetValueW (https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-reggetvaluew): “If the data is a string, the function checks for a terminating null character. If one is not found, the string is stored with a null terminator if the buffer is large enough” (nicer)

REG_SZ data without a terminator exists and in old days programmers were often responsible for dealing with that, as in (1). Perhaps that's why the original author of that function put memset there just in case. In this specific case, the value to be read seems to be the path to madVR.ax, and by definition a path ends with a terminator, so there's no problem at all anyway. If anything, the buffer length 260 (MAX_PATH) might be slightly more reasonable than 256.

ryrynz
30th December 2019, 08:30
What's happened to this link? It's the one I always used
https://yadi.sk/d/r7JYQ2NjHvE4lA

Gone forever. Use this https://yadi.sk/d/AjAXDDHtHRIELg