SGX to offload video decoding ?


alastor

Still Fresh
Joined
Oct 23, 2010
Messages
42
Age
31
Hello, I don't know if it has been asked before, but I would like to ask anyway.


I have seen a number of online documents, stating that SGX can offload video decoding from the main processor. ( Well, it is not that surprising, considering that all desktop GPUs can do this. )


After googling a little bit I have found this article, which has just what I wanted to see:


http://www.pcreview....s-t2070110.html


The important quote:


"Video is a core competence of handheld graphics processors and is


increasingly a must-have feature, not just in Personal Media Player


products, but also other mobile devices. PowerVR SGX provides outstanding


image quality and frame rates, offloading video codec processing (including


MPEG-4 and H.264) from the main CPU. For video operations the host CPU load


is minimal and the PowerVR SGX part can perform motion estimation, motion


compensation and transform, residual generation, transform, quantisation,


inverse quantisation, inverse transform, image reconstruction, and


deblocking (H.264), making it possible to efficiently off load the tasks


associated with video compression/decompression from the host CPU.


"


.... Well, that's good to see on paper, but where are the actual libraries and programs that can give this ability ? Why I wasn't able to find any post suggesting to use SGX to accelerate video decoding ? Does anyone know of any software that uses SGX to offload video decoding ? ( like plug-in for Gstreamer, video out driver for Mplayer, etc )


I would appreciate to get some info about this :D Thanks
 
Last edited by a moderator:
It has partially been asked before by you:


SGX is not a video decoder. IMG wants you to buy VXD for that. SGX offers support for almost none of those listed features in fixed function hardware. While I'm sure you can get some mileage out of using its ALUs you'll probably hit a wall much sooner than you would with an optimized NEON decoder because it terms of raw computational throughput the 110MHz SGX530 has a lot less. It would also be limited by being shoehorned into OpenGL ES instead of something like OpenCL. And I'm doubtful libraries are available.


You can use SGX to perform hardware color space conversion (probably part of its TMUs) using something like this:


http://processors.wiki.ti.com/index.php/OpenGLES_Texture_Streaming_-_bc-cat_User_Guide


But like I said in my previous post you're much better off using DSS for this if you can. And of course, as far as video decoding is concerned, the best option is to use the fixed function blocks on the IVV that actually can do those things listed, but Pandora isn't configured to be able to use those binary blobs.
 
It has partially been asked before by you: http://boards.openpa...d-their-status/


SGX is not a video decoder. IMG wants you to buy VXD for that. SGX offers support for almost none of those listed features in fixed function hardware. While I'm sure you can get some mileage out of using its ALUs you'll probably hit a wall much sooner than you would with an optimized NEON decoder because it terms of raw computational throughput the 110MHz SGX530 has a lot less. It would also be limited by being shoehorned into OpenGL ES instead of something like OpenCL. And I'm doubtful libraries are available.


You can use SGX to perform hardware color space conversion (probably part of its TMUs) using something like this:


http://processors.wi...-cat_User_Guide


But like I said in my previous post you're much better off using DSS for this if you can. And of course, as far as video decoding is concerned, the best option is to use the fixed function blocks on the IVV that actually can do those things listed, but Pandora isn't configured to be able to use those binary blobs.

@Exophase:


Quick, hard-hitting statement as always. Thanks for replay


So for decoding I will still need to stick to ARMv7-a, VFP, NEON and IVA ( IVV, you meant IVA, didn't you ? ) then. No SGX. Does it mean IMG lies or is that normal in IT world ?


I knew SGX could do colour conversation ( what about hardware scaling though ? ).


Your last paragraph ... Do you mean that the best option is to use hardware decoders ( not DSP ) found on IVA2 ? ( If I am correct IVA2 and IVA3 both have DSP and hardware decoders on them. On IVA3 hardware decoders are part of IVA-HD, along with encoders. Is there something like this on IVA2 ? )


Thanks again
 
Last edited by a moderator:
Yes I meant IVA, sorry. OMAP3530's IVA has both fixed function blocks and the DSP, with the former probably doing more work than the latter. w/o much documentation available I don't expect someone to write their own codecs for it though...


I don't think IMG was lying per se, I'm sure that with the write drivers/software series 5 GPUs could perform these tasks. But bear in mind that a) the entire SGX family isn't characterized by the performance capabilities of what's in OMAP3530 which is actually pretty low end (SGX530 at only 110MHz) and far below the upper end of even what IMG was anticipating in 2005, and B) in 2005 CPUs you'd find in phone SoCs were a lot weaker, so you could expect to see lower clocked ARM11s instead of 600+MHz Cortex-A8s. So the relative value was a lot different.


(on Cortex-A8 VFP is useless for anything that can be done on NEON, and in some cases for things that can't be done on NEON but can be done with integer)
 
Back
Top