The other point AFAIK was simply that XvMC had not been broadly adopted so it probably seemed like a good time to introduce a newer API. Unfortunately VA-API, VDPAU and XvBA were independently developed at more or less the same time, so we went from zero new APIs to three new APIs fairly quickly.
It's like when you see a part of town with no hotels... everyone recognizes the opportunity at the same time so you end up with three hotels and only enough customers to fill one of them
I gave it a try. It seems to work-ish on my rs780 but not on my evergreen. There are some visual glitches but the funny part is that CPU usage is actually higher with XvMC than when using plain Xv. Only a little bit though and it doesn't really matter because mpeg2 hardly requires any CPU power to decode anyway. So Xv will do just fine for now. Wake me up when there's H.264 support .
Cool to have this! even though it's use is somewhat limited
I can understand VDPAU but do we really need MPEG2 acceleration these days? Do not modern CPUs have more than enough horse power for that?
Anyway great news.
This is a first step towards a more generic decoding solution which will be able to deal with many different codecs. ALL of these codecs need to do IDCT and motion compensation.
Anyway, modern CPUs have more than enough horsepower for HD x264 too.
Anyway, VDPAU is just a protocol. On its own, it doesn't accelerate anything. It is used by nvidia hardware to access the decoding HW on their cards. It's this decoding part that needs to be written in a generic way using shaders since we don't have the documentation for any manufacturer's decoding hardware thanks to the Hollywood mafia.
Once this is done, you can expose this functionality using VDPAU, VA-API, or any other protocol you wish.
You mean h.264? Because x264 is... an IMPLEMENTATION OF h.264. I also would be very careful about claiming that modern processors have more than enough power.... *high end* modern processors certainly do, but what about the very VERY modern processor in your PHONE? Will that also be able to do it? Blanket statements are dangerous... and not all machines are intended for maximum processing power.Anyway, modern CPUs have more than enough horsepower for HD x264 too.
My primary workhorse is a Phenom X6-1090T. It obviously has more than enough raw computational power to handle video decode. Another machine I'm in the process of gathering parts for though, FOR THE EXPLICIT PURPOSE of being part of my media center, will be running a much less powerful SEMPRON 140. Think it can handle high bitrate h.264 all on the CPU? How about if I hand off some of the work to the Radeon HD 4200, probably then, it should be able to do the job.
I'm not banking on it though, have a broadcom 970015 video decoder on the way... the mini-ITX mainboard I selected has a mini-PCIe slot for just such a device.
When you are building a complex system, do you start out and implement the entire thing all at once? Or do you break that down into a series of smaller projects? XvMC is a smaller project that implements at least PART of what is needed to ultimately provide h.264 decode assistance.
Has anyone benchmarked this?