A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://ffmpeg.org/pipermail/ffmpeg-devel/2007-January/027779.html below:

[Ffmpeg-devel] [RFC] Addition of JIT accelerated scaler for ARM into libswscale

[Ffmpeg-devel] [RFC] Addition of JIT accelerated scaler for ARM into libswscaleGuillaume POIRIER poirierg
Tue Jan 23 00:12:49 CET 2007
Hi,

On 1/22/07, Siarhei Siamashka <siarhei.siamashka at gmail.com> wrote:

[..]

> A natural solution for getting good scaler performance is to use JIT style
> dynamic code generation. I spent full two days on the last weekend and got
> some initial scaler implementation working (it is quite simple and
> straightforward and uses less than 300 lines of code):
> https://garage.maemo.org/plugins/scmsvn/viewcvs.php/trunk/libswscale_nokia770/?root=mplayer
>
> Its API is quite similar to libswscale, but a bit simplified. You need to
> initialize scaler context by providing source and destination resolution,
> and also quality level setting. Code for scaling of a horizontal line of
> pixels is dynamically generated on this stage. Once context is initialized,
> it can be used to scale planar YUV image data and get results in YUY2
> format.

I may sound like a rookie to ask this, but could you tell me what
dynamic code generation precisely allows to do that can't be done with
"straight code"?
Also, why (optimized) dynamic code can be faster that "straight code"?

I have never written a single line of such kind of code, so I'm
curious. Plus, modern CPUs (PPC, x86 at least) make it harder to
program efficient dynamic code, so I heard.
For instance, if I remember correctly, P4 flushes its trace cache
whenever code cache is written.... pretty un-efficient, isn't it?

Guillaume


More information about the ffmpeg-devel mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4