FFmpeg
|
#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) |
Slice multithreading support functions
Definition in file pthread_slice.c.
typedef int() action_func(AVCodecContext *c, void *arg) |
Definition at line 40 of file pthread_slice.c.
Definition at line 41 of file pthread_slice.c.
typedef int() main_func(AVCodecContext *c) |
Definition at line 42 of file pthread_slice.c.
|
static |
Definition at line 64 of file pthread_slice.c.
Referenced by ff_slice_thread_init().
|
static |
Definition at line 70 of file pthread_slice.c.
Referenced by ff_slice_thread_init().
void ff_slice_thread_free | ( | AVCodecContext * | avctx | ) |
Definition at line 82 of file pthread_slice.c.
Referenced by ff_thread_free().
|
static |
Definition at line 100 of file pthread_slice.c.
Referenced by ff_slice_thread_execute_with_mainfunc(), ff_slice_thread_init(), and thread_execute2().
|
static |
Definition at line 119 of file pthread_slice.c.
Referenced by ff_slice_thread_init().
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().
int ff_slice_thread_init | ( | AVCodecContext * | avctx | ) |
Definition at line 134 of file pthread_slice.c.
Referenced by ff_thread_init().
int av_cold ff_slice_thread_init_progress | ( | AVCodecContext * | avctx | ) |
Definition at line 179 of file pthread_slice.c.
Referenced by hevc_decode_init().
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().
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().
int ff_alloc_entries | ( | AVCodecContext * | avctx, |
int | count | ||
) |
Definition at line 240 of file pthread_slice.c.
Referenced by hls_slice_data_wpp().
void ff_reset_entries | ( | AVCodecContext * | avctx | ) |
Definition at line 260 of file pthread_slice.c.
Referenced by hls_slice_data_wpp().