FFmpeg
|
#include "config.h"
#include <stdbool.h>
#include "libavutil/mem.h"
#include "libavutil/thread.h"
#include "executor.h"
Go to the source code of this file.
Data Structures | |
struct | ThreadInfo |
HAVE_THREADS. More... | |
struct | Queue |
Linear double-ended data structure. More... | |
struct | FFExecutor |
Macros | |
#define | ExecutorThread char |
#define | executor_thread_create(t, a, s, ar) 0 |
#define | executor_thread_join(t, r) do {} while(0) |
Functions | |
static FFTask * | remove_task (Queue *q) |
static void | add_task (Queue *q, FFTask *t) |
static int | run_one_task (FFExecutor *e, void *lc) |
static void | executor_free (FFExecutor *e, const int has_lock, const int has_cond) |
FFExecutor * | ff_executor_alloc (const FFTaskCallbacks *cb, int thread_count) |
Alloc executor. More... | |
void | ff_executor_free (FFExecutor **executor) |
Free executor. More... | |
void | ff_executor_execute (FFExecutor *e, FFTask *t) |
Add task to executor. More... | |
#define ExecutorThread char |
Definition at line 32 of file executor.c.
Definition at line 34 of file executor.c.
Definition at line 35 of file executor.c.
Definition at line 71 of file executor.c.
Referenced by run_one_task().
Definition at line 83 of file executor.c.
Referenced by ff_executor_execute().
|
static |
Definition at line 92 of file executor.c.
Referenced by ff_executor_execute().
|
static |
Definition at line 132 of file executor.c.
Referenced by ff_executor_alloc(), and ff_executor_free().
FFExecutor* ff_executor_alloc | ( | const FFTaskCallbacks * | callbacks, |
int | thread_count | ||
) |
Alloc executor.
callbacks | callback structure for executor |
thread_count | worker thread number, 0 for run on caller's thread directly |
Definition at line 156 of file executor.c.
Referenced by ff_vvc_executor_alloc().
void ff_executor_free | ( | FFExecutor ** | e | ) |
Free executor.
e | pointer to executor |
Definition at line 202 of file executor.c.
Referenced by ff_vvc_executor_free().
void ff_executor_execute | ( | FFExecutor * | e, |
FFTask * | t | ||
) |
Add task to executor.
e | pointer to executor |
t | pointer to task. If NULL, it will wakeup one work thread |
Definition at line 213 of file executor.c.
Referenced by add_task().