View Full Version : Media Player Classic - BE Win32/x64
Klaus1189
15th June 2022, 19:02
Thank you very much ;)
Sunspark
15th June 2022, 20:57
With the MPC video renderer in D3D9Ex mode using dxva2 scaling on an Intel HD 6000, does it make a difference at all in output quality/accuracy whether the hardware decoder is using dxva2 native or dxva2 copy-back?
Anima123
16th June 2022, 03:42
MPC-BE 1.6.3 stable (https://github.com/Aleksoid1978/MPC-BE/releases/tag/1.6.3) with digital signature.
Thanks for the new release.
A quick bug report: XySubfilter's timing (for subtitle delay) not working with MPC-BE, the subtitles will just disappear with negative value at least less than -40?
v0lt
16th June 2022, 04:40
With the MPC video renderer in D3D9Ex mode using dxva2 scaling on an Intel HD 6000, does it make a difference at all in output quality/accuracy whether the hardware decoder is using dxva2 native or dxva2 copy-back?
The quality of MPC VR scaling does not depend on the copyback mode of the decoder.
The scaling quality of DXVA2 and D3D11 depends on the type of graphics adapter and frame format (NV12, P010, YUY2, etc.). Alternatively, you can use shader scaling.
Scoty
16th June 2022, 06:31
With the last Builds i have issues. Whene open the Player and push View its freeze for a few seconds. This is always only the first time start. With normal MPC-HC i dont have this issues.
Aleksoid1978
16th June 2022, 14:15
With the last Builds i have issues. Whene open the Player and push View its freeze for a few seconds. This is always only the first time start. With normal MPC-HC i dont have this issues.
Try - Options -> Player -> Disable 'Open Disk' menu.
Aleksoid1978
16th June 2022, 14:16
A quick bug report: XySubfilter's timing (for subtitle delay) not working with MPC-BE, the subtitles will just disappear with negative value at least less than -40?
Player can set subtitles delay only for internal subtitles renderer.
Scoty
17th June 2022, 06:09
Try - Options -> Player -> Disable 'Open Disk' menu.
Not help (see Screenshot). Also i can not update MPC-BE. When i overwrite all files, I get an error on MPCBEShellExt64.dll. I can not override this file, only when reboot the System i can do this.
Aleksoid1978
17th June 2022, 07:06
Also i can not update MPC-BE. When i overwrite all files, I get an error on MPCBEShellExt64.dll. I can not override this file, only when reboot the System i can do this.
That's right. MPCBEShellExt64.dll - it's explorer shell extension.
Aleksoid1978
17th June 2022, 07:08
Not help (see Screenshot)
Can't reproduce - can't help.
Try reset settings, do fresh install.
huhn
17th June 2022, 08:30
are you open for hacks to fix nvdia DXVA2 processing?
the chroma is misaligned with it for like 5 years+ so a fix is getting unlikely. it is very hard to explain to nvidia too because we are talking about chroma subsample position...
i can check D3D11 another time.
Aleksoid1978
17th June 2022, 09:02
are you open for hacks to fix nvdia DXVA2 processing?
the chroma is misaligned with it for like 5 years+ so a fix is getting unlikely. it is very hard to explain to nvidia too because we are talking about chroma subsample position...
i can check D3D11 another time.
Use D3D11 native or use shaders for format(NV12/P010 and other) conversion.
huhn
17th June 2022, 09:23
i don't have a good test setup for nvidia but still found some issues.
D3D11 VP has the same or similar issue.
but without it deint doesn't seem to work so shaders are no general fix for it.
Scoty
17th June 2022, 09:24
Can't reproduce - can't help.
Try reset settings, do fresh install.
ok i can reproduce this always. I have reset and first time its working but as soon as I restart the PC, the problem is present again without me having set anything. I use latest Windows 11 build 10.0.22621.160. All updates installed.
Why is Jinc2 experimental. ? She's ready Prime time. Wish for better Chroma and Sharper Jinc. 1.6.3 is out fellas. I uses alpha. love theses guys
Screenshot for you guys xo
-
https://imgur.com/a/u4gqhwK
https://imgur.com/a/MM08vWe
v0lt
17th June 2022, 15:50
Why is Jinc2 experimental. ?
Because it's not the original Jinc.
Sunspark
17th June 2022, 18:05
Just thinking out loud here, but huhn, are nvidia cards consistent in their behaviour? If so, then perhaps the solution is as simple as a case check where if graphics adapter string is nvidia then shift image x amount before continuing with the rendering & presentation pipeline?
huhn
17th June 2022, 18:42
i found in shaders.cpp these lines
610 case DXVA2_VideoTransFunc_sRGB: toLinear = "color = pow(color, 2.4);\n"; break;
which is not a way to convert sRGB to linear because sRGB doesn't use gamma/a simple power curve. it is using 2.4 for the most part but the effective gamma of 2.2 sorry it's not an important maybe the other way around.
maybe a statement that is is not accurate or even the use of 2.2 maybe better here.
625 if (isLinear) {
// Linear to sRGB
code.append(
"color = saturate(color);\n"
"color = pow(color, 1.0/2.2);\n"
);
}
this is a conversation to gamma not to sRGB. so maybe changing that comment.
unimportant rant @Sunspark:
it is only for 420 only for nvidia (there are no reports newer cards do anything different which is also good because consistency is nice) and it is different if you do that before anything and after chroma scaling.
v0lt
17th June 2022, 19:49
huhn
https://docs.microsoft.com/en-us/windows/win32/api/dxva2api/ne-dxva2api-dxva2_videotransferfunction
DXVA2_VideoTransFunc_sRGB
Value: 7
sRGB transfer function. Gamma 2.4 curve with a linear segment in the lower range.
huhn
17th June 2022, 19:54
that's correct and doesn't make it gamma 2.4 because of the linear sigment.
mogli
17th June 2022, 19:56
Right, because of the shift and other changes in the formula it is about 12 times closer to color^2.2 than to color^2.4. Just plot the curves and you can easily see the difference.
https://i.imgur.com/FjWRewx.png
huhn
17th June 2022, 20:08
the page itself is misleading at least to me.
ITU-R BT.709 transfer function. Gamma 2.2 curve with a linear segment in the lower range.
this is also written here but BT 709 uses a pure power curve.
i have not read through ITU-R BT.709 but every calibration software i used uses a pure power curve for bt 709.
well it has to how else do you apply bt 1886.
maybe just a copy paste error on the page.
what so ever the code uses a pure power curve as formula and that is wrong for sRGB to linear.
edit this is not a typo or copy paste issue they really talk about a bt709 with a linear gamma part just like sRGB.
the linear part is even shown in the example. they are completely different between sRGB and BT709.
so that is the bt709 "gamma curve" madVR which could be selected instead of the pure power curve.
this seems to be the camera transfer function not the video transfer function of a video file.
so for bt 709 it should 2.2, 2.4 or bt1886 (also 2.4 for internal math reasons) depending on who you ask and at what year. for clarification it is assumed everything released in SDR these days is mastered for bt1886.
sRGB is still using a linear part.
mogli
20th June 2022, 15:50
SMPTE 240M is wrong, too. Its effective gamma is about 1.9.
Why not use the official formula to avoid such mistakes?
https://i.imgur.com/ONorwa8.png
v0lt
20th June 2022, 20:12
@huhn, @mogli
Thanks. Fixed in 41e4bfaca (https://github.com/Aleksoid1978/VideoRenderer/commit/41e4bfaca8467050d6d90133371b7eaf749b96ed).
Why not use the official formula to avoid such mistakes?
Established practice and the principle of reasonable sufficiency.
Another famous example:
https://code.videolan.org/videolan/vlc-3.0/-/blob/master/modules/video_output/win32/d3d11_shaders.c
huhn
20th June 2022, 20:25
not sure if i would take these sources for anything.
case TRANSFER_FUNC_SRGB:
psz_src_transform = "return pow(rgb, 2.2)"
this is more correct but still wrong.
the microsoft page seems to be correct about everything except bt709 (still not incorrect in general here!).
the EOTF of bt 709 is not defined at time bt 709 was created.
it is now to bt 1886.
i may take some time and just fix them all except bt 709 by following the microsoft provided numbers.
wow old ETOF are wired.
the problem is i don't even have a test file for most of these.
Sunspark
20th June 2022, 20:51
There's an interesting series of comments talking about EOTFs for bt.709 and the others here: https://github.com/sekrit-twc/zimg/issues/61
huhn
20th June 2022, 21:04
that's something yes but it about bt 1886
bt 1886 is nothing you can convert an image to if you are not told the display current EOTF and more in detail so there is no point.
if your display is calibrated to BT 1886 you will get BT 1886 as long as the gamma isn't touched.
because you need details display characteristic you can't tell in madVR your display is bt 1886. and if you don't do that it is just 2.4.
and mpcVR currently would turn an linear image to 2.2 if the formula for BT 709 to linear is assuming 2.2 it is still untouched and perfect so nothing todo here.
this matters for HDR -> SDR conversation but there is no way to tell mpcVR what gamma my device has and i currently can't tell it what brightness i have so there is nothing to do for now here.
v0lt
21st June 2022, 04:38
VLC uses a power of 2.222 for BT.709.
case TRANSFER_FUNC_BT709:
psz_src_transform = "return pow(rgb, 1.0 / 0.45)";
Is this a neater conversion?
huhn
21st June 2022, 06:24
i would not touch BT 709.
because if you change it to 2.222 you should also change the reverse to that so the image stays untouched.
so again VLC is very confusing in what it does. i mean yes BT 709 has a mathematical gamma of 2.222 but that does not mean it is used.
the problem are only the super rare source that are not bt 709.
MS says this for sRGB
L' = 12.92L, for L < 0.031308
L' = 1.055L^1/2.4− 0.055, for L >= 0.031308
so that should be ~
// input needs to be normalized to 1
if (color < 0.031308)
{
color=color *12.92; // linear part
}
else color=1.055*color^1/2.4 -0.055; // gamma 2.4 part
// this results in an effective gamma close to 2.2
i just have to translate this to HLSL it shouldn't be to complicated even for someone like me with no clue about HLSL.
the wiki(not trust worthy) talks about rounding issues in the 12.92 part so 12.9232102 should be used.
Sunspark
21st June 2022, 07:28
This link says the overall rec.709 decoding gamma is 2.0: https://www.image-engineering.de/library/technotes/714-color-spaces-rec-709-vs-srgb
MS's #s shared by huhn are the same as on the page above for the sRGB transfer function but the formula for rec.709 uses different values if that helps.
L' = 4.5L, for L < 0.018
L' = 1.099L^1/2.2− 0.099, for L >= 0.018
This link says that all LCDs use a linear segment and need to use the piece-wise function: https://www.colour-science.org/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/
huhn
21st June 2022, 08:37
it doesn't say end device are using BT 709 EOTF it says the opposite
read the warning of the second link and the note. also this:
While it is effectively common to find displays adopting the Gamma 2.2 function as an EOTF, many, such as EIZO and NEC are shipping with the IEC 61966-2-1:1999 Standard piece-wise function:
IEC 61966-2-1:1999 is a fancy term for sRGB transfer function which is used for end device in professional space.
the code that is discussed here is transform to linear not to display EOTF at least not yet.
the L = L'/4.50, for L' < 0.081
L = ((L' + 0.099) / 1.099)^1/0.45, for L' >= 0.081
also shown on the Microsoft page can be ignore because every source yet agrees it is not used anyway but a pure power function is or sRGB.
the do nothing or 2.2 for BT 709 should be fine for now.
if they want to add gamma processing and the possibility that a sRGB calibrated screen can show bt 709 correctly depends if they want to do that at all or not.
an untouched bt 709 image displayed on a sRGB screen looks very similar to bt 709 2.2 calibrated screen. while not correct it is very close.
huhn
21st June 2022, 12:02
i encoded a file with sRGB transfer flag changed the code for sRGB and the OSD still reports BT.709* while media info reports sRGB.
then i looked at the pin: - VideoTransferFunction : 0
i guess we are wasting our time here.
i also added a simple pow 2.8 to DXVA2_VideoTransFunc_709 and it doesn't seem to care either.
Enet47
21st June 2022, 12:23
There is an issue with full 3D blu-ray MKV rip playback after version 1.5.8 when using over/under 3D. Version 1.6 pushes the rear layers of the picture to the front. So the middle of the picture shows the front layer and the sides show the rear, on screen all at the same time.
Aleksoid1978
21st June 2022, 13:26
There is an issue with full 3D blu-ray MKV rip playback after version 1.5.8 when using over/under 3D. Version 1.6 pushes the rear layers of the picture to the front. So the middle of the picture shows the front layer and the sides show the rear, on screen all at the same time.
Can you make screenshot 1.5.8 and 1.6 for compare ?
Enet47
21st June 2022, 14:33
Can you make screenshot 1.5.8 and 1.6 for compare ?
Hi
I have screenshots but it doesn't work because the issue is with 3D layers and screenshots are in 2D. But as an example, if you look at the attached picture then imagine that the statue, burning buildings and smoke in background are now in the foreground with the person holding up the head.
18134
v0lt
21st June 2022, 15:39
@Enet47
After upgrading to version 1.6.x, reset all settings.
The current version is 1.6.3, all other versions are out of date for us.
If after resetting the player you are still having problems, then try swapping left and right.
View > Stereo 3D mode > Swap Left/Right
Your attached image will not be seen by anyone. Place images on image hosting services (https://www.google.com/search?q=image+hosting+services), give a link in the message.
Enet47
21st June 2022, 23:30
@v0lt
Hi
I don't know what is going on here, but my messages keep going to the moderator. So I apologize in advance if multiple versions of my message appears.
I tried everything you suggested on two different machines but it did not work. If I play a file which is already converted to SBS or OU then there is no issue. But when I am playing a full 3D blu-ray and mpc-be has to convert it to SBS or OU that's when the problem occurs. Today I tried the latest nightly and I thought it was fixed but I was mistaken. The issue still occurs with every version after 1.5.8 up to 1.6.3.20 beta.
Aleksoid1978
22nd June 2022, 04:14
Hi
I have screenshots but it doesn't work because the issue is with 3D layers and screenshots are in 2D. But as an example, if you look at the attached picture then imagine that the statue, burning buildings and smoke in background are now in the foreground with the person holding up the head.
18134
What video renderer you use ?
If EVR-CP - there is no 3D output. If madVR - maybe it's madVR fault ?
P.S. Use EVR-CP, TV with passive row interleaved 3D, compare 1.5.8 and 1.6.3 - picture the same.
v0lt
22nd June 2022, 05:00
BASS Audio Source 0.1.1 (https://github.com/v0lt/BassAudioSource/releases/tag/0.1.1)
Description (https://github.com/v0lt/BassAudioSource/blob/0.1.1/README.md)
Enet47
22nd June 2022, 07:58
What video renderer you use ?
If EVR-CP - there is no 3D output. If madVR - maybe it's madVR fault ?
P.S. Use EVR-CP, TV with passive row interleaved 3D, compare 1.5.8 and 1.6.3 - picture the same.
Hi
I use madVR but it works with 1.5.8 so that can't be the reason. I also turn off the madVR 3D processing so it doesn't conflict with mpc-be. If no new code has been added around the 3D conversion to SBS/OU then maybe a code regression?
Aleksoid1978
22nd June 2022, 08:38
Hi
I use madVR but it works with 1.5.8 so that can't be the reason. I also turn off the madVR 3D processing so it doesn't conflict with mpc-be. If no new code has been added around the 3D conversion to SBS/OU then maybe a code regression?
1 - The code for 3D has not changed for a long time.
2 - The player does not do any 3D conversions for madVR.
Enet47
22nd June 2022, 11:05
1 - The code for 3D has not changed for a long time.
2 - The player does not do any 3D conversions for madVR.
1. OK but something somewhere has changed how the 3D OU conversion process works.
2. As I said in my previous comment, I have disabled madVR 3D processing and that includes 3D detection, so madVR has nothing to do with this.
I really like this application and I thank you for the work you have done. But in the end I can't use any version beyond 1.5.8 and that is disapointing.
Aleksoid1978
22nd June 2022, 11:43
1. OK but something somewhere has changed how the 3D OU conversion process works.
2. As I said in my previous comment, I have disabled madVR 3D processing and that includes 3D detection, so madVR has nothing to do with this.
I really like this application and I thank you for the work you have done. But in the end I can't use any version beyond 1.5.8 and that is disapointing.
Ok - use 1.5.8
Aleksoid1978
22nd June 2022, 11:46
And you still don't show compare screenshot.
Enet47
22nd June 2022, 12:23
Ok - use 1.5.8
I would like to use the latest version because as @v0lt said:
The current version is 1.6.3, all other versions are out of date for us.
...
And you still don't show compare screenshot.
I already explained in an earlier post that the issue is with 3D layers so you can't see the issue in a 2D picture. The only thing I could do is show you a picture and ask you to imagine that the background and the foreground are all mixed together in the foreground.
Aleksoid1978
22nd June 2022, 13:12
I already explained in an earlier post that the issue is with 3D layers so you can't see the issue in a 2D picture. The only thing I could do is show you a picture and ask you to imagine that the background and the foreground are all mixed together in the foreground.
Smartphone, camera ?
Enet47
22nd June 2022, 15:07
Smartphone, camera ?
Hi
The camera is still 2D. Even if it was 3D there is no sensible way to replay a 3D error on here. The only way to replicate this is to have a 3D blu-ray backup on hard drive and play it using mpc-be 1.6.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.