[FFmpeg-devel] [PATCH 1/4] avfilter/asrc_sine: increase phase precision
Marton Balint
cus at passwd.hu
Wed Nov 6 22:48:03 EET 2024
On Tue, 5 Nov 2024, Nicolas George wrote:
> Rémi Denis-Courmont (12024-11-05):
>> It should be obvious, but you can't expect people to have whatever
>> uncommon (or in this case, no longer common) hardware.
>
> Anybody who needs access to unusual hardware for a Free Software project
> can get an account on the GCC compile farm and thus access to a number
> of servers with various hardware and OS. I am surprised that an
> experienced developer does not already have an account, let alone not
> know of it.
Feel free to test this yourself, but I agree with others in this thread,
testing on or optimizing for native 32bit CPUs is not something you can
reasonably expect from fellow developers to spend time on. Also I would
like to point out that accuracy and speed is naturally a tradeoff, and
anybody interested could easily optimize the filter further at least for
integer frequencies by pre-calculating sample_rate number of samples...
>
> Furthermore, unless Marton neglected to mention a specific reason in the
> commit message, pushing the accuracy of the frequency of a test filter
> from 10^-9 to 10^-19 is a very minor enhancement that could easily
> shelved until benchmark can be obtained.
I think the biggest problem with the current implementation is that the
output is not periodic because of the impreciseness of the delta phase. A
user can reasonably expect that the output of the sine source is bitexact
periodic (as long as the frequency is a sane integer), but right now after
a few seconds bitexact periodicity is lost, which is highly
counterintuitive.
I would like to have the sine source fixed before pushing the aloop fate
tests, because that depends on it. I will reply to this mail with an
alternate patch which fixes the periodicity issue by correcting the phase
every second. I can use that instead of the original patch if you prefer.
Regards,
Marton
More information about the ffmpeg-devel
mailing list