[FFmpeg-devel] [RFC/PATCH 6/8] tidsp: add mp4v configuration

Felipe Contreras felipe.contreras
Wed Sep 8 17:05:01 CEST 2010

On Wed, Sep 8, 2010 at 4:58 PM, Ronald S. Bultje <rsbultje at gmail.com> wrote:
> On Wed, Sep 8, 2010 at 4:53 AM, Felipe Contreras
> <felipe.contreras at gmail.com> wrote:
>> And the code is *extremely* efficient, the result of years of
>> profiling the code both in user-space and kernel-space, discussions,
>> reorganization, etc.
> What does that mean? I thought the stuff that takes actual CPU time
> was done in the hardware? How much profiling can you really do on
> setup of a DSP?

There's memory mapping, which involves getting user pages, and cache
flushing only when strictly necessary, taking into consideration ARMv7
speculative pre-fetching and so on. If you manage to make sense of
openmax code, you would see that there are some unnecessary mappings
and cache flushes, in my measurements on a 600mhz CPU that amounted to
10% of CPU usage, and surely it had an impact on memory bandwidth too.

There's still work to do when say, the video renderer is omap's
framebuffer; cache flushing the raw video is not needed. But I don't
see any way to represent that either on FFmpeg, or GStreamer's API.

Felipe Contreras

More information about the ffmpeg-devel mailing list