From my point of view, I'm willing to work with any media player developer who's interested in integrating madVR. I'm even willing to add custom interfaces to madVR, if that's necessary. What I'm not willing to do is totally change the way madVR works (e.g. letting the media player take over D3D presentation) because that would result in major losses in madVR functionality/benefits.
madVR is not really feature complete yet. I've still lots of things on my to do list, and I'm sinking a *lot* of manpower into it. So it's a question worth asking if every media player should reinvent the wheel to try to match what I've done (and what I'll be adding in the future). Of course it's very possible to match or even exceed madVR with a different implementation, but it would require tons of effort, if I may say so. I don't think anybody has any idea how much time I've already spent on this project. Although admittedly a big chunk of my time went into achieving max compatability with all the different decoders and media players etc out there. So writing a renderer just for one media player and just some specific decoders would save quite a bit of time. Anyway, even after all the time I spent, madVR still only just includes the most basic algorithms at the moment. I'm still mainly working on adding all the missing features. Only afterwards I'll spend more time on improving image quality. But still, recently I've added anti-ringing scaling and Jinc resampling, both of which are IMHO better than what any other renderer (that I know of) can currently do, unless you use AviSynth to perform processing outside of the renderer. But again: Of course it's possible to match or exceed what I've done and what I'll do in the future, it will just require a lot of work.
How in depth was your research? If you just try to achieve the same scaling quality that madVR offers, that should be quite doable (although you'd have to figure out how to do anti-ringing scaling and Jinc resampling). But that's just one of very many things madVR offers. There are a lot of things that cost a lot of time to implement properly, which may not be obvious on a quick check. E.g. do you plan to do chroma upsampling and color conversion yourself (instead of letting the GPU do that)? If you want to support DXVA2 deinterlacing (or DXVA2 decoding or DXVA2 scaling) at the same time, you've got a problem, because DXVA2 outputs NV12 surfaces, and pixel shaders can't access those. This is just one example of hidden problems, of course. Another example: Do you plan to support IVTC (playing DVD movies or 60i broadcasted movies at 24Hz refresh rate)? DXVA2 can't do that. I've written a full blown IVTC algorithm with automatic cadence detection for PAL, NTSC, Anime etc to make this work with madVR. How about monitor management (automatically detecting different monitor via EDID, allowing different settings per monitor etc)? Not difficult to do, but costs development time, too. How about 3D presentation? For win7, you'll need to support 3 different APIs, because ATI, NVidia and Intel all have their own custom solutions. This all costs a lot of time to implement and test. Does it really make sense for every media player to do the same work all over again?
It's all your decision, of course, and I don't mind much either way. But of course I'm happy if media player devs decide to add support for madVR.
madVR is not really feature complete yet. I've still lots of things on my to do list, and I'm sinking a *lot* of manpower into it. So it's a question worth asking if every media player should reinvent the wheel to try to match what I've done (and what I'll be adding in the future). Of course it's very possible to match or even exceed madVR with a different implementation, but it would require tons of effort, if I may say so. I don't think anybody has any idea how much time I've already spent on this project. Although admittedly a big chunk of my time went into achieving max compatability with all the different decoders and media players etc out there. So writing a renderer just for one media player and just some specific decoders would save quite a bit of time. Anyway, even after all the time I spent, madVR still only just includes the most basic algorithms at the moment. I'm still mainly working on adding all the missing features. Only afterwards I'll spend more time on improving image quality. But still, recently I've added anti-ringing scaling and Jinc resampling, both of which are IMHO better than what any other renderer (that I know of) can currently do, unless you use AviSynth to perform processing outside of the renderer. But again: Of course it's possible to match or exceed what I've done and what I'll do in the future, it will just require a lot of work.
The bottom line was that switching to/supporting MadVR is more work than it's worth. Actually we do not gain anything from a switch, because what madvr can we we can also do on our own without to rely on 3rd party code.
How in depth was your research? If you just try to achieve the same scaling quality that madVR offers, that should be quite doable (although you'd have to figure out how to do anti-ringing scaling and Jinc resampling). But that's just one of very many things madVR offers. There are a lot of things that cost a lot of time to implement properly, which may not be obvious on a quick check. E.g. do you plan to do chroma upsampling and color conversion yourself (instead of letting the GPU do that)? If you want to support DXVA2 deinterlacing (or DXVA2 decoding or DXVA2 scaling) at the same time, you've got a problem, because DXVA2 outputs NV12 surfaces, and pixel shaders can't access those. This is just one example of hidden problems, of course. Another example: Do you plan to support IVTC (playing DVD movies or 60i broadcasted movies at 24Hz refresh rate)? DXVA2 can't do that. I've written a full blown IVTC algorithm with automatic cadence detection for PAL, NTSC, Anime etc to make this work with madVR. How about monitor management (automatically detecting different monitor via EDID, allowing different settings per monitor etc)? Not difficult to do, but costs development time, too. How about 3D presentation? For win7, you'll need to support 3 different APIs, because ATI, NVidia and Intel all have their own custom solutions. This all costs a lot of time to implement and test. Does it really make sense for every media player to do the same work all over again?
It's all your decision, of course, and I don't mind much either way. But of course I'm happy if media player devs decide to add support for madVR.