victhor393
Posts: 4
Joined: Tue Jan 31, 2012 10:35 pm

Re: Codecs

Wed Feb 01, 2012 10:26 am

I had an idea that could help solving the codec issue. It consists of some sort of API, a compiler, and some mechanism on the GPU firmware that allows it to load modules. One would build codec modules with this API, compile it, and place the modules on the SD card. After being initialised, the GPU would look for codec modules, and, if present, would load them. This sounds like a lot of work, also rather uneconomical to implement, so I suppose this won't be done, but it seemed like a good idea so I decided to have a go at posting it here.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 24934
Joined: Sat Jul 30, 2011 7:41 pm

Re: Codecs

Wed Feb 01, 2012 10:49 am

victhor393 said:


I had an idea that could help solving the codec issue. It consists of some sort of API, a compiler, and some mechanism on the GPU firmware that allows it to load modules. One would build codec modules with this API, compile it, and place the modules on the SD card. After being initialised, the GPU would look for codec modules, and, if present, would load them. This sounds like a lot of work, also rather uneconomical to implement, so I suppose this won't be done, but it seemed like a good idea so I decided to have a go at posting it here.


Pretty much what is done anyway on mobile devices using the Videocore - the codecs are components (like DLL's) which the GPU can load. In the Raspi case, these components are statically linked to the GPU binary blob.

A big problem is that codecs are really really difficult to write. You cannot just port an existing one you have the source for - it won't be fast enough. You need to rewrite it to utilise the capabilities of the GPU. Vector code, hardware blocks etc. All this has already been done for most codecs. The only issue is licencing them.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I own the world’s worst thesaurus. Not only is it awful, it’s awful."

Return to “General discussion”