On 8/19/2023 8:55 AM, Andreas Rheinhardt wrote:
James Almer:
Signed-off-by: James Almer <jamr...@gmail.com>
---
  libavutil/thread.h | 30 ++++++++++++++++++++++++++++++
  1 file changed, 30 insertions(+)

diff --git a/libavutil/thread.h b/libavutil/thread.h
index 2f5e7e1cb5..f67b0cdc44 100644
--- a/libavutil/thread.h
+++ b/libavutil/thread.h
@@ -163,11 +163,25 @@ static inline int strict_pthread_once(pthread_once_t 
*once_control, void (*init_
  #define ff_mutex_unlock  pthread_mutex_unlock
  #define ff_mutex_destroy pthread_mutex_destroy
+#define AVCond pthread_cond_t
+
+#define ff_cond_init      pthread_cond_init
+#define ff_cond_destroy   pthread_cond_destroy
+#define ff_cond_signal    pthread_cond_signal
+#define ff_cond_broadcast pthread_cond_broadcast
+#define ff_cond_wait      pthread_cond_wait
+#define ff_cond_timedwait pthread_cond_timedwait
+
  #define AVOnce pthread_once_t
  #define AV_ONCE_INIT PTHREAD_ONCE_INIT
#define ff_thread_once(control, routine) pthread_once(control, routine) +#define AVThread pthread_t
+
+#define ff_thread_create pthread_create
+#define ff_thread_join   pthread_join
+
  #else
#define AVMutex char
@@ -178,6 +192,16 @@ static inline int ff_mutex_lock(AVMutex *mutex){ return 0; 
}
  static inline int ff_mutex_unlock(AVMutex *mutex){ return 0; }
  static inline int ff_mutex_destroy(AVMutex *mutex){ return 0; }
+#define AVCond char
+
+static inline int ff_cond_init(AVCond *cond, const void *attr){ return 0; }
+static inline int ff_cond_destroy(AVCond *cond){ return 0; }
+static inline int ff_cond_signal(AVCond *cond){ return 0; }
+static inline int ff_cond_broadcast(AVCond *cond){ return 0; }
+static inline int ff_cond_wait(AVCond *cond, AVMutex *mutex){ return 0; }
+static inline int ff_cond_timedwait(AVCond *cond, AVMutex *mutex,
+                                    const void *abstime){ return 0; }
+
  #define AVOnce char
  #define AV_ONCE_INIT 0
@@ -190,6 +214,12 @@ static inline int ff_thread_once(char *control, void (*routine)(void))
      return 0;
  }
+#define AVThread char
+
+static inline int ff_thread_create(AVThread *thread, const void *unused_attr,
+                                   void *(*start_routine)(void*), void *arg){ 
return 0; }
+static inline int ff_thread_join(AVThread thread, void **value_ptr){ return 0; 
}
+
  #endif
static inline int ff_thread_setname(const char *name)

The commit message should explain what the gain of this is; after all,
we managed to make it without these wrappers until now.

Removed the pthread_create/join wrappers as those should probably not be handled like the mutex/cond/once functions, added a comment about this being useful for the upcoming threaded executor API, and pushed.
_______________________________________________
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".

Reply via email to