1 (edited by UHD 09-11-2019 21:07:12)

Topic: 3rd Gen AMD Ryzen Threadripper

Today we have the premiere of 2 processors:
TR 3970X and TR 3960X.

The stronger of them: TR 3970X has 32 cores, 64 threads and supports quad-channel memory.

I have a few questions:

1) Can SVP fully utilize 64 threads from the above processor?

2) Will SVP be able to use 128 threads of an even stronger processor, which will appear in 2020?

3) Will the octa-channel memory of an even stronger processor that will appear in 2020 be useful for SVP?


My goal is smooth playback of 4K 10bit HDR movies on a 4K 144Hz monitor in the best quality. Practically all movies come out today in 4K 10bit HDR and this should be considered a standard.

This year there are also a lot of monitors above 40 inches capable of accepting 4K 144Hz or 4K 120Hz signal.
Currently in Europe there are available the following models of monitors (4K, 16:9, 120Hz+, 40"+):

ASUS ROG Swift PG65UQ, 64.5"
HP Omen X Emperium 65, 64.5"
Dell Alienware AW5520QF, 54.6"
ASUS ROG Strix XG438Q, 43"

What we are waiting for is...

Philips Momentum 558M1RY, 54.6"
Acer Predator CG437KP, 43"
ASUS ROG Strix XG43UQ, 43"


Does anyone have any experience with 4K 10 Bit HDR movies smoothed by SVP to 120Hz or 144Hz on a 4K monitor or want to have like me?

Re: 3rd Gen AMD Ryzen Threadripper

> TR 3970X and TR 3960X.

I believe it's like 2-3 times overkill. 12-core 3900x is more than enough, even 3700x is quite good I suppose.

More important you just can't play HDR content in HDR mode at 120 Hz, because:
1. VLC is limited to 3x FRC rate, so ~72 fps is the max
2. mpv currently can't render in HDR mode so it'll always do 8-bit tone mapping
3. DirectShow players will always loose both precision and dynamic HDR data because of ffdshow

===
UPDATE: it turns out that mpv CAN finally render in HDR mode after October 30 commit big_smile
So it's now the best choice for HDR content playback.

Re: 3rd Gen AMD Ryzen Threadripper

Chainik wrote:

UPDATE: it turns out that mpv CAN finally render in HDR mode after October 30 commit big_smile
So it's now the best choice for HDR content playback.

Hi @Chainik do I need to do any changes in my config below for 10Bit HDR playback? Or in SVP Settings?

ontop
audio-exclusive=yes

demuxer-thread=yes

video-latency-hacks=yes

vo=gpu
profile=gpu-hq
fbo-format=rgba16hf
gpu-api=vulkan
gpu-context=winvk
hwdec=nvdec-copy
spirv-compiler=shaderc

vd-lavc-dr=yes
vulkan-async-transfer
vulkan-async-compute
vulkan-swap-mode=fifo

volume-max=100

tone-mapping=hable
hdr-compute-peak=yes

scale=ewa_lanczossharp
cscale=ewa_lanczossharp
dscale=ewa_lanczossharp
dither-depth=auto
correct-downscaling=yes
sigmoid-upscaling=yes

deband=yes
deband-iterations=4
deband-threshold=50
deband-range=16
deband-grain=48

sub-ass-shaper=complex
sub-font-size=35
sub-scale-by-window=yes
sub-pos=100
sub-align-x=center
sub-align-y=bottom
sub-margin-y=3

glsl-shader="C:\Users\musta\AppData\Roaming\mpv\Shaders\KrigBilateral.glsl"

profile-desc=cond:get('height', 0) < 1440
glsl-shader="C:\Users\musta\AppData\Roaming\mpv\Shaders\FSRCNNX_x2_8-0-4-1.glsl"
glsl-shader="C:\Users\musta\AppData\Roaming\mpv\Shaders\SSimDownscaler.glsl"

4 (edited by Blackfyre 08-11-2019 11:35:16)

Re: 3rd Gen AMD Ryzen Threadripper

I believe it's working even though in the picture it says it's running at 24FPS, SVP is actually working and it is doing 48FPS (framerate x2) I believe from the test I done.

EDIT: Picture of stats:

https://i.imgur.com/8OZduoz.jpg

Re: 3rd Gen AMD Ryzen Threadripper

Blackfyre
> do I need to do any changes in my config below for 10Bit HDR playback?
> gpu-api=vulkan
> gpu-context=winvk

it only works with gpu-api=d3d11 and the latest mpv build (shinchiro's 20191102 or today's SVP update)

and turn on HDR in Windows display settings first!

Re: 3rd Gen AMD Ryzen Threadripper

Chainik wrote:

Blackfyre
> do I need to do any changes in my config below for 10Bit HDR playback?
> gpu-api=vulkan
> gpu-context=winvk

it only works with gpu-api=d3d11 and the latest mpv build (shinchiro's 20191102 or today's SVP update)

and turn on HDR in Windows display settings first!

Thank you for the fast response, I will backup my configuration and give it a test later. Damn, vulkan had the best performance for me. Hopefully DX11 works well too now, it has been a long time since I have tried it.

Re: 3rd Gen AMD Ryzen Threadripper

>>1. VLC is limited to 3x FRC rate, so ~72 fps is the max

So, technically 144Hz monitor could be used OK but 120Hz are not that preferable.

Re: 3rd Gen AMD Ryzen Threadripper

Chainik wrote:

> TR 3970X and TR 3960X.

I believe it's like 2-3 times overkill. 12-core 3900x is more than enough, even 3700x is quite good I suppose.

More important you just can't play HDR content in HDR mode at 120 Hz, because:
1. VLC is limited to 3x FRC rate, so ~72 fps is the max
2. mpv currently can't render in HDR mode so it'll always do 8-bit tone mapping
3. DirectShow players will always loose both precision and dynamic HDR data because of ffdshow

===
UPDATE: it turns out that mpv CAN finally render in HDR mode after October 30 commit big_smile
So it's now the best choice for HDR content playback.


Chainik, thanks for your answer.

It's great news that mpv CAN finally render in HDR mode! That's another reason for me that now is the right time to build a new HTPC to SVP!

Yes, a 12-core 3900x may indeed be enough with its capabilities on a typical PC. So, I will explain 2 main reasons why I decided to build a new HTPC based on Ryzen Threadripper.

Reason 1

I'm going to build the strongest possible fanless HTPC. With such cooling the most important thing is the ratio of CPU power to heat dissipated. In such a case it is best to buy a stronger processor and subject it to underclocking and undervolting than a weaker one, which will be overclocked. This gives a higher efficiency. Of course, provided that the software can use multiple CPU cores and SVP is such a software. The question is, how many cores and threads can be used?

Additionally, Ryzen Threadripper has chiplets far apart from each other and a huge heat dissipation surface in comparison to Ryzen 9. That is why in my construction the choice was made by Ryzen Threadripper.

The fanless case I'm going to use for my HTPC has the ability to dissipate 250W of heat from CPU and GPU combined. Using Ryzen Threadripper I think I will be able to dissipate 300-350W of heat from CPU and GPU combined. Of course I'll still have to use some kind of underclocking and undervolting.

Therefore I agree that the TR 3970X and TR 3960X with full capabilities and 280W TDP can be overkill, but I probably won't even be able to use the full base clock capabilities. However, thanks to this my HTPC will be completely quiet and future-proof.

9 (edited by UHD 09-11-2019 00:28:08)

Re: 3rd Gen AMD Ryzen Threadripper

Reason 2

After reading the following 2 posts from this thread: https://www.svp-team.com/forum/viewtopi … 95&p=2 I think that quad-channel memory is the minimum for the most demanding situations, and the last quote may even indicate that octa-channel memory could also be useful:

snow8161 wrote:

I found that memory frequency also very important on 4k 10bit。
with 2133mhz svp index only 0.8 with a lot drop frame, not smooth.
with 2400 mhz smooth on nvdec-copy decoder.
with 3000 mhz smooth on d3d11-copy decoder

mpv player,6950x cpu,1660 ti gpu,16g ram


kathampy wrote:

I'm running quad-channel 4 x 8 GB 4000 MHz C17 so memory bandwidth is not a problem. The CPU usage stays the same as 8-bit at around 14%, but 10-bit stutters severely.

Chainik, could you comment on the above quotes and give some information as SVP developer about the impact that the number of channels and memory speed can have on smooth playback (SVP) of 4K 10bit HDR movies on a 4K 144Hz monitor? Also could you write if SVP has any limitations as to the number of CPU threads it can support in parallel, please?

10

Re: 3rd Gen AMD Ryzen Threadripper

Blackfyre wrote:

I will backup my configuration and give it a test later. Damn, vulkan had the best performance for me. Hopefully DX11 works well too now, it has been a long time since I have tried it.

Blackfyre, your MPV configuration is famous in this forum and seems to be the gold standard to which all others are compared: https://www.svp-team.com/forum/viewtopi … 95&p=2
I would be very grateful if you could share your test results on this thread.

11

Re: 3rd Gen AMD Ryzen Threadripper

James D wrote:

>>1. VLC is limited to 3x FRC rate, so ~72 fps is the max

So, technically 144Hz monitor could be used OK but 120Hz are not that preferable.

Thanks. I really like VLC, because unlike mpv it can properly display menus from DVD and BR. However, I am a little concerned about the quote from this thread: https://www.svp-team.com/forum/viewtopi … 98&p=5


Chainik wrote:

Another update - rev.170 - makes VLC+SVP finally usable wink

Still 4K performance is not so good as it could be...

Can somebody tell me what the problem is after the last update of VLC?

Re: 3rd Gen AMD Ryzen Threadripper

UHD wrote:
Blackfyre wrote:

I will backup my configuration and give it a test later. Damn, vulkan had the best performance for me. Hopefully DX11 works well too now, it has been a long time since I have tried it.

Blackfyre, your MPV configuration is famous in this forum and seems to be the gold standard to which all others are compared: https://www.svp-team.com/forum/viewtopi … 95&p=2
I would be very grateful if you could share your test results on this thread.

Thanks, I am testing new settings with DX11. Safe to say though that even with vulkan, do not use "video-latency-hacks=yes" from the above list I posted. I was testing it for a short time, massive frame drops with upscaled content, for example 1080p to 4K. I try to read through mpv changelogs every time a new version is released and see what new changes are made and what new options that have been added to add to my personal settings. Every few months I post my settings here.

Based on my testing yesterday, I still prefer on my TV to use vulkan for watching 4K HDR content (even though it's being converted to SDR, the colour retention and highlight details in high contrast areas seems to be done better with vulkan conversion, than with my TV processing HDR content, if I had an OLED screen or a high end QLED TV, then yeah colour reproduction & contrast will be done brilliantly on the TV side). But with the mid-range TV's like mine, I still prefer vulkan. I will do more testing with DX11, but as of right now here are my latest settings below:

ontop
audio-exclusive=yes

demuxer-thread=yes

vo=gpu
profile=gpu-hq
fbo-format=rgba16hf
gpu-api=vulkan
gpu-context=winvk
hwdec=nvdec-copy
spirv-compiler=shaderc

vd-lavc-dr=yes
vulkan-async-transfer
vulkan-async-compute
vulkan-swap-mode=fifo

volume-max=100

tone-mapping=hable
hdr-compute-peak=yes

scale=ewa_lanczossharp
cscale=ewa_lanczossharp
dscale=ewa_lanczossharp
dither-depth=auto
correct-downscaling=yes
sigmoid-upscaling=yes

deband=yes
deband-iterations=4
deband-threshold=50
deband-range=16
deband-grain=48

sub-ass-shaper=complex
sub-font-size=35
sub-scale-by-window=yes
sub-pos=100
sub-align-x=center
sub-align-y=bottom
sub-margin-y=3

glsl-shader="C:\Users\YourUsernameHere\AppData\Roaming\mpv\Shaders\KrigBilateral.glsl"

profile-desc=cond:get('height', 0) < 1440
glsl-shader="C:\Users\YourUsernameHere\AppData\Roaming\mpv\Shaders\FSRCNNX_x2_8-0-4-1.glsl"
glsl-shader="C:\Users\YourUsernameHere\AppData\Roaming\mpv\Shaders\SSimDownscaler.glsl"

I create a Shaders folder where mpv configuration is located and place the shaders above in it. They can be found here:

FSRCNNX_x2_8-0-4-1.glsl
https://github.com/igv/FSRCNN-TensorFlow/releases

SSimDownscaler.glsl AND KrigBilateral.glsl
https://gist.github.com/igv

Re: 3rd Gen AMD Ryzen Threadripper

UHD
> Can somebody tell me what the problem is after the last update of VLC?

1. it only works well with a software decoder (and decoding of 4K HEVC is rather demanding)
2. VLC's filter chain is single-threaded so the overall performance is somehow limited by a single-threaded CPU performance. BTW this was also the case for mpv before the last year (single-threaded output frames copying).

So mpv is much better in terms of performance and flexibility.

> about the impact that the number of channels and memory speed can have on smooth playback (SVP) of 4K 10bit HDR movies on a 4K 144Hz monitor?

I know that 4K/10-bit in mpv works on mine Ryzen 1700 @3500 MHz at ~2800 memory speed. Not with the highest settings though, but I don't thing the "highest" (i.e. "half-pixel mode") is even needed for 4K.

Re: 3rd Gen AMD Ryzen Threadripper

Blackfyre
> I still prefer on my TV to use vulkan for watching 4K HDR content

have you compared it with 1) built-in TV video player, 2) madVR (*) ?

(*) btw there's a trick for using madVR's HDR output even in 8-bit mode with ffdshow enabled: rename video file, insert ".hdr=on." tag somewhere in the middle. For example, "The.Movie.2019.mkv" -> "The.Movie.2019.hdr=on.mkv"

Re: 3rd Gen AMD Ryzen Threadripper

Chainik wrote:

Blackfyre
> I still prefer on my TV to use vulkan for watching 4K HDR content

have you compared it with 1) built-in TV video player, 2) madVR (*) ?

(*) btw there's a trick for using madVR's HDR output even in 8-bit mode with ffdshow enabled: rename video file, insert ".hdr=on." tag somewhere in the middle. For example, "The.Movie.2019.mkv" -> "The.Movie.2019.hdr=on.mkv"

I have used the built-in TV player in the past to test HDR content, back when SVP didn't support HDR.

It's the Sony KD-43X8000D, it's a VA Panel unlike the larger sizes so the dark scenes on it look good. But its motion interpolation is not great, unlike the higher end models, and peak brightness on it is 400 Nits, so HDR content on it doesn't look as great as higher end models I have seen and watched content on that have a peak brightness of 1000+

However with MPV and the tone-mapping setting chosen and those shaders, HDR content converted to SDR look great!

TV Colour Space setting is always set to BT.2020
nVidia Control Panel I change colour format to YCbCr422 and colour depth to 10bpc
MPV settings are as shown above, this yields the best picture quality possible, sharpness, colour reproduction, and contrast ratio.

There is only one issue. With 4K HDR content every 10 to 15 minutes, at random places in any 4K HDR video, I drop 15 to 20 frames for like one second and it goes back to normal. It's not related to the scene, when I rewind to check the scene again there is no issue, just a small spike in CPU usage. I reported it a while ago. The only fix I found is setting Processing Threads to 40 in ALL Settings. This makes it drop only 1 frame when that spike happens instead of 15 or 20, so barely noticeable.

16 (edited by UHD 09-11-2019 15:42:31)

Re: 3rd Gen AMD Ryzen Threadripper

Chainik wrote:

1. it only works well with a software decoder (and decoding of 4K HEVC is rather demanding)
2. VLC's filter chain is single-threaded so the overall performance is somehow limited by a single-threaded CPU performance. BTW this was also the case for mpv before the last year (single-threaded output frames copying).

So mpv is much better in terms of performance and flexibility.

Thank you! Now everything is clear to me about VLC. With my planned HTPC configuration it turns out that only mpv will be reasonable solution. At least until VLC developers introduce multithreading.

17

Re: 3rd Gen AMD Ryzen Threadripper

Chainik wrote:

I know that 4K/10-bit in mpv works on mine Ryzen 1700 @3500 MHz at ~2800 memory speed. Not with the highest settings though, but I don't thing the "highest" (i.e. "half-pixel mode") is even needed for 4K.

Thanks, but the most important thing is missing here: on which monitor/TV do you watch 4K/10-bit HDR movies and do you use x2 (48Hz), 60Hz, x3 (72Hz) or maybe x5 (120Hz) interpolation?

I also still haven't received any answer to my question: how many CPU threads can SVP with mpv support in parallel?

18

Re: 3rd Gen AMD Ryzen Threadripper

Blackfyre wrote:

I will do more testing with DX11

Please, keep sharing your experience on this forum. I hope you will finally find the settings with DX11 and HDR output that will satisfy your needs.

Unfortunately my current PC doesn't allow me to smoothly play 1080p movies even without SVP, so I don't have a chance to test the settings you're giving.

From what I read here, mpv is currently the only solution to get the most out of 4K 10bit HDR movies on 4K 144Hz monitors using SVP. Therefore, I will keep an eye on your settings and when I'm ready with my planned HTPC, these settings will be the base for my mpv configuration. Thanks for helping others on this forum and sharing your experiences.

Re: 3rd Gen AMD Ryzen Threadripper

UHD wrote:

I also still haven't received any answer to my question: how many CPU threads can SVP with mpv support in parallel?

If you right click SVP the maximum threads in the options is 21, however if you go on additional options, then click ALL Settings. You can scroll down and change "threads" to however many you want manually. But I am not sure if there is an actual limit on the back-end of operations. Wait for Chainik to answer that question.

Also possible that it hasn't been tested beyond a certain amount of threads, so the answer is unknown. For example if the maximum they have tested is on a 24 core (48 thread) processor and it works fine and utilises all, but if you go beyond that, it's unknown territory and it should theoretically work, but who knows? Maybe not. I am just guessing here. The option however to change thread count to any number you want is available in All Settings.

Re: 3rd Gen AMD Ryzen Threadripper

UHD wrote:
Blackfyre wrote:

I will do more testing with DX11

Please, keep sharing your experience on this forum. I hope you will finally find the settings with DX11 and HDR output that will satisfy your needs.

It should work now with MPV yes, as discussed above.

So from my configuration, the only thing that needs to be changed is:

gpu-api=vulkan
gpu-context=winvk

TO:

gpu-api=d3d11
gpu-context=auto

21 (edited by UHD 09-11-2019 17:27:22)

Re: 3rd Gen AMD Ryzen Threadripper

Blackfyre wrote:

If you right click SVP the maximum threads in the options is 21, however if you go on additional options, then click ALL Settings. You can scroll down and change "threads" to however many you want manually. But I am not sure if there is an actual limit on the back-end of operations. Wait for Chainik to answer that question.

Also possible that it hasn't been tested beyond a certain amount of threads, so the answer is unknown. For example if the maximum they have tested is on a 24 core (48 thread) processor and it works fine and utilises all, but if you go beyond that, it's unknown territory and it should theoretically work, but who knows? Maybe not. I am just guessing here. The option however to change thread count to any number you want is available in All Settings.


Thanks for the settings information, I'm sure it'll come in handy.

Yes, these two bolded are the two things that interest me the most. The first one can only be answered by Chainik. On the second one, maybe there are also SVP users who are currently using HEDT CPUs, hence my thread.

22 (edited by UHD 09-11-2019 17:54:13)

Re: 3rd Gen AMD Ryzen Threadripper

Blackfyre wrote:

It should work now with MPV yes, as discussed above.

So from my configuration, the only thing that needs to be changed is:

gpu-api=vulkan
gpu-context=winvk

TO:

gpu-api=d3d11
gpu-context=auto


Blackfyre wrote:

But with the mid-range TV's like mine, I still prefer vulkan.

I was hoping that it would not only work for you, but also that it would work better than vulkan, due to true HDR processing and output. That's why the settings are changed - to make it better :-)

Re: 3rd Gen AMD Ryzen Threadripper

But don't worry in your case if you get one of those listed TV's above that are high-end TV's. You will notice the difference. My TV's maximum brightness is 400 Nits, so even when HDR works the difference wouldn't be as noticeable. The panel itself is decent, but nowhere near the TV's you listed above.

Re: 3rd Gen AMD Ryzen Threadripper

Changed the settings below for 4K HDR using DX11. Removed "on top" because full-screen exclusive mode does not work with DX11 (which is a shame), unlike Vulkan. Removed my subtitles setting, since that's just my preference wanting subs in the black bars below.

I'll continue testing tomorrow and see if any other settings can be changed.

audio-exclusive=yes

demuxer-thread=yes
vo=gpu
profile=gpu-hq
fbo-format=rgba16hf
gpu-api=d3d11
gpu-context=d3d11
hwdec=d3d11va-copy
spirv-compiler=shaderc

volume-max=100

tone-mapping=hable
hdr-compute-peak=yes

scale=ewa_lanczossharp
cscale=ewa_lanczossharp
dscale=ewa_lanczossharp
dither-depth=auto
correct-downscaling=yes
sigmoid-upscaling=yes

deband=yes
deband-iterations=4
deband-threshold=50
deband-range=16
deband-grain=48

glsl-shader="C:\Users\YourUsernameHere\AppData\Roaming\mpv\Shaders\KrigBilateral.glsl"

profile-desc=cond:get('height', 0) < 1440
glsl-shader="C:\Users\YourUsernameHere\AppData\Roaming\mpv\Shaders\FSRCNNX_x2_8-0-4-1.glsl"
glsl-shader="C:\Users\YourUsernameHere\AppData\Roaming\mpv\Shaders\SSimDownscaler.glsl"

25 (edited by UHD 09-11-2019 22:00:24)

Re: 3rd Gen AMD Ryzen Threadripper

Blackfyre wrote:

But don't worry in your case if you get one of those listed TV's above that are high-end TV's. You will notice the difference. My TV's maximum brightness is 400 Nits, so even when HDR works the difference wouldn't be as noticeable. The panel itself is decent, but nowhere near the TV's you listed above.


HDR should always look better when we have a range of 1000 nits than 400 nits on a monitor or TV. In your case, the quality of the new mpv version with HDR output should be at least the same as the previous one with vulkan, if not better. However, this only proves how well you had worked out the tone-mapping setting and those shaders. You've probably pulled out everything you can from your TV.

However, the 7 models that I gave in the first post are not TV but ordinary PC monitors. Well maybe not quite ordinary... It's hard to believe what progress has been made in the field of monitors: we finally have a large selection of 4K monitors accepting 120Hz/144Hz signal from a computer and as big as TV.

That's why I listed all the models I know, because they're all perfect for watching movies with PC/HTPC with SVP. What makes them different from typical TV is that they should have a DP port and be G-Sync compatible.

Additionally for me an important aspect that is in favor of a large format monitor instead of TV is the fact that they have a flicker-free backlight and some of them also have a matte (anti-glare) screen.

For me the ideal monitor is:

1. 4K
2. 16:9
3. accepting 4K 144Hz or 4K 120Hz signal
4. more than 40 inches
5. flat (non-curved)
6. with DP 1.4 port
7. G-Sync or G-Sync Compatible
8. HDR 1000
9. with flicker-free backlight
10. with matte (anti-glare) screen

OK, almost perfect, because the perfect one would be based on micro-leds.
In any case, all these requirements are not met by any TV.
However, a monitor with such requirements can be found.