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

v0lt
4th August 2022, 16:06
huhn
I don't understand what you want to prove to me.
if (sps->vui.chroma_loc_info_present_flag) {
if (sps->vui.chroma_sample_loc_type_top_field <= 5)
avctx->chroma_sample_location = sps->vui.chroma_sample_loc_type_top_field + 1;
}
https://ibb.co/68XjDG1
0 + 1 = 1
AVCHROMA_LOC_LEFT = 1, ///< MPEG-2/4 4:2:0, H.264 default for 4:2:0

huhn
4th August 2022, 16:45
https://x265.readthedocs.io/en/master/cli.html
chromaloc part:
that what each number should mean:
https://www.researchgate.net/profile/Jill-Boyce/publication/327253648/figure/fig1/AS:664343440011264@1535403227082/Figure-E2-Location-of-the-top-left-chroma-sample-when-chroma-format-idc-is-equal-to-1.png

media info says it has chromaloc mpeg 2 left which is 0.
chromaloc=1 / chromaloc-top=0 / chromaloc-bottom=0
the x265 information in the file has chromaloc 1 (which is cantered).
the chromaloc-top 0 and chromaloc-bottom 0 means left just as your screenshoot shows.
i can not tell what should be done in a situation like where chromaloc says cantered and the interlaced information say left.

mpcVR says it is using mpeg2 left but the output doesn't match what left would be it is moving to far to the right.

and that's the important part.
madVR chroma left https://abload.de/img/chromasubsamplepositi8vk82.png
mpcVR chroma left https://abload.de/img/chromasubsamplepositiv0jqz.png

sorry it's very technical and my English sucks.

my guess mpcVR moves the chroma to the right by 0.5 before chroma upsampling which results in a 1.0 move.

v0lt
4th August 2022, 17:13
@huhn
Decoders do not look at "Encoding settings". This information may be missing or in a different format.

Decoders look up information in SPS in VUI parameters. It contains the following values:
chroma_loc_info_present_flag = 1
chroma_sample_loc_type_top_field = 0 (left)
chroma_sample_loc_type_bottom_field = 0 (left)

huhn
4th August 2022, 17:15
ok then we ignore the chromaloc 1.
and talk about the wrong position in mpcVR which is to far to the right.

v0lt
4th August 2022, 17:39
I do not quite understand where to look and how it should be, but I have the following results:
00922.m2ts_snapshot_D3D11VP.png (https://ibb.co/ygWD6Pw)
00922.m2ts_snapshot_ShadersVP.png (https://ibb.co/yfMM6dj)

huhn
4th August 2022, 17:46
i'm an idiot it's nvidia.
i used a different PC with default mpcVR settings where the video processor was used.

you can see it in the screenshoot it's not using the shader.

v0lt
4th August 2022, 18:21
@huhn
You can try build mpcvr_1932_d3d11vp_colorSpace_1 (https://disk.yandex.ru/d/bjScoqV_IyhudQ). Colors may be distorted on some videos, but chroma location may change on your Nvidia.

huhn
4th August 2022, 23:11
chroma position doesn't change with this build.
https://abload.de/img/nvidia1933rujpz.png

this is a very old bug i just run into by accident.
no DXVA2 or d3d11 VP using software can do this correctly when nvidia is involved.

Balling
5th August 2022, 00:04
Any modern TV has a "PC mode" or something similar option which will make it support full range input.

YCbCr can be also full range and is in fact part of HDMI standard (automatic RGB and YCbCr negotiation) and is supported by LG C9, e.g. no, what PC mode does it removes 444 --> 422 chroma downsampling, which means the display never gets 444 or a lot of combinations of colors (it does not remove colors, only combinations of them, any color is still possible).

Balling
5th August 2022, 00:07
chroma position doesn't change with this build.
https://abload.de/img/nvidia1933rujpz.png

this is a very old bug i just run into by accident.
no DXVA2 or d3d11 VP using software can do this correctly when nvidia is involved.

Open a bug in open source nvidia driver. There is also that stretchrect function that is buggy.

Balling
5th August 2022, 01:02
kilis
The brightness range of the TV is configured in the driver settings. Also in the settings of the TV itself there are similar settings.

MPC Video Renderer takes the input range from the source. If no input range is specified, defines it as limited for YUV and full for RGB.
MPC Video Renderer always outputs an RGB image with full output range. Limited range for RGB is nonsense and we won't support it.

In fact you cannot support limited RGB, because it is banned in ffmpeg. Open bug. Good news is that you do not need to support it, nvidia supports it for you. Bad news you cannot do superwhite then. It is certainly not nonsense though, what a nonsense.

Balling
5th August 2022, 01:13
here is screen shot from pc monitor dell single monitor mode.1080p

on the left MPC-BE with EVR-CP limited output range 16-235
on the right MPC-BE with EVR-CP full range output 0-255

https://abload.de/image.php?img=mpcnew1qkjae.jpg

all software decoding.all internal filters.all MPC-BE color corrections not used. nvidia dell output fixed full range.because its standard pc monitor it has to use full rgb.
as you can see again full range output causing white areas to clipped.
and once its clipped not possible to fixed later on.
"because its standard pc monitor it has to use full rgb."

Mmm, what? No, obviously, it can use limited too, what do you think your monitor accepts when you select Limited RGB in Nvidia control Panel? See, there is RGB quantisation negotiation and YCC quantisation negotiaition, either one can be full and limited, though nvidia does not like full YCC and does not support it. Strange, but whatever.

kilis
5th August 2022, 13:33
"because its standard pc monitor it has to use full rgb."

Mmm, what? No, obviously, it can use limited too, what do you think your monitor accepts when you select Limited RGB in Nvidia control Panel? See, there is RGB quantisation negotiation and YCC quantisation negotiaition, either one can be full and limited, though nvidia does not like full YCC and does not support it. Strange, but whatever.

Hi Balling,thanks for the info.
yes i know standard pc monitor only works with full range,and Nvidia control panel doesnt provide option to change that with my dell monitor.

As a person with limited range knowledge :) i read everyting written
by technical guys like Volt,Huhn and many others and try to make sense from all these by putting them in to practice.i think 90 percent of users here on this forum are similar to myself.

Regarding which video range to use in case with external tv as video playback; limited-full-limited vs full-full-full configuration.i ve read all 106 pages of posts between Aleksoid and Volt in Russian forum and also on this forum last 5 years of writings to understand which method is better.(plus many other forums), i am still experimenting on that.
İ am glad both configuration available by using range shader with MPC-BE with MPC-VR,so user can experiment both of them.

Sample screen shot i send before which is showing white level causiing some problem belong to very extreme video file.now i think in that particular video cameraman didnt care much about the out door sunlight condition because indoor video quality is almost perfect.very extreme case but it was there in external sony tv when i choose full-full-full configuration.

I think most user can live with both configuration.In order to see the difference between these two, external tv must be properly adjusted and also be calibrated.Unfortunately getting reliable calibration service very difficult even in rich countries.

and finally i firmly believe big software and hardware companies making this video playback matter deliberately difficult in order to sell people more products with 30 dollar hardware inside like Nvida Shield and others.
That s why i respect Aleksoid,Volt and other guys like them

Balling
5th August 2022, 16:04
Hi Balling

Well, yes, if it does not have Limited RGB option, that means it does not support Limited range RGB, that is checked after EDID from display and EDID from GPU are exchanged though.

v0lt
6th August 2022, 05:41
Information for translators.
You can translate the new text in the installer. Just download custom_messages.iss (https://github.com/Aleksoid1978/MPC-BE/blob/master/distrib/custom_messages.iss), translate the settings according to your language and send the new file to me.

cmhrky
7th August 2022, 13:12
Isn't it necessary to add the translation of "MPC Video Renderer" too? Because it's translated in MPC-BE.
"STRING IDS_PPAGE_OUTPUT_MPCVR "MPC Video Renderer"

v0lt
7th August 2022, 17:50
Isn't it necessary to add the translation of "MPC Video Renderer" too? Because it's translated in MPC-BE
Perhaps it was a mistake. :)

Anima123
19th August 2022, 05:28
What's holding back the Jinc2 experimental in MPC Video Renderer from getting off the 'experimental' title?

As I know, at least for some very well coded 720p to 1080p, Jinc2 looks quite sharp with enough pleasant, of course it's not the case for not so well coded videos.

v0lt
19th August 2022, 05:37
What's holding back the Jinc2 experimental in MPC Video Renderer from getting off the 'experimental' title?
I already answered earlier. This is not the original Jinc2.

Renamed to "Jinc2m".

Celio1080p
24th August 2022, 03:13
Hey there guys.
https://i.imgur.com/miolZyr.png
https://i.imgur.com/v3vwYE9.png
So, this is the movie i want to see, and i wanted to ask if i should change any setting ?
Everything seems to be working fine.
I have a Samsung TV 65 RU7100
The movie file is a SDR file converted from HDR to SDR. Because the HDR of my TV is trash :/
Another question. How do i know if my TV supports 10 Bits ?
Hope you guys can answer me.

huhn
24th August 2022, 04:08
pretty much every TV support 10 bit input even very old 1080p display do.
the problem is sending and and getting benefit of it.
you are using EVR there by default it is not even using a buffer that is over 8 bit and 10 bit presentation was let's say different.

v0lt
24th August 2022, 04:41
How do i know if my TV supports 10 Bits ?
You need Windows 8.1/10 for 10-bit display output. You also need a video renderer that uses Direc3D 11. Information about the 10-bit mode can be found in the video renderer statistics and in the Windows settings. The TV can also show such information.

SeeMoreDigital
24th August 2022, 07:24
I have a Samsung TV 65 RU7100.... How do i know if my TV supports 10 Bits ?
Refer to your TV manufacturers specification and/or tech reviews!

Suffice to say, all 4K UHD televisions that offer HDR, support 10-bit colour (in one form or another). Some even support 12-bit Dolby Vision HDR. Ideally you want the actual panel to natively display 10-bit colour, rather than it display 8-bit colours with electronic dithering to similate 10-bits - like my 2016 4K LG 65UH770V television does :eek:

v0lt
25th August 2022, 15:35
MPC Video Renderer 0.6.3.1956 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.6.3)

Changes:
Optimized PQ to SDR conversion using D3D11 video processor on Windows 10.
Added the ability to use Blend deinterlacing for YUV 4:2:0 formats when using a Shader video processor.
Changed the default value for the "Swap effect" option to "Flip".

huhn
25th August 2022, 16:15
is there any interest in adding a feature like smoothmotion to mpcVR?

i will try to check out the reported cadence issue with 144 HZ screen when i find the time too.

v0lt
27th August 2022, 06:38
is there any interest in adding a feature like smoothmotion to mpcVR?
Such questions immediately after the release seem tactless to me. There is a feeling that the project is not interesting. And you just want a copy of another project.

But I'll try to answer:
1. The current implementation of MPC VR is not suitable for frame rate upscaling algorithms.
2. I don't have a description and an example implementation of the smoothmotion algorithm.
3. Nobody sent patches to us.
4. I summarize all of the above. No, we don't plan to.

Celio1080p
27th August 2022, 10:49
pretty much every TV support 10 bit input even very old 1080p display do.
the problem is sending and and getting benefit of it.
you are using EVR there by default it is not even using a buffer that is over 8 bit and 10 bit presentation was let's say different.
Hrm.. i have to say.. i don't know what are you talking about.
I mean, i really don't know.
Are you saying i'm using the wrong Video Renderer ?
I'm using the Enchanced Video Renderer (custom presenter)
Should i change it ?
You need Windows 8.1/10 for 10-bit display output. You also need a video renderer that uses Direc3D 11. Information about the 10-bit mode can be found in the video renderer statistics and in the Windows settings. The TV can also show such information.
Hrm, right now, i'm using Windows 10 Pro 64 Bits, will upgrade to Windows 11 in September probably..
About the Video Renderer, I'm using the Enchanced Video Renderer (custom presenter)
Should i change it ? this video renderer is Direc3D 9 ? i know about madVR but.. not quite sure it's a good thing. Too much settings with almost no information.. too gpu heavy ? i have a 3070.
Refer to your TV manufacturers specification and/or tech reviews!

Suffice to say, all 4K UHD televisions that offer HDR, support 10-bit colour (in one form or another). Some even support 12-bit Dolby Vision HDR. Ideally you want the actual panel to natively display 10-bit colour, rather than it display 8-bit colours with electronic dithering to similate 10-bits - like my 2016 4K LG 65UH770V television does :eek:
Hrm, thank you very much everyone who answered me but..
Not quite sure..
How do i know that the panel of my RU7100 supports natively display 10-bit color ?
I know you guys probably want me to look at the manufacturers but..
The thing is, i don't know how to find info about that.

There are a lot thing i don't know.
Should i enable Exclusive fullscreen and 10-bit RGB output ?
Even if i don't change that in Nvidia driver or windows ?

One thing i think i know is about the Presentation mode: Flip/FlipEx is better. So i choose that.
Anyway.. sorry my english.

huhn
27th August 2022, 18:35
if the project isn't interesting i wouldn't ask.
i ask because blend deint and smoothmotion are not totally different instead of field frames are blended and the blending between frames is not 50/50 it's calculated using the audio clock as a base line. if i would be good enough at programming i would have added it by.

there is an article on how different versions of it works from mpv.
i simply didn't want to share there if it isn't interesting.
if it is not suitable doesn't matter at this point. have a nice day.

v0lt
28th August 2022, 05:50
Blend deinterlacing changes one current frame. See Deinterlace (blend).hlsl (https://github.com/Aleksoid1978/MPC-BE/blob/98feb9ab6ff3e0401c8716244740d36d5b440546/distrib/Shaders11/Deinterlace%20(blend).hlsl) for an example.

As far as I know, simple implementations of Smoothmotion need one frame from the past and one frame from the future. To work with future frames, we need to radically redesign the architecture of MPC VR and the base class (we use CBaseVideoRenderer2, which is similar to CBaseVideoRenderer) and run a lot of tests.
I can't easily and quickly implement Smoothmotion in MPC VR. And I doubt that anyone can do it easily and quickly. Maybe I'm wrong and for someone it's not a problem.

huhn
28th August 2022, 12:34
this is not going to be easy anyway. the idea is easy to understand but it is very technical in details. jitter correction...

under correct usage is never more than 2 frames (output frames rate is a higher number then input frame rate).

the first step is calculating the clock difference between audio and video.

if the audio is to fast you have to lower the mathematical number you use for the presentation time.

if you play a 24p file at 60 you will get ~48 different frames. actually you always get around 48 frames when the source is 24 if 240 or 144 doesn't matter.

here is a small example with made up numbers and audio is ignored VRR is ignored.
display 15 MS d1 and so on (66.7hz)
frame 42 MS f1 and so on (23.08p)
they are easy for math because there are not fractions

f1 - d1 = 27 nothing to blend
f1 - d2 = 12 nothing to blend
f1 - d3 = -3 blending time 12 to 3 80 % of f1 and 20% of f2
f2 - 3 = 39
f2 - d4= 24
f2 - d5= 9
f2 - d6= -6 blending time 9 to 6 60 % of f2 and 40 of f3
f3 -6 =36

and so on.
easy to understand very hard to write as code.
for audio correction you change the number for display.
for VRR the the frame times are just differently low.

*MidnightWatcher*
28th August 2022, 15:39
MPC Video Renderer 0.6.3.1956 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.6.3)

Changes:
Optimized PQ to SDR conversion using D3D11 video processor on Windows 10.
Added the ability to use Blend deinterlacing for YUV 4:2:0 formats when using a Shader video processor.
Changed the default value for the "Swap effect" option to "Flip".

This is coming along nicely and looks quite good with most material I've tried. There are some titles, however, that are mastered at levels that MPC VR isn't well suited for yet. Eg. The Meg. Some high nit scenes, such as those outdoors, are completely blown out and most detail is lost. Is there any plan to implement a way to measure such frames so that MPC VR makes adjustments on the fly to retain pop and detail?

*MidnightWatcher*
29th August 2022, 04:21
Another thought. Would it be possible to implement a way for MPC-BE or MPC VR to remember the filename and the last settings used for the filename? I may want to reduce or increase brightness/contrast on some 4K HDR titles due to how it was mastered, instead of using the default settings. For The Meg I needed to adjust brightness considerably in order to see detail for the outdoor scenes so it would be nice if those settings were remembered for this title.

v0lt
29th August 2022, 18:33
Some high nit scenes, such as those outdoors, are completely blown out and most detail is lost. Is there any plan to implement a way to measure such frames so that MPC VR makes adjustments on the fly to retain pop and detail?
I didn't notice anything like that. But we thought about somehow using HDR metadata in the tonemapping operation. Just thoughts and no deadlines.
Would it be possible to implement a way for MPC-BE or MPC VR to remember the filename and the last settings used for the filename?
No. This will complicate the setup of the player and confuse users.

SirMaster
29th August 2022, 20:59
Another thought. Would it be possible to implement a way for MPC-BE or MPC VR to remember the filename and the last settings used for the filename? I may want to reduce or increase brightness/contrast on some 4K HDR titles due to how it was mastered, instead of using the default settings. For The Meg I needed to adjust brightness considerably in order to see detail for the outdoor scenes so it would be nice if those settings were remembered for this title.

You would better off doing this through an external program.


No. This will complicate the setup of the player and confuse users.

Is there an API to adjust MPC-VR settings?

v0lt
30th August 2022, 04:31
Is there an API to adjust MPC-VR settings?
If you want to change the brightness and contrast (as mentioned by *MidnightWatcher*), then IMFVideoProcessor::SetProcAmpValues (https://docs.microsoft.com/en-us/windows/win32/api/evr9/nf-evr9-imfvideoprocessor-setprocampvalues) is available. It is used by MPC-BE and other video players.

Also you can use Post Scale shaders.

alleway
30th August 2022, 16:19
does anyone know d3d11 copyback supports hw deinterlacing? cant seem to get an answer by googling

alleway
31st August 2022, 04:23
D3D9 copyback definitely doesn't. It's possible it changed with D3D11 but I have a suspicion it probably did not. Why wouldn't you use D3D11 native though? It doesn't have the PQ issues that D3D9 native does with non-Intel GPUs.

in madvr dvxa2 copyback supports hw deinterlacing. but d3d11 native doesn't do hw deinterlacing while watching 1080i

v0lt
31st August 2022, 05:07
does anyone know d3d11 copyback supports hw deinterlacing?
D3D11 copyback is a D3D11 decoder with main memory copy function. Copying to main memory is necessary for compatibility with other filters.

Deinterlacing makes the "Video Processor" in the video renderer.
EVR uses DXVA2 VP for denterlacing.
MPC VR uses DXVA2 VP for denterlacing in DX9 mode and D3D11 VP in DX11 mode.

Yes, I know that LAV Video Decoder has deinterlacing. But this is an additional feature of LAV. This is not a feature of the D3D11 decoder.

alleway
31st August 2022, 05:41
D3D11 copyback is a D3D11 decoder with main memory copy function. Copying to main memory is necessary for compatibility with other filters.

Deinterlacing makes the "Video Processor" in the video renderer.
EVR uses DXVA2 VP for denterlacing.
MPC VR uses DXVA2 VP for denterlacing in DX9 mode and D3D11 VP in DX11 mode.

Yes, I know that LAV Video Decoder has deinterlacing. But this is an additional feature of LAV. This is not a feature of the D3D11 decoder.

if i use mpc vr for 1080i videos is there an option to do hw deinterlacing or will it auto deinterlace with dvxa/d3d11 selected?

sorry for the ignorance and thank u for the explaination

huhn
31st August 2022, 18:39
when the video processor is active and the file is properly flag it will use the hardware deinterlacer.

alleway
2nd September 2022, 09:37
when the video processor is active and the file is properly flag it will use the hardware deinterlacer.

ok so mpc vr will do it automatically for the video. got it

Ripmann
2nd September 2022, 23:21
Anyone knows if the author ever provided his rationale for refusing to allow to delete played files from within the player by pressing the DEL button, similar to how MPC-HC does it? I remember looking at this many years ago and finding an existing feature request that got closed without any decent explanation, but now I'm curious why exactly this relatively easy to implement feature was rejected without much consideration. I delete bad video segments while playing them all the time, and it kind of annoys me that I have to switch between MPC-BE and MPC-HC for that reason only.

Sunspark
4th September 2022, 18:03
If this setting is implemented, it should be a preference setting.

Personally, I have accidentally deleted files before in HC.

Ripmann
4th September 2022, 18:19
If this setting is implemented, it should be a preference setting.

Personally, I have accidentally deleted files before in HC.

Go to the Keys options in MPC-HC and unbind "Move to Recycle Bin" from DEL. Problem solved :rolleyes:

Klaus1189
6th September 2022, 11:05
:stupid:
OMG :D

ryrynz
6th September 2022, 11:44
Also, I am looking for programmer(s) to merge FFDShow+AC3Filter+MPC-HC into a single 'program'
:rolleyes:
Pipedreams are free.

clsid
6th September 2022, 17:26
MPC-HC is much better overal, so it would B best if U simply added 'preview thumbnail image' capability 2 that =)Since you are paying programmers to add stuff, I can add seekbar preview thumbnail for a $500 donation (https://github.com/clsid2/mpc-hc/issues/383).

Aleksoid1978
7th September 2022, 00:27
since you are paying programmers to add stuff, i can add seekbar preview thumbnail for a $500 donation (https://github.com/clsid2/mpc-hc/issues/383).

450$ :)

LuckyJim
7th September 2022, 08:41
450$ :)

Bribe me with $100 and I will NOT tell Sir E. how to enable the seekbar preview thumbnail in the settings. You'll still get $350 :)

Aleksoid1978
7th September 2022, 09:15
Bribe me with $100 and I will NOT tell Sir E. how to enable the seekbar preview thumbnail in the settings. You'll still get $350 :)

Ok !!!