[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