[FFmpeg-devel] [PATCH] Rewrite main resampling loop (common and linear).

Michael Niedermayer michaelni at gmx.at
Mon Jun 2 01:07:30 CEST 2014


On Mon, May 26, 2014 at 10:38:23PM -0300, James Almer wrote:
> On 26/05/14 9:38 PM, Ronald S. Bultje wrote:
> > This removes a branch at a performance-sensitive point (in the middle
> > of the loop). In fate-swr-resample-s32p-8000-2626, this makes the code
> > about 10% faster. It also simplifies the loops, allowing us to rewrite
> > it in yasm at some later point.
> > 
> > The compensation_distance != 0 code and index < 0 code are still kind
> > of hairy. For compensation_distance != 0, this should likely be handled
> > in the caller, so that it calls swri_resample twice (once until the
> > dst_incr switch-point, and once with the remainder of the samples). For
> > index < 0, the code should probably be rewritten to break out of the
> > loop once sample_index >= 0, and then resume (e.g. as a tail-call) to
> > the common or linear resampling loops.
> 
> libavresample had some refactoring a couple months ago (commit be39496) 
> where they removed the negative index case.
> 
> Maybe the general idea could be copied.

it can, and the commit is actually on my todo list for that very
reason, it seemed a rather minor thing though as it doesnt really
affect any speed relevant codepath unless i missed one

that said, if someone else wants to port that, please do! my todo list
is longer than what ill be able to work on anyway ...

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

When you are offended at any man's fault, turn to yourself and study your
own failings. Then you will forget your anger. -- Epictetus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140602/b2bf0a2d/attachment.asc>


More information about the ffmpeg-devel mailing list