FFmpeg
Data Fields
FrameThreadContext Struct Reference

Context stored in the client AVCodecInternal thread_ctx. More...

Data Fields

PerThreadContextthreads
 The contexts for each thread. More...
 
PerThreadContextprev_thread
 The last thread submit_packet() was called on. More...
 
unsigned pthread_init_cnt
 Number of successfully initialized mutexes/conditions. More...
 
pthread_mutex_t buffer_mutex
 Mutex used to protect get/release_buffer(). More...
 
pthread_mutex_t hwaccel_mutex
 This lock is used for ensuring threads run in serial when hwaccel is used. More...
 
pthread_mutex_t async_mutex
 
pthread_cond_t async_cond
 
int async_lock
 
int next_decoding
 The next context to submit a packet to. More...
 
int next_finished
 The next context to return output from. More...
 
int delaying
 Set for the first N packets, where N is the number of threads. More...
 
const AVHWAccelstash_hwaccel
 
void * stash_hwaccel_context
 
void * stash_hwaccel_priv
 

Detailed Description

Context stored in the client AVCodecInternal thread_ctx.

Definition at line 129 of file pthread_frame.c.

Field Documentation

◆ threads

PerThreadContext* FrameThreadContext::threads

The contexts for each thread.

Definition at line 130 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), ff_frame_thread_init(), ff_thread_decode_frame(), ff_thread_flush(), and park_frame_worker_threads().

◆ prev_thread

PerThreadContext* FrameThreadContext::prev_thread

The last thread submit_packet() was called on.

Definition at line 131 of file pthread_frame.c.

Referenced by ff_thread_flush(), and submit_packet().

◆ pthread_init_cnt

unsigned FrameThreadContext::pthread_init_cnt

Number of successfully initialized mutexes/conditions.

Definition at line 133 of file pthread_frame.c.

◆ buffer_mutex

pthread_mutex_t FrameThreadContext::buffer_mutex

Mutex used to protect get/release_buffer().

Definition at line 134 of file pthread_frame.c.

Referenced by ff_thread_release_buffer(), release_delayed_buffers(), and thread_get_buffer_internal().

◆ hwaccel_mutex

pthread_mutex_t FrameThreadContext::hwaccel_mutex

This lock is used for ensuring threads run in serial when hwaccel is used.

Definition at line 139 of file pthread_frame.c.

Referenced by ff_thread_finish_setup(), and frame_worker_thread().

◆ async_mutex

pthread_mutex_t FrameThreadContext::async_mutex

Definition at line 140 of file pthread_frame.c.

Referenced by async_lock(), and async_unlock().

◆ async_cond

pthread_cond_t FrameThreadContext::async_cond

Definition at line 141 of file pthread_frame.c.

Referenced by async_lock(), and async_unlock().

◆ async_lock

int FrameThreadContext::async_lock

Definition at line 142 of file pthread_frame.c.

Referenced by async_lock(), async_unlock(), and ff_frame_thread_init().

◆ next_decoding

int FrameThreadContext::next_decoding

The next context to submit a packet to.

Definition at line 144 of file pthread_frame.c.

Referenced by ff_thread_decode_frame(), ff_thread_flush(), and submit_packet().

◆ next_finished

int FrameThreadContext::next_finished

The next context to return output from.

Definition at line 145 of file pthread_frame.c.

Referenced by ff_thread_decode_frame(), and ff_thread_flush().

◆ delaying

int FrameThreadContext::delaying

Set for the first N packets, where N is the number of threads.

While it is set, ff_thread_en/decode_frame won't return any results.

Definition at line 147 of file pthread_frame.c.

Referenced by ff_frame_thread_init(), ff_thread_decode_frame(), and ff_thread_flush().

◆ stash_hwaccel

const AVHWAccel* FrameThreadContext::stash_hwaccel

Definition at line 154 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), ff_thread_finish_setup(), and submit_packet().

◆ stash_hwaccel_context

void* FrameThreadContext::stash_hwaccel_context

Definition at line 155 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), ff_thread_finish_setup(), and submit_packet().

◆ stash_hwaccel_priv

void* FrameThreadContext::stash_hwaccel_priv

Definition at line 156 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), ff_thread_finish_setup(), and submit_packet().


The documentation for this struct was generated from the following file: