#include "config.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "internal.h"
#include "pthread_internal.h"
#include "thread.h"
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/cpu.h"
#include "libavutil/mem.h"
#include "libavutil/thread.h"
#include "libavutil/slicethread.h"
action_func;
action_func2;
main_func;
Progress;
SliceThreadContext;
static void main_function(void *priv) { … }
static void worker_func(void *priv, int jobnr, int threadnr, int nb_jobs, int nb_threads)
{ … }
void ff_slice_thread_free(AVCodecContext *avctx)
{ … }
static int thread_execute(AVCodecContext *avctx, action_func* func, void *arg, int *ret, int job_count, int job_size)
{ … }
static int thread_execute2(AVCodecContext *avctx, action_func2* func2, void *arg, int *ret, int job_count)
{ … }
int ff_slice_thread_execute_with_mainfunc(AVCodecContext *avctx, action_func2* func2, main_func *mainfunc, void *arg, int *ret, int job_count)
{ … }
int ff_slice_thread_init(AVCodecContext *avctx)
{ … }
int av_cold ff_slice_thread_init_progress(AVCodecContext *avctx)
{ … }
void ff_thread_report_progress2(AVCodecContext *avctx, int field, int thread, int n)
{ … }
void ff_thread_await_progress2(AVCodecContext *avctx, int field, int thread, int shift)
{ … }
int ff_slice_thread_allocz_entries(AVCodecContext *avctx, int count)
{ … }