Giter Club home page Giter Club logo

videorenderer's Introduction

MPC Video Renderer

MPC Video Renderer is a free and open-source video renderer for DirectShow. The renderer can potentially work with any DirectShow player, but full support is available only in the MPC-BE. Recommended MPC-BE 1.6.8.24 or newer.

Key features

  • Can work with DXVA2 and Direct3D 11 hardware decoder.
  • DVXA2 and Direct3D11 Video Processor with hardware de-interlacing for NV12, YUY2, P010 formats.
  • Shader video processor for various YUV, RGB and grayscale formats.
  • Various frame resizing algorithms, including Super Resolution.
  • Subtitle and OSD display.
  • Rotation and flip of the video frame.
  • Dithering when the final color depth is reduced from 10/16 bits to 8 bits.
  • HDR video support (HDR10, HLG and partially Dolby Vision).
  • Automatic HDR to SDR conversion.
  • Transferring HDR10 data to the display.

Minimum system requirements

  • An SSE2-capable CPU
  • Windows 7¹ or newer
  • DirectX 9.0c video card

¹For Windows 7, you must have D3DCompiler_47.dll file. It can be installed via update KB4019990.

Recommended system requirements

  • An SSE2-capable CPU
  • Windows 10 or newer
  • DirectX 10/11 video card

License

MPC Video Renderer's code is licensed under [GPL v3].

Links

Nightly builds - https://yadi.sk/d/X0EVMKP4TcmnHQ

Topic in MPC-BE forum (Russian) - https://mpc-be.org/forum/index.php?topic=381

MPC-BE - https://sourceforge.net/projects/mpcbe/

Donate

https://mpc-be.org/forum/index.php?topic=240

videorenderer's People

Contributors

adipose avatar aleksoid1978 avatar clsid2 avatar emoose avatar kg7x avatar v0lt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

videorenderer's Issues

RTX HDR not working for alot of X265 videos

Most of my X265 videos are not working with RTX HDR, using the mod version or nvidia control panel driver doesnt seem to matter.

I think i have a few X265 work with it, but most of the X265 don't seem to work for me. Anyone had similiar results? It just wont trigger it.

Nvidia Super Resolution Inactive after installation + solution to my problem (convert 1080p to 2160p + SVP running at 60fps RIFE ncnn/Vulcan Generic 4.4)

Hey there, I wanted to install your code (latest MPC-BE) and had the following problem:

Nvidia Super Resolution only worked in web browser. Status was inactive when using mpc-hc. I installed MPC-BE. Same issue.

I did the following recommended settings:
Open View -> Options main menu item.
Open Video section, set Video to MPC Video Renderer
Open Internal Filters section, go to Video Decoders, click Video decoder configuration, set Preferred decoder to D3D11cb
Open External Filters section.
Click Add Filter... then select VapourSynth (or AviSynth) Filter in the list and press OK.
Select VapourSynth (or AviSynth) Filter and set Prefer mode then click OK.

Okay, didn't help, so i found the following option that solved the issue:
Open View -> Options -> video section -> click on the settings button of the MPC Video Renderer -> activate "use for resizing" and set "request for Super resolution" to you prefered video resolution limiter, which in my case was "smaller or same as fullHD"

This worked for me for VapourSynth Filter and AviSynth Filter...

RTX HDR does not work with `.ts` container

RTX Super Resolution works fine but RTX HDR somehow does not work with a video.ts. RTX HDR status is shown as Inactive in NVIDIA Control Panel during playback. I remuxed the same video into .mp4 using

$ ffmpeg -i video.ts -c copy video.mp4

and RTX HDR magically works.

Skin tones appear red in SDR>HDR conversion, and there's more grain

I've seen this in shows like True Detective and Boardwalk Empire when using this HDR conversion, but I'm not sure if it's down to the MPC renderer or Nvidia's HDR conversion itself.

Skin tones seem more red in HDR, whereas there is no red tinge in SDR. It's subtle but it's there, seems to ruin color accuracy somewhat. There is also noticeably more film grain in the sky/brighter areas of the screen that don't have much detail.

I was using madvr prior to this so not sure if I should set any specific settings for the renderer. The display is LG C1.

Disable D3D11 Native automatically when needed

You can do that by not exposing ID3D11DecoderConfiguration interface in CVideoRendererInputPin::NonDelegatingQueryInterface().

I would advice to first add an option for RTXAutoHDR in the settings GUI, so Native mode only gets disabled when really needed. Based on MediaType info you have at that point you should also be able to determine cases where AutoHDR won't get used, such as video already being 10-bit (HDR), again to avoid disabling it unnecessarily.

This way users don't need to mess with LAV Filters settings, and copyback mode is only forced when RTXAutoHDR option is enabled.

You should also add m_VendorId == PCIV_NVIDIA check in your code when determining if AutoHDR should be used. That to avoid unneeded re-init on unsupported systems.

Edit: When Native mode is active, the decoder calls CVideoRendererInputPin::ActivateD3D11Decoding() which in turn calls CDX11VideoProcessor::SetDevice(). Maybe that helps you in figuring out why AutoHDR doesn't work with Native mode.

Codec question for capture cards w/VSR

Is there any way VSR support could work with RGB24 content? I think a really cool use case for this would be to upscale 1080p video from say a Nintendo Switch to higher resolutions, but it seems VSR only activates in NV12 or YUY2 for me, which degrades color.

AutoHDR

I'm using SDR monitor and have autoHDR in Windows 11 set to OFF . When I test HDR material (DV or PQ) , autoHDR will turn on automatically and will not turn on itself for non-HDR material . Is it the expected behaviour ?

Can't get RTX Super Resolution to activate or work?

Hi, I have a desktop RTX 3060m gpu and I am unable to get rtx super resolution to work with MPC-VR RTX HDR 1.2 in MPC-BE latest version 1.7.0 or the previous version.

Using portable versions I am of mpc-be x64

I have nvidia driver 552.22 DCH

Monitor is Acer XFA240 resolution is DSR 2560x1440 on hdmi at 120hz

RTX Super Resolution is checked and set at auto but not working and INACTIVE

No HDR 10 display available

I tried to use combinations of lav filters and ffdshow but not working ffdshow is outputting NV12.

I have tried various types of video files and they are sd or hd various sizes. I can't even get microsoft edge browser youtube videos to work either.

Please see screenshots to see if I need to enable or disable anything thanks in advance.

2024-05-02 11_14_23-New Issue · emoose_VideoRenderer - Profile 1 - Microsoft​ Edge

RTX Video HDR Overbright Issue

When use the RTX Video HDR , some area will get overbright . Is it afftect by default 1000 nits ? Wonder how I can fix it? or

With RTX Video HDR
2

Without RTX Video HDR
IMG_6669 (1)

No working

I tried to follow the tutorial on how to install and everything, but nothing, it doesn't work, I don't know if it's my windows 10 operating system or the 8700k processor or the 3080 12gb gpu

the only thing that works for me is the mpv player from the anime4k tutorial, the rest doesn't work for me

Ways to enable 1080p videos with 1080p screen?

This only enables when there is upscaling needed?

RTX VSR also seems to be good to enhance videos which were poorly encoded with many encoding artefacts, including 1080p videos. However, I only have 1080p screen which is difficult to trigger RTX VSR on these videos. Currently I have to use AviSynth to resize the video to 720p to trigger the RTX VSR.

source = AvsFilterSource()
width = source.width
height = source.height

target_width = round(720.0 * float(width) / float(height))
target_height = 720

target_width = target_width + target_width % 2
target_height = target_height + target_height % 2

source = (height > 720 && height <= 1080) ? source.Spline64Resize(target_width, target_height) : source

return source

HDR will be turned off after use

I'm using Potplayer, and after using this renderer I found that it turns off my HDR, how can I fix it or is it possible to fix it?

Weird issue with HDR10 tone and Windows HDR (aka automatic color management).

Description:
I don't own HDR compatible monitor, and tried to avoid HDR movies like plague. (Conversion to SDR with passthrough makes color duller and lighting cramped, while disabling HDR turns picture into bleak nonsense).

But i do have HDR10 sample, and with that latest addition of Windows "automatic application color management" aka Windows HDR support, i finally was able too see what is that HDR huss about. It did actually work, giving HDR feel for SDR monitor in terms of brightness level allocation. And It looks more or less nice.. (question about looking for HDR sources is still open, but at least i wasn't disappointed by result, as it did change how MPC-VR interprets HDR for SDR monitor on feel. At least it did feel as if i am not actively penalized for trying to play HDR content on SDR monitor.)

But then i noticed issue.
When i play said HDR10 sample, it looks to be too yellow. Brightness is right, but color is not. I questioned it at first, but when i paused sample, it all made sense. After half a second it corrects red color to proper level. And such behaviour is specific to windowed mode. In fullscreen mode, it won't correct color at all.
If i disable Windows HDR and then continue playing, light becomes duller, but colors are correct all the time.

Now to the weird part. I can neither screenshot, nor screen record issue, because on screenshots color is correct, and when doing screen capture issue does not appear at all! Maybe i can do recording on my phone, if situation really will require it. But despite it being proper on screenshots, i see no changes in actual video when i press PrintScreen

Another, but smaller weird part is that with OBS capture issue still appears, but i unable to record it, while during ReLive capture capture issue completely disappears. Even at fullscreen!!! But, on other hand, i still cannot record this interaction due to other bug. That automatic color management causes ReLive captures of desktop and windowed applications to become darkened to great extend, as if brightness got nuked down. Probably some HDR related incompatability?

Setup:
Windows 11, 23H2, build 22631.3155
GPU: AMD RX 7800XT 16GB
Driver: AMD Adrenalin 24.2.1

------------------------
MPC-HC (Nightly, 64-bit)
------------------------

Build information:
    Version:            2.1.5.31 (0cbfa6b97)
    Compiler:           MSVC v19.29.30154
    Build date:         Feb 27 2024

LAV Filters:
    LAV Splitter:       0.78.0.3
    LAV Video:          0.78.0.3
    LAV Audio:          0.78.0.3
    FFmpeg compiler:    MinGW-w64 GCC 13.2.0

Operating system:
    Name:               Windows 11 (Build 23H2)
    Version:            10.0.22631 (64-bit)

Hardware:
    CPU:                AMD Ryzen 7 5800X3D 8-Core Processor
    GPU:                AMD Radeon RX 7800 XT (driver version: 31.0.24019.1006)

Sample MediaInfo data:

General
Unique ID                      : 114375377639820209918900717666083560922 (0x560BE57F0A02589172EA14A3FF0C5DDA)
Complete name                  : C:\Users\DimkaTsv\Videos\test sample\Test_softer.mkv
Format                         : Matroska
Format version                 : Version 4
File size                      : 1.47 GiB
Duration                       : 2 min 41 s
Overall bit rate               : 78.3 Mb/s
Frame rate                     : 23.976 FPS
Encoded date                   : 2023-06-04 19:46:28 UTC
Writing application            : mkvmerge v77.0 ('Elemental') 64-bit
Writing library                : libebml v1.4.4 + libmatroska v1.7.1

Video
ID                             : 1
Format                         : HEVC
Format/Info                    : High Efficiency Video Coding
Format profile                 : Main [email protected]@High
HDR format                     : SMPTE ST 2086, HDR10 compatible
Codec ID                       : V_MPEGH/ISO/HEVC
Duration                       : 2 min 41 s
Bit rate                       : 78.3 Mb/s
Width                          : 3 840 pixels
Height                         : 2 160 pixels
Display aspect ratio           : 16:9
Frame rate mode                : Constant
Frame rate                     : 23.976 (24000/1001) FPS
Color space                    : YUV
Chroma subsampling             : 4:2:0 (Type 2)
Bit depth                      : 10 bits
Bits/(Pixel*Frame)             : 0.394
Stream size                    : 1.47 GiB (100%)
Writing library                : ATEME Titan File 3.9.0 (4.9.0.0)        
Default                        : Yes
Forced                         : No
Color range                    : Limited
Color primaries                : BT.2020
Transfer characteristics       : PQ
Matrix coefficients            : BT.2020 non-constant
Mastering display color primar : Display P3
Mastering display luminance    : min: 0.0050 cd/m2, max: 1000 cd/m2
Maximum Content Light Level    : 845 cd/m2
Maximum Frame-Average Light Le : 196 cd/m2

=============================

Did additional testing. If i slow down playback to 0.5x, or slower, MPC-VR will present proper colors in windowed mode all the time. But still won't do it in fullscreen mode.
Unless i enable ReLive (and specifically ReLive) screen capture. Then color is correct even in fullscreen mode.

Screenshots of HDR videos are desaturated

I'm using MPC-BE, when I take a screenshot of an HDR video (using alt+i), the screenshots come out desaturated. The screenshot looks like how the video looks if the HDR "passthrough to display" setting is off. Is there a setting I should change or is this normal?

VSR doesn't activate on Capture Card content

This may be intentional but worth a try. I have a PS5 connected to a capture card, outputting at 1080p60 SDR. On normal videos on HPC-BE, it works a treat. But if I play the capture card's output via File -> Open Device... VSR doesn't seem to activate. "Nvidia-VSR-Requested" still shows up, too.

[solved]When playing certain videos in full screen, the rendered frame rate is 1/2 the screen refresh rate

I installed the latest releases rtx 1.1, played video with potplayer latest version, and used MPC video renderer.

My graphics card is 3070 laptop with driver version 531.41.

The monitor is 2560x1440, 75 Hz.

When I play any 1080p 60 FPS video, if I play it full screen (with VSR enabled), the rendered frame rate becomes 37.5. (Normal 60 Hz for windowed playback)

Videos at some resolutions are fine, for example an 854x480 60 FPS video will play normally full screen.


Also I noticed that when playing the same video full screen, the GPU 3D usage is 60% when using Potplayer, but 90% in the browser. It's not clear to me if this is the cause of this problem.

Screenshot of the problem:
20230330_235754

Normal screenshot: (windowed)
20230330_235821

Ram fills up

Ram fills up when playing 1080p videos on 2560*1600 screen. At whatever quality setting. Device: Laptop with 32GB and 3070 gpu

HDR not compatible with SVP frame interpolation

Appears that I can only use SVP frame interpolation OR Nvidia HDR, but can't get both to work together. Is it possible? That would finally be the best of all worlds for upscaling older video (in my opinion).

Cannot install with admin privilages

Installation failed.
You need to right click "Install_MPCVR_64.cmd" and choose "run as admin".

I did run as admin :(
On windows 11, tried safe mode as well

naming

Is it possible you rename this renderer as im using the aleksoid1978 one for hdr movies but would like to try this out aswell
having choice in the player would be better ie madvr this or aleksoid vs constantly register/unregister.

Thanks in advance.

add RTX video enhancement HDR to MPC video renderer.

RTX video enhancement HDR was added to driver version 551.23. It's an AI powered feature just like super resolution.
It can be enabled on the nvidia control panel and it needs requesting the feature from the renderer.

https://blogs.nvidia.com/blog/rtx-video-hdr-remix-studio-driver/
https://www.tomshardware.com/pc-components/gpu-drivers/nvidia-adds-ai-powered-sdr-to-hdr-video-enhancement-to-its-latest-drivers-rtx-video-hdr-now-available-for-all-rtx-owners

Doesn't work

I have a ryzen 9 7900x3d and a RTX 4070, follow the instructions of the last release and try to use with MPC-BE but it does nothing: no scaling at all (of course I tried the different quality options of super resolution on NVIDIA control panel). I have installed the latest nvidia drivers at today: 546.01.

Tone mapping for SDR displays?

I'm having trouble getting x265 video to play properly. Video is super dark and colors are washed out. Also forces my windows into HDR mode when I play the video. Convert to SDR is already on, just looks really bad.

Few questions for the videorender for RTX super res

Is there a specific mpc hc release/fork that is needed for the plugin to work as intended?
Will any video aspect ratio work provided it's minimum 360p?
Which fork of mpc hc has it embedded already to test with a "preconfigured" mpc hc?

And lastly, will mpc hc with rtx super res playing something show "inactive" rtx super res usage in nvidia control panel regardless if it's working or not? Just to make sure i can see a indication if it's active or not.

Subtitles are extremely bright

Subtitles are treated as 100% brightness, which can be blinding on HDR displays. White and yellow subtitles in particular display at the screen's full brightness. Subtitle styles can sometimes be manually adjusted as a temporary workaround, but doing this before each time watching a video can be annoying. Some video subtitles are hard-coded and can't be modified, these always display at very high brightness, which again can be very distracting.

As there is already a subtitle brightness slider on this version of the renderer, I would propose that you add a couple more 'lower brightness' settings to the left side of the slider so that the issue can be systemically resolved. That seems like the easiest way to deal with this in the short term. I'd suggest 12.5% increments, from 50% brightness up to 100%, based on the gray levels I end up selecting. I'd use 'setting 1' at 62.5% brightness but I would prefer to solve this for everyone and not just me.

Thank you for your consideration,

Zack

RTX Super Resolution not working

Hello, I'm having this issue with VSR that shows that it's activated but has no visual improvements whatsoever. And the scaling is the same with it on or off.

I'm attaching the screenshots. Also, I have tried this on a normal 1080p monitor and a 3440*1440 ultrawide. Same result on both.

Screenshot 2024-06-08 153440

Screenshot 2024-06-08 153412

Here I attached screenshots of it on and off.

Color space is wrong when changing aspect ratio

It worked great until I changed the aspect ratio to 21:9 fullscreen (Video frame->Touch window from outside), The color started showing incorrectly. It's back to normal when I exit fullscreen mode. The HDR setting was turned on
Thanks for the work!

Stopped working after update to 531.41 driver

I noticed lots of aliasing on the edges of hardcoded subtitles after updated to 531.41 for my RTX 3070. This is a sign of Super Res not working properly. I rolled back to the previous 531.29 version and everything seems to work fine again. I'm using MPC-BE 1.6.6 on Windows 11 Insider Build 25324.1011 but since using older driver resolves the issue, I presume some changes in 531.41 affected the renderer.

Renderer Not use iGPU

I used CPU with iGPU + RX 6700 XT

Connect Monitor to dGPU and No monitor on iGPU : Use dGPU
Connect Monitor to iGPU : Use iGPU (It OK)
Connect Monitor to dGPU and iGPU (Dual Monitor) + Player Start from Monitor@dGPU : Use dGPU
Connect Monitor to dGPU and iGPU (Dual Monitor) + Player Start from Monitor@iGPU : Use iGPU

It seem select GPU by Player position

but I want to use Intel upscaler (It only work with iGPU)

How can i force to use iGPU only?

OS : Windows 10 x64 22H2
Player : MPC-BE v1.6.10 (Portable from portableapps)
Rederer : Lastest (1.1 23.03.02)
iGPU Driver : 31.0.101.4369
dGPU Driver : 23.9.1

rtx-1.0: Does not appear to activate rtx feature

Windows 10 22H2 19045.2604, HDR is off
Nvidia driver 531.18
GPU is RTX 4090
Display is a 4K 120Hz Monitor, HDR off

Testing Software:
Current Chrome + Youtube
MPC-BE x64 1.6.6 portable
MPC-HC x64 2.0.016 (K-Lite Codec Pack)
VLC as definitely not-optimized comparator

I found the easiest way to detect if the RTX feature is active or not is to check the GPU power draw.
There is a notable bump whenever upscaling is happening.

This is me playing a youtube video in chrome with RTX SR 4 active:
image
Power draw goes from 27W to 80W.
Rendering video without RTX SR does not increase power draw above 27W.

So i followed the instructions, but neither MPC-HC nor MPC-BE x64 1.6.6 portable show an observable difference in image quality (compared with VLC) or a bump in GPU power usage.

Here are my settings:
image

A humble request to update the renderer after VRS got updated to v1.5 in nvidia driver v545.84

Fristly, thank you very much for producing this in the first place!

I'm no dev, so I'm just guessing, but I've noticed the following after the update:

-- VRS now engages in Firefox, Edge and Chrome even if my desktop is in HDR mode (did only ever engage when in SDR in VRS v1.0)
-- VRS now engages in the mentioned browsers even at native resolution (obviously lower banding etc. is observerd when played in-browser)

The two aforementioned things are not functional in the current build of this fork of VideoRenderer. I suspect it's because (if I remember correctly) there were a number of problems getting it engaged in the first place, so code execution safeguards were implemented to prevent it from running if HDR mode is detected, and (probably) when the video file's resolution is equal to desktop resolution.

I know that probably not many people use MPC-HC or MPC-BE, but alas I was very, very happy when this renderer was made to use VRS. Perhaps I'm asking too much. I don't know -- I just do know that, if VideoRenderer could be augmented with the new v1.5 VRS functionality, It'd mean a lot! Thanks for reading! Cheers!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.