FFmpeg
Data Structures | Typedefs | Functions
pthread_slice.c File Reference
#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"

Go to the source code of this file.

Data Structures

struct  Progress
 
struct  SliceThreadContext
 

Typedefs

typedef int() action_func(AVCodecContext *c, void *arg)
 
typedef int() action_func2(AVCodecContext *c, void *arg, int jobnr, int threadnr)
 
typedef int() main_func(AVCodecContext *c)
 

Functions

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_alloc_entries (AVCodecContext *avctx, int count)
 
void ff_reset_entries (AVCodecContext *avctx)
 

Detailed Description

Slice multithreading support functions

See also
doc/multithreading.txt

Definition in file pthread_slice.c.

Typedef Documentation

◆ action_func

typedef int() action_func(AVCodecContext *c, void *arg)

Definition at line 40 of file pthread_slice.c.

◆ action_func2

typedef int() action_func2(AVCodecContext *c, void *arg, int jobnr, int threadnr)

Definition at line 41 of file pthread_slice.c.

◆ main_func

typedef int() main_func(AVCodecContext *c)

Definition at line 42 of file pthread_slice.c.

Function Documentation

◆ main_function()

static void main_function ( void *  priv)
static

Definition at line 64 of file pthread_slice.c.

Referenced by ff_slice_thread_init().

◆ worker_func()

static void worker_func ( void *  priv,
int  jobnr,
int  threadnr,
int  nb_jobs,
int  nb_threads 
)
static

Definition at line 70 of file pthread_slice.c.

Referenced by ff_slice_thread_init().

◆ ff_slice_thread_free()

void ff_slice_thread_free ( AVCodecContext avctx)

Definition at line 82 of file pthread_slice.c.

Referenced by ff_thread_free().

◆ thread_execute()

static int thread_execute ( AVCodecContext avctx,
action_func func,
void *  arg,
int ret,
int  job_count,
int  job_size 
)
static

◆ thread_execute2()

static int thread_execute2 ( AVCodecContext avctx,
action_func2 func2,
void *  arg,
int ret,
int  job_count 
)
static

Definition at line 119 of file pthread_slice.c.

Referenced by ff_slice_thread_init().

◆ ff_slice_thread_execute_with_mainfunc()

int ff_slice_thread_execute_with_mainfunc ( AVCodecContext avctx,
action_func2 func2,
main_func mainfunc,
void *  arg,
int ret,
int  job_count 
)

Definition at line 126 of file pthread_slice.c.

Referenced by vp9_decode_frame().

◆ ff_slice_thread_init()

int ff_slice_thread_init ( AVCodecContext avctx)

Definition at line 134 of file pthread_slice.c.

Referenced by ff_thread_init().

◆ ff_slice_thread_init_progress()

int av_cold ff_slice_thread_init_progress ( AVCodecContext avctx)

Definition at line 179 of file pthread_slice.c.

Referenced by hevc_decode_init().

◆ ff_thread_report_progress2()

void ff_thread_report_progress2 ( AVCodecContext avctx,
int  field,
int  thread,
int  n 
)

Definition at line 210 of file pthread_slice.c.

Referenced by hls_decode_entry_wpp().

◆ ff_thread_await_progress2()

void ff_thread_await_progress2 ( AVCodecContext avctx,
int  field,
int  thread,
int  shift 
)

Definition at line 222 of file pthread_slice.c.

Referenced by hls_decode_entry_wpp().

◆ ff_alloc_entries()

int ff_alloc_entries ( AVCodecContext avctx,
int  count 
)

Definition at line 240 of file pthread_slice.c.

Referenced by hls_slice_data_wpp().

◆ ff_reset_entries()

void ff_reset_entries ( AVCodecContext avctx)

Definition at line 260 of file pthread_slice.c.

Referenced by hls_slice_data_wpp().