1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-27 01:22:30 +00:00
mpv/audio/filter
Christoph Heinrich e166ae0ed8 af_scaletempo: optimize overlap search
scaletempo2 has this optimization where it first uses a step size of 5
together with a quadratic interpolation to quickly get the approximate
position of the best overlap and then does a more thorough search aroun
that area.

Doing the same thing in scaletempo brought a 4.8x performance
improvement, however in my measurements a step size of 3 more
consistently finds good overlaps and it's still a 2.9x improvement for
this function.
I should note that while a step size of 3 produced better numbers,
I was not actually able to hear any difference in my test.

A step size of 3 was chosen just in case it actually makes an audible
difference in some cases and the cpu usage isn't really a problem
anymore, but that can be revisited in the future.

scaletempo2 is still faster then scaletempo with a step size of 5,
which I suspect is mostly because it uses some vectorized functions and
scaletempo does not.
2024-05-07 23:32:55 +02:00
..
af_drop.c various: make filter internal function names more descriptive 2024-04-10 19:00:22 +02:00
af_format.c various: make filter internal function names more descriptive 2024-04-10 19:00:22 +02:00
af_lavcac3enc.c various: make filter internal function names more descriptive 2024-04-10 19:00:22 +02:00
af_rubberband.c various: make filter internal function names more descriptive 2024-04-10 19:00:22 +02:00
af_scaletempo2_internals.c af_scaletempo2: migrate to internals to talloc 2024-04-27 01:05:07 +02:00
af_scaletempo2_internals.h af_scaletempo2: migrate to internals to talloc 2024-04-27 01:05:07 +02:00
af_scaletempo2.c af_scaletempo2: migrate to internals to talloc 2024-04-27 01:05:07 +02:00
af_scaletempo.c af_scaletempo: optimize overlap search 2024-05-07 23:32:55 +02:00