Kodi DSPlayer – DirectShow Player for Windows - Printable Version +- Kodi Community Forum (https://forum.kodi.tv) +-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33) +--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111) +---- Forum: Windows (https://forum.kodi.tv/forumdisplay.php?fid=59) +---- Thread: Kodi DSPlayer – DirectShow Player for Windows (/showthread.php?tid=223175) 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
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
|
RE: Kodi DSPlayer – DirectShow Player for Windows - Warner306 - 2016-05-19 Static vs. Dynamic Tone Mapping The terms static and dynamic tone mapping are commonly associated with PQ HDR content mastered in HDR10, HDR10+ or Dolby Vision. Static tone mapping is associated with HDR10 content. Static tone mapping is based on a single metadata value that defines the brightest pixels in the source. With the current HDR10 standard, a value is defined for MaxCLL (Maximum Content Light Level) and the mastering display maximum luminance. When presented with a static metadata value, the tone mapping algorithm is given limited information on the overall distribution of brightness of the source. As a result, one tone curve is used to present the entire video with the intent of keeping the brightest pixels (the entire source range) within the available display range. Using a single tone curve for each HDR video is not optimal for three reasons:
Most sources are improperly judged by a static HDR10 metadata value. These static metadata values tend to be surprisingly inaccurate in communicating the average peak brightness of the source as opposed to a single frame peak. One abnormally high frame peak may be reached during a few seconds of runtime, while the rest of the presentation stays at a comparatively low peak brightness. Unfortunately, even the single maximum frame peak provided by HDR10 movies has proven to be inaccurate in some cases. An example of how unreliable static metadata can be is the movie Leon: The Professional. Leon: The Professional - The official metadata: Mastering display luminance: min: 0.0050 cd/m2, max: 4000 cd/m2 Maximum Content Light Level: 3696 cd/m2 Maximum Frame-Average Light Level: 314 cd/m2 This would imply this is a very bright movie. However, when decoded with madMeasureHDR, the true distributed brightness looks like this: Leon: The Professional after measurement: Leon: The Professional - Actual distributed peak brightness: average scene peak (time-weighted): 291 nits average frame peak (avgFMLL): 225 nits The source reports a maximum peak brightness of 3696 nits, yet almost the entire movie stays below 300 nits! You can see in the graph this reported scene peak only occurs in one specific juncture towards the movie's finale. Outside of this small brightness peak, this is a movie with a very low dynamic range being reported as a movie with a very high dynamic range. Tone mapping this movie from 4,000 nits would lead to a loss of brightness and a distorting of contrast for any display below the reported 4,000 nits mastering peak. Static metadata is rendered more ineffective given upwards of 75% of current movies are mastered to 1,000 nits and report 1,000 nits as the MaxCLL or mastering display maximum luminance. So most HDR movies are being tone mapped with the same internal display tone curve despite containing differing amounts of high dynamic range specular highlights. Current HDR content also isn't graded for displays such as HDR projectors with a low peak brightness, where tone mapping of 0-100 nits is common. This can result in some movies appearing darker than others, as the colorist grading HDR content likely does not consider the visual impact of lowering the brightness of reference white at the end display. HDR televisions don’t often encounter this issue because tone mapping for TVs is primarily focused on compressing the upper range of the source values where the specular highlights are found. The purpose of HDR metadata is to inform the display of how bright the source is at its highest peak. This metadata does not provide any information on how much content is located within 0-100 nits near black, nor does it tell the display how much the lower part of the PQ curve can be tone mapped before the image becomes too dim. When tone mapping for a display with limited peak brightness such as a projector, most of the HDR source range must be compressed, including the lower shadows, and it can be difficult to produce consistent brightness across titles using static metadata as the same tone curve applied to sources with identical source peaks will result in a different APL (Average Picture Level) due to different distributions of content in the SDR range. Dynamic Tone Mapping Curves Dynamic tone mapping is more flexible. It ignores the static metadata altogether in favor of judging each scene individually. As the video plays, every frame peak is measured and this information is used to dynamically alter the shape of the roll-off. Frame peak targets come from reading the input Y values or by using frame-by-frame metadata embedded in the source. Dynamic tone mapping applied to titles with static metadata reacts in real-time to each incoming frame to predict any sudden changes in peak brightness. By making dynamic changes to the tone curve, brightness is saved by reducing the effect of the roll-off whenever possible and the optimum amount of contrast can be applied to preserve all specular highlight detail in each scene. In madVR, the tone curve responds based on a brightness histogram that measures the peak brightness of each incoming frame. Similar to Dolby Vision and HDR10+, the movie is treated as a series of unique scenes with separate brightness peaks. High Peak Brightness Scenes: The tone curve resembles a static curve with a more aggressive roll-off. The APL (Average Picture Level) is lowered to provide enough contrast to limit clipping of the brightest specular highlights. 2019 LG OLED - 10,000 nits Custom Curve: Average Peak Brightness Scenes: The tone curve uses a less aggressive roll-off to reflect the lower scene peak. The APL increases slightly by reducing unneeded compression, which preserves more intermediate detail. 2019 LG OLED - 4,000 nits Custom Curve: Scene Peaks Below the Real Display Peak Nits: Tone mapping is disabled and the PQ curve is followed 1:1. Tone mapping is unnecessary as the scene peak is within the available display peak. 2019 LG OLED - 1,000 nits Custom Curve: Example of Dynamic Tone Mapping Star Wars The Last Jedi Frame 162 nits / Source Peak 1,000 nits: Dynamic Tone Mapping (200nits) Static Tone Mapping (200nits) madVR OSD: Examples of Dynamic Tone Mapping Targets in madVR min target / real display peak nits: 250 nits source mastering peak: 1,000 nits measured frame 842, tone map 886 nits The measured frame peak is close to the source peak. The tone curve employs an aggressive roll-off to preserve the high contrast of the frame. measured frame 328, tone map 329 nits The tone curve significantly reduces the roll-off to reflect the lower frame peak, which is only slightly above the real display peak nits (250nits). measured frame 147, tone map 176 nits Tone mapping is disabled because the frame peak is within the real display peak nits (250nits). Dynamic Target Nits (HDR to SDR Output Only) The last layer of complexity involves the use of dynamic target peak nits. By checking apply target nits (Coming Soon!), madVR will adjust both the tone curve AND display target nits to match any measured peak brightness changes. This is the most dynamic form of HDR to SDR tone mapping available intended for very large adaptations in contrast that are simply not possible with a fixed display target nits. A dynamic target nits is designed for light-starved HDR displays such as projectors that benefit less from scene or frame peak targets that are often out of reach and unrealistic for these displays. Instead of focusing on scene or frame peak brightness, tone mapping is applied based on the APL (frame average light level) of each scene to determine where the scene falls in relation to black and apply tone compression to the scene APL that is suitable for the end display without producing a dim image while still rolling off enough of the APL to preserve specular highlight detail. What Is a Dynamic Target Nits? Example of a Dynamic Target Nits Mission Impossible Ghost Protocol Frame 1085 nits / FALL 108.098 nits: Dynamic Target Nits: Enabled (480nits) Dynamic Target Nits: Disabled (275nits) Further Reading: Using madMeasureHDR to Create Dynamic HDR10 Metadata RE: Kodi DSPlayer – DirectShow Player for Windows - huhn - 2016-05-19 (2016-05-19, 00:20)hannes69 Wrote: There are people who like to be on the SAFEST side. "DO NOT DRY YOUR CAT OR DOG IN THE MICROWAVE OVEN"when a screen freezes, which should be very rare anyway, you can easily lose your settings or with other words your paid calibration. because a device will not catch fire doing this doesn't mean there couldn't be other major problem. the biggest problem of overclocking isn't killing the hardware it is system stability. tweaking 23p or 24p has is a very low risk tweak if there is even any real risk but creating a 47/48 HZ refresh rate is something totally different. of cause just an example. your screen could drop/repeat frames. your screen could start blinking. accidentally overriding the EDID that you didn't get any picture at all anymore. your device could freeze. and a lot more. just look at the CRU notes and quick start. RE: Kodi DSPlayer – DirectShow Player for Windows - ashlar - 2016-05-19 (2016-05-19, 01:19)Warner306 Wrote: I think you've confused me. In the calculation you have to add two decimal positions, as it's a percentage. So if madVR is showing a negative clock deviation of 0.00001%, you need to aim for a refresh rate of: 23.976023976 * 0.9999999 = 23.976021578 Are you sure the clock variation isn't 0.001%. In that case you should aim for 23.975784216 refresh rate to compensate. I ask because with 0.00001% variation you should already be set for no drops/repeats for days (ie. never). RE: Kodi DSPlayer – DirectShow Player for Windows - ashlar - 2016-05-19 (2016-05-19, 00:20)hannes69 Wrote: Bytheway ashlar, what´s your output device that works with the *1 multiple, it´s rare that a device works with refresh rates < 30Hz... Is it a projector?It's a Pioneer plasma. It accepts a 24Hz signal and triples it internally to display at 72Hz (or 23.976*3). Edit: oh, and by the way... I've seen the clocks drifting warming up. Net result? At 23.976 I go to 6.x days with no frame drops/repeats. Sometimes the HTPC gods smile on you. I was so excited by this yesterday that I provided a lengthy explanation to my wife about this. I *needed* to share it with somebody in person. She looked at me, smiling, all along. "Do you understand now my dear?" "Sort of. I get it that it's important for you. Good!" God, I love her! RE: Kodi DSPlayer – DirectShow Player for Windows - hannes69 - 2016-05-19 Quote:I have a clock deviation of -0.00001%. This means my video clock is too slow.-0.00001% = 0.0000001 = almost nothing... Pure luck in your case, your audio clock and your video clock are ticking in sync, you have to do nothing... This can happen of course, but it´s not the normal case. Quote:I want to increase the video clock repeat interval: 23.976 * (1 - 0.00001) = 23.97576 Hz24Hz/1.001 * (1 - 0.00001 / 100) = 23.97602158Hz ; % is the same as /100 Quote:It's a Pioneer plasma. It accepts a 24Hz signal and triples it internally to display at 72Hz (or 23.976*3).Ah, ok. Makes the work easier if the output device accepts a wide range of signals. My Infocus X9 projector accepts *1, *2, *3 so signals in the range of 20-80Hz. So I can get most of the needed refresh rates, only 3 * 29.97 Hz doesn´t work. The real refresh rate is in the *2 range (48-60Hz). I´m using 47.952Hz, 50.000Hz, 59.940Hz and 72.000Hz. I´m using EDID overrides with CRU utility. Windows can´t distinguish a 47.952Hz and a 48.000Hz preset, one is lost if I create both of them. So for 24.000fps movies I took the *3 setting and so I have a 72.000Hz setting. This materia is complex And yes there are 24.000fps movies (but most are 23.976fps, yes). I live in Europe, so for European movies I need the 50.000Hz setting, for non-European movies I need the 47.952Hz setting, in rare cases the 72.000Hz setting and almost never the 59.940Hz setting because I don´t watch NTSC television shows. But with these 4 refresh rates you cover everything. Quote:when a screen freezes, which should be very rare anyway, you can easily lose your settings or with other words your paid calibration.By "freeze" I meant something like hang up, it works normally after "reboot". I didn´t mean something destructive. A monitor, a projector, a TV and so on they all exist of several electronic units. They hang together in some kind, but aren´t really dependant on each other. They communicate. If you are fiddling around with the memory in your PC it is very unlikely that you get a serious problem with your network controller... A calibration is maybe stored in an internal EEPROM, by using a custom resolution which affects the video displaying engine (only some timings) I can´t imagine in which way stored values in your EEPROM are lost. Maybe you are lowering the horizontal front porch in a custom resolution. Your display device tries to use that setting. But what you are asking from your device is too fast for it, it probably can´t do that. So the device shows garbage colors. You reboot your device with normal settings, everything ok again. Nothing to worry. In electronics you always have error/failure protection or handling. That´s absolutely normal. I´d say when developing electronic circuits, software and so on less than half of the time is spent with actual functions, rest of the time covers error handling. E.g. your TV is prepared to get "wrong" signals. Your video signal comes through a cable with certain voltage and timings. Maybe you are using a 1000ampere welding machine next to your video cable (it´s a possibility ). Maybe your video signals are now distorted. You don´t need to weld, maybe you have a very very cheap video cable with absolutely no shielding. And some distorting signals in the same room. It wouldn´t be very positive for your TV manufacturer when now something is destroyed or your calibration is lost. Your TV is prepared for such cases, believe me. Quote:tweaking 23p or 24p has is a very low risk tweak if there is even any real risk but creating a 47/48 HZ refresh rate is something totally different. of cause just an example.There is no risk in both cases. Maybe you feed your TV by accident with 480Hz because of a typing error. Your TV "sees" that signal and "says": "Nice try, I can´t do anything useful with this, as punishment you get a black screen" Maybe your TV is more polite and gives you a small message box saying "Signal out of range" or something similar. Maybe because you especially are so scary it erases your calibration By the way, no one FORCES you to use a custom resolution. And you can of course use Reclock or madvr smoothmotion to get similar results (similar: you either "bend" on the audio or on the video signal, by using custom resolution both stay "clean") Quote:accidentally overriding the EDID that you didn't get any picture at all anymore.Windows PC: Hit F8 during boot = Safe boot. Quote:oh, and by the way... I've seen the clocks drifting warming up. Net result? At 23.976 I go to 6.x days with no frame drops/repeats. Sometimes the HTPC gods smile on you.Yeah, luck on your side. It could go in the other direction and your 4,5h framedrop interval melted down to 1,8h and within a movie you are totally nerved by the one drop in the most important scene of the movie Just a joke, realistic would be something like 3,5h. Because of the deviation numbers being so small in the "perfect" region (your real refresh rate is almost identical to your calculated ideal refresh rate), the estimation of drops/repeats get very nervy. That´s mathematics, the reverse of 0 is ultimate, very small = 0 deviation leads to xxx days = ultimate frame drop interval. Your warming scenario leads to the "right" direction so the numbers fast get huge (xxx days), the other way round the numbers would slowlier get lower. Quote:"Do you understand now my dear?" Yeah, good wife My girlfriend got some "education" from me. I informed her about video stutter, rainbow effect of my DLP projector and so on during movies. I let her hear uncalibrated and calibrated audio. She said she noticed sometimes that something isn´t maybe perfect or as intended, but she wasn´t bothered. NOW she is bothered Of course she isn´t as excited as I am when a new "improvement" is established. But she accepts and understands them when showing A/B comparisons. Of course she is sometimes joking and says something like: "Formerly it was impossible to enjoy a movie because of the bad video and audio quality, your last improvement step caused surely a 500% gain" RE: Kodi DSPlayer – DirectShow Player for Windows - ashlar - 2016-05-19 Meanwhile another question arises. For reasons unknown, today my HTPC accepted the custom resolution for 59.940 (more 59.941 in my case, including clock deviation adjustment). BUT But apparently madVR, with FSE and DirectX11 path, decides to use the old 59 frequency from standard Nvidia Control Panel. A resolution I have no way of selecting manually, mind. And if I switch to Windowed DX11 or DX9 (both FSE and Windowed), madVR picks the correct resolution/refresh, the custom one I've created (which gives a repeat every 5.55 hours or so, thanks for the pixel clock calculator, it helped a lot). Why the heck are custom resolutions so fricking complicated?!?!? Using Nvidia I would surely love for a "for dummies" guide to CRU. I've tried using it in the past but I never understand how to. RE: Kodi DSPlayer – DirectShow Player for Windows - hannes69 - 2016-05-19 Quote:For reasons unknown,Best start of a sentence... Quote:But apparently madVR, with FSE and DirectX11 path, decides to use the old 59 frequency from standard Nvidia Control Panel. A resolution I have no way of selecting manually, mind.That´s probably quite the same story I told about the 47.952 and 48.000Hz in my last post. With CRU utility you can eliminate that problem. You can erase the old standard 59 setting and replace it with your new 59 setting. It´s simple as that. Quote:Why the heck are custom resolutions so fricking complicated?!?!?Because it is "special stuff" for "special people"... Normal people aren´t interested in and don´t need custom resolutions. You can expect of a nerdy thing used by nerds that some time has to be invested to get that stuff running right. You want the cake, work for your cake Quote: I would surely love for a "for dummies" guide to CRUHm, if you are able to create a custom resolution with a graphics vendor tool, you can do the same with CRU, there´s no difference. The terms are the same (front/back porch, sync width...) And you already detected the value of the pixel clock calculator. You just have to copy & paste the values. In CRU: choose your device in the dropdown menu. Now on the right side you have several standard and/or detailed resolutions. Note them so if something doesn´t work as expected you have the original values. What you need are the detailed resolutions. You can delete all standard resolutions and if there are already some detailed resolutions you can delete them as well. Now fill in your detailed resolutions (the ones you used by the nvidia tool or the ones you find out with the pixel calculator tool). In my case 4 detailed resolutions are possible, actually the number we need. Take as first detailed resolution your "preferred" one, this becomes the default resolution. Reboot. Now your default resolution is active. And take a look in your OS to the choosable resolutions, they all are now there. What can happen: Sometimes Windows or the graphics driver add a 60Hz resolution, then you normally have one resolution called 59Hz and one called 60Hz in Windows. Then you have to find out which one is your desired one. In madvr display mode switcher they are then distinguishable by their naming e.g. 1080p59 / 1080p60. And as I already stated: A workaround that works always is to use an other multiplier. You can use 29.970Hz, 59.940Hz or 89.91Hz, whatever your TV accepts. Your TV accepts 23.976Hz so it will probably accept 29.970Hz and so you can use 1080p29 in madvr... Good luck! RE: Kodi DSPlayer – DirectShow Player for Windows - Warner306 - 2016-05-19 Problem: This generally refers the clock jitter. Clock jitter is caused by a lack of synchronization between three clocks: the system clock, video clock and audio clock. The system clock always runs at 1.0x. The audio and video clocks tick away independent of each other. Having three independent clocks invites of the possibility of losing synchronization. These clocks are subject to variability caused by differences in A/V hardware, drivers or software. Any difference from the system clock is captured by the display and clock deviation in madVR's rendering stats. If the audio and video clocks are synchronized by luck or randomness, then frames are presented "perfectly." However, any reported difference between the two would lead to a slow drift between audio and video during playback. The video clock yields to the audio clock — a frame is dropped or repeated every few minutes to maintain synchronization. Problem: This generally refers the clock jitter. Clock jitter is caused by a lack of synchronization between the system clocks: the video clock and the reference audio clock. These clocks are subject to variability caused by differences in A/V hardware, drivers or software. Any difference is captured by the clock deviation in madVR's rendering stats. At any value above or below zero, the video clock is out of sync with the reference clock. This would cause a slow drift between the audio and video. The video clock yields to the reference audio clock — a frame is dropped or repeated on occasion to maintain synchronization. RE: Kodi DSPlayer – DirectShow Player for Windows - huhn - 2016-05-19 it the deviation different when you start a file ? can you make a screen from the OSD. is the behavior the same with mpc-hc? RE: Kodi DSPlayer – DirectShow Player for Windows - ashlar - 2016-05-19 hannes69 Wrote:Managed to do it, thanks! Feels good not being at the mercy of Nvidia's drivers anymore.Quote: I would surely love for a "for dummies" guide to CRUHm, if you are able to create a custom resolution with a graphics vendor tool, you can do the same with CRU, there´s no difference. The terms are the same (front/back porch, sync width...) And you already detected the value of the pixel clock calculator. You just have to copy & paste the values. To output correctly I needed to set it up as YCbCr 4:4:4. RGB was messing up the range through HDMI (didn't use to before). RE: Kodi DSPlayer – DirectShow Player for Windows - huhn - 2016-05-19 in the past nvidia was always using full range with a custom resolution. so i would recheck the settings using YCbCr is bad for quality at least in theory. RE: Kodi DSPlayer – DirectShow Player for Windows - Warner306 - 2016-05-20 (2016-05-19, 22:41)huhn Wrote: it the deviation different when you start a file ? The clock deviation starts higher but settles at -0.00001 after a minute or two. I gave up on trying to describe custom resolutions in the guides I maintain. Two many variables can cause problems and DSPlayer has been less stable, too. Does anyone have a good link on custom resolutions? I'd rather provide a link with great detail than attempt to add this topic to an already packed tutorial. It is really only a tool for advanced users. RE: Kodi DSPlayer – DirectShow Player for Windows - Uoppi - 2016-05-20 Does anyone know of a calculator to show the expected frame drops/repeats based on the clock deviation percentage? Or what would be the formula? I tried "something" but the results made no sense and I suck at math! Just asking because it seems I could probably get away without using Reclock at all. Clock deviation seems to be 0.003xx% max at any refresh rate. RE: Kodi DSPlayer – DirectShow Player for Windows - Uoppi - 2016-05-20 (double post) RE: Kodi DSPlayer – DirectShow Player for Windows - Uoppi - 2016-05-20 Quote: Try it out: Make a custom resolution so your refresh rate changes. The number for the clock deviation in madvr is still the same... I just deleted my custom resolution for 23.976 and the deviation-% went out of whack. Previously it was ~0.00088% and now way over 0.02000%?! I tweaked it so that "display" in madVR OSD read 23.97625 (to get as close to 23.976 as possible) but according to some previous posts this is apparently unnecessary. That's why I reverted back to the default (i.e. deleted my custom res) so now "display" reads 23.97006. Quite confused right now. :S |