FFmpeg
|
#include <stdatomic.h>
#include "cpu.h"
#include "internal.h"
#include "slicethread.h"
#include "mem.h"
#include "thread.h"
#include "avassert.h"
Go to the source code of this file.
Functions | |
int | avpriv_slicethread_create (AVSliceThread **pctx, void *priv, void(*worker_func)(void *priv, int jobnr, int threadnr, int nb_jobs, int nb_threads), void(*main_func)(void *priv), int nb_threads) |
Create slice threading context. More... | |
void | avpriv_slicethread_execute (AVSliceThread *ctx, int nb_jobs, int execute_main) |
Execute slice threading. More... | |
void | avpriv_slicethread_free (AVSliceThread **pctx) |
Destroy slice threading context. More... | |
int avpriv_slicethread_create | ( | AVSliceThread ** | pctx, |
void * | priv, | ||
void(*)(void *priv, int jobnr, int threadnr, int nb_jobs, int nb_threads) | worker_func, | ||
void(*)(void *priv) | main_func, | ||
int | nb_threads | ||
) |
Create slice threading context.
pctx | slice threading context returned here |
priv | private pointer to be passed to callback function |
worker_func | callback function to be executed |
main_func | special callback function, called from main thread, may be NULL |
nb_threads | number of threads, 0 for automatic, must be >= 0 |
Definition at line 238 of file slicethread.c.
Referenced by context_init_threaded(), ff_slice_thread_init(), and thread_init_internal().
void avpriv_slicethread_execute | ( | AVSliceThread * | ctx, |
int | nb_jobs, | ||
int | execute_main | ||
) |
Execute slice threading.
ctx | slice threading context |
nb_jobs | number of jobs, must be > 0 |
execute_main | also execute main_func |
Definition at line 247 of file slicethread.c.
Referenced by sws_receive_slice(), and thread_execute().
void avpriv_slicethread_free | ( | AVSliceThread ** | pctx | ) |
Destroy slice threading context.
pctx | pointer to context |
Definition at line 252 of file slicethread.c.
Referenced by ff_slice_thread_free(), ff_slice_thread_init(), slice_thread_uninit(), sws_freeContext(), and thread_init_internal().