MediaPortal's EVR Scaling Algorithm (1 Viewer)

DragonQ

Portal Pro
August 30, 2011
644
79
Home Country
United Kingdom United Kingdom
Does anyone know what scaling algorithm EVR uses by default in MediaPortal? Does it use DXVA2 scaling and thus depend on your GPU? I'm guessing the answer is no since I get identical results with an nVidia GTS 250 and nVidia GT 430.

The reason I'm asking is that SD channels look pretty blocky in MediaPortal (using EVR and LAV DXVA2 Native). The same TS file looks better when playing it in MPC-HC using "EVR Custom Presenter" in "Bicubic A=-0.75" mode, so presumably that is set to use a higher quality scaling algorithm than MediaPortal's EVR implementation. I've attached some comparison screenshots - the differences in aliasing are easy to see in the text. Maybe MediaPortal's EVR is using bilinear or something?

Is there any way of changing the scaling algorithm being used, perhaps in the MediaPortal source code?
 

Attachments

  • MediaPortal EVR.png
    MediaPortal EVR.png
    194.6 KB
  • MPC-HC EVR-CP.png
    MPC-HC EVR-CP.png
    200 KB
  • MPC-HC MadVR.png
    MPC-HC MadVR.png
    739.6 KB
Last edited:

Scythe42

Retired Team Member
  • Premium Supporter
  • June 20, 2009
    2,065
    2,703
    50
    Berlin
    Home Country
    Germany Germany
    No special scaling algorithm at this moment. Just what D3D does out of the box, which should be bilinear if I am not mistaken. Pixel Shaders with specific scaling algos are on the road map.
     
    Last edited:

    DragonQ

    Portal Pro
    August 30, 2011
    644
    79
    Home Country
    United Kingdom United Kingdom
    I see. Is this "road map" viewable anywhere or is it just one of those "we plan to add it at some point in the next 10 years" kinds of things? :p
     

    DragonQ

    Portal Pro
    August 30, 2011
    644
    79
    Home Country
    United Kingdom United Kingdom
    Adding ffdshow post-processing (Lanczos 3) improves matters for progressive content but breaks deinterlacing when using LAV software decoding. Adding ffdshow post-processing (Lanczos 3) works for both progressive and interlaced content when using LAV CUDA decoding, but weird artefacts appear in the image. ffdshow post-processing also changes chroma for some reason (colours get brighter).

    Not sure if there's a fully working combination as a temporary work-around. I doubt this would work with DXVA2 either. :(
     
    Last edited:

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    The reason I'm asking is that SD channels look pretty blocky in MediaPortal

    Do you mean 'blocky' or 'jaggy' - blockiness is mostly due to the MPEG2 compression (and lack of anti-blockiing post-processing filters like H.264 has) - FFDShow 'Deband' filter can help with this, but it might make the image a bit softer.
     

    DragonQ

    Portal Pro
    August 30, 2011
    644
    79
    Home Country
    United Kingdom United Kingdom
    The reason I'm asking is that SD channels look pretty blocky in MediaPortal

    Do you mean 'blocky' or 'jaggy' - blockiness is mostly due to the MPEG2 compression (and lack of anti-blockiing post-processing filters like H.264 has) - FFDShow 'Deband' filter can help with this, but it might make the image a bit softer.
    Well aliasing is probably the technical term. This isn't to do with MPEG noise, this is to do with scaling artefacts (as you can see in the example screenshots I posted).
     
    Last edited:

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    Last edited:

    DragonQ

    Portal Pro
    August 30, 2011
    644
    79
    Home Country
    United Kingdom United Kingdom
    I had a look around MSDN - as Scythe42 suggested, it's probably bi-linear and there are no controls to change that (it basically says that in DXVA2 mode the scaling is done by the GPU, so I guess you get whatever nVidia/AMD/Intel feel like providing....)
    That's strange though because I get the same result on the two cards I said above, even though one is using DXVA2 Native and the other is using software decoding. Switching decoding modes does nothing, which makes me think that MediaPortal's EVR implementation isn't set up to use GPU scaling (which'd probably be better than bilinear in most cases).
     
    Last edited:

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    I suspect that (normally) all scaling in EVR is done by the GPU, so it probably uses the same algorithm for all modes (and bilinear is usually the 'cheapest' decent scaling method).
     

    Users who are viewing this thread

    Top Bottom