[FFmpeg-devel] [PATCH] Use ff_thread_once() to initialize sin/cos static tables.

Dale Curtis dalecurtis at google.com
Mon Oct 26 21:01:43 CET 2015


On Sun, Oct 25, 2015 at 4:56 AM, Ronald S. Bultje <rsbultje at gmail.com>
wrote:
>
> So this is likely because we init all tables instead of just these that we
> need, right? So how about having one ff_once per table? That should be
> trivial to implement.


Just so we're all on the same page, this is trivial, but will get a bit
messy unless I'm missing something. The ff_thread_once() API only takes a
void(void) function, so unless there's partial specialization hiding
somewhere we need prototypes for each partial initialization. I.e.
ff_init_ff_cos_static_table_init_4(), ff_init_ff_cos_static_table_init_5(),
ff_init_ff_cos_static_table_init_6(), etc for 4..16. We would also then
have an array of AVOnce items for entries 4..16 where each entry would
correspond to calling the paired initialization function.

Is this what everyone had in mind?

- dale


More information about the ffmpeg-devel mailing list