# GAPI Video Render Performance on Windows Mobile

**URL:** <https://discourse.libsdl.org/t/gapi-video-render-performance-on-windows-mobile/16499>\
**Category:** SDL Development\
**Created:** [July 29, 2009, 2:49am UTC](https://discourse.libsdl.org/t/gapi-video-render-performance-on-windows-mobile/16499 "2009-07-29T02:49:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Xinghua\_Li](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/x/76d3ee/32.png) [@Xinghua\_Li](https://discourse.libsdl.org/u/Xinghua_Li)\
**Post date:** [July 29, 2009, 2:49am UTC](https://discourse.libsdl.org/t/gapi-video-render-performance-on-windows-mobile/16499/1 "2009-07-29T02:49:33Z")

</div>

Hello,

I am developing a DTV playback software running on Windows Mobile.

I used an ARM optimized H264 decoder (from a Professional codec vendor), and  
process AV sync and SDL video/audio render by myself.

Thanks to [http://www.dranger.com/ffmpeg/](http://www.dranger.com/ffmpeg/), it is a very good guide to handle  
these stuff.

Now the software works on Windows Mobile Phone (I use a HTC touch diamond  
with Qualcomm ARM11 inside), except CPU seems overloaded for both H264  
decoding and Video Rendering. I have to drop some decoded frames from time  
to time to keep AV synchronized, so that the user experience is bad.

I checked and make sure Hardware YUVOverlay is not supported on this ARM11  
based qualcomm platform. So I use GAPI which is already well supported by  
SDL.  
Considering H.264 decoder is ARM optimized, I think what 's left to optimize  
should be video render.

In a few details, it includes:

– YUV2RGB (YUV420 to RGB565)  
– Scale (2x , this HTC touch features VGA resolution screen)  
– Rotation (to Landscape, DTV H264 video is 320 \* 240 )  
– copy processed YUV data into video framebuffer

The current SDL implementation of YUV2RGB is well optimized by lookup  
table.

I have no idea whether the algorithm for other steps can still be optimized  
much for ARM.

Hope anyone can input something.

What’s worth mentioned is I have tried another commercial playback software  
(incl. decoding/av sync/av render ) on the same mobile phone, the  
performance is really amazing , even a lot of CPU MIPS still available.  
Hard to figure out how they can make it.

Thanks in advance.  
I am not English-native and hope you can catch me. I may explain more for  
anything unclear.

Xinghua
