On Sun, Jul 9, 2023 at 5:52 AM Michael Niedermayer <mich...@niedermayer.cc> wrote:
> On Fri, Jul 07, 2023 at 10:05:27PM +0800, Nuo Mi wrote: > > The executor design pattern was inroduced by java > > < > https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/util/concurrent/Executor.html > > > > it also adapted by python > > <https://docs.python.org/3/library/concurrent.futures.html> > > Compared to handcrafted thread pool management, it greatly simplifies > the thread code. > > --- > > libavcodec/Makefile | 1 + > > libavcodec/executor.c | 182 ++++++++++++++++++++++++++++++++++++++++ > > libavcodec/executor.h | 67 +++++++++++++++ > > libavcodec/vvc/Makefile | 4 + > > 4 files changed, 254 insertions(+) > > create mode 100644 libavcodec/executor.c > > create mode 100644 libavcodec/executor.h > > create mode 100644 libavcodec/vvc/Makefile > > This seems to need some fallback if pthreads are unavailable > > src/libavcodec/executor.c: In function ‘executor_worker_task’: > src/libavcodec/executor.c:64:5: error: implicit declaration of function > ‘pthread_mutex_lock’; did you mean ‘ff_mutex_lock’? > [-Werror=implicit-function-declaration] > pthread_mutex_lock(&e->lock); > ^~~~~~~~~~~~~~~~~~ > ff_mutex_lock > src/libavcodec/executor.c:78:13: error: implicit declaration of function > ‘pthread_mutex_unlock’; did you mean ‘ff_mutex_unlock’? > [-Werror=implicit-function-declaration] > pthread_mutex_unlock(&e->lock); > ^~~~~~~~~~~~~~~~~~~~ > ff_mutex_unlock > src/libavcodec/executor.c:83:13: error: implicit declaration of function > ‘pthread_cond_wait’; did you mean ‘__fread_chk_warn’? > [-Werror=implicit-function-declaration] > pthread_cond_wait(&e->cond, &e->lock); > ^~~~~~~~~~~~~~~~~ > __fread_chk_warn > src/libavcodec/executor.c: In function ‘ff_executor_alloc’: > src/libavcodec/executor.c:108:11: error: implicit declaration of function > ‘pthread_mutex_init’; did you mean ‘ff_mutex_init’? > [-Werror=implicit-function-declaration] > ret = pthread_mutex_init(&e->lock, NULL); > ^~~~~~~~~~~~~~~~~~ > ff_mutex_init > src/libavcodec/executor.c:112:11: error: implicit declaration of function > ‘pthread_cond_init’ [-Werror=implicit-function-declaration] > ret = pthread_cond_init(&e->cond, NULL); > ^~~~~~~~~~~~~~~~~ > src/libavcodec/executor.c:119:15: error: implicit declaration of function > ‘pthread_create’; did you mean ‘ff_thread_setname’? > [-Werror=implicit-function-declaration] > ret = pthread_create(&ti->thread, NULL, executor_worker_task, ti); > ^~~~~~~~~~~~~~ > ff_thread_setname > src/libavcodec/executor.c:129:5: error: implicit declaration of function > ‘pthread_cond_broadcast’ [-Werror=implicit-function-declaration] > pthread_cond_broadcast(&e->cond); > ^~~~~~~~~~~~~~~~~~~~~~ > src/libavcodec/executor.c:132:9: error: implicit declaration of function > ‘pthread_join’; did you mean ‘ff_thread_once’? > [-Werror=implicit-function-declaration] > pthread_join(e->threads[j].thread, NULL); > ^~~~~~~~~~~~ > ff_thread_once > src/libavcodec/executor.c:133:5: error: implicit declaration of function > ‘pthread_cond_destroy’ [-Werror=implicit-function-declaration] > pthread_cond_destroy(&e->cond); > ^~~~~~~~~~~~~~~~~~~~ > src/libavcodec/executor.c:135:5: error: implicit declaration of function > ‘pthread_mutex_destroy’; did you mean ‘ff_mutex_destroy’? > [-Werror=implicit-function-declaration] > pthread_mutex_destroy(&e->lock); > ^~~~~~~~~~~~~~~~~~~~~ > ff_mutex_destroy > src/libavcodec/executor.c: In function ‘ff_executor_execute’: > src/libavcodec/executor.c:180:5: error: implicit declaration of function > ‘pthread_cond_signal’ [-Werror=implicit-function-declaration] > pthread_cond_signal(&e->cond); > ^~~~~~~~~~~~~~~~~~~ > cc1: some warnings being treated as errors > ffmpeg/ffbuild/common.mak:81: recipe for target 'libavcodec/executor.o' > failed > make: *** [libavcodec/executor.o] Error 1 > make: *** Waiting for unfinished jobs.... > > thx > > [...] > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > Hi Michael, Thank you for the information. I will fixed it _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".