FFmpeg
Public Attributes | List of all members
PerThreadContext Struct Reference

Context used by codec threads and stored in their AVCodecInternal thread_ctx. More...

Public Attributes

struct FrameThreadContextparent
 
pthread_t thread
 
int thread_init
 
pthread_cond_t input_cond
 Used to wait for a new packet from the main thread.
 
pthread_cond_t progress_cond
 Used by child threads to wait for progress to change.
 
pthread_cond_t output_cond
 Used by the main thread to wait for frames to finish.
 
pthread_mutex_t mutex
 Mutex used to protect the contents of the PerThreadContext.
 
pthread_mutex_t progress_mutex
 Mutex used to protect frame progress values and progress_cond.
 
AVCodecContextavctx
 Context used to decode packets passed to this thread.
 
AVPacket avpkt
 Input packet (for decoding) or output (for encoding).
 
AVFrameframe
 Output frame (for decoding) or input (for encoding).
 
int got_frame
 The output of got_picture_ptr from the last avcodec_decode_video() call.
 
int result
 The result of the last codec decode/encode() call.
 
atomic_int state
 
AVFramereleased_buffers
 Array of frames passed to ff_thread_release_buffer(). More...
 
int num_released_buffers
 
int released_buffers_allocated
 
AVFramerequested_frame
 AVFrame the codec passed to get_buffer()
 
int requested_flags
 flags passed to get_buffer() for requested_frame
 
enum AVPixelFormatavailable_formats
 Format array for get_format()
 
enum AVPixelFormat result_format
 get_format() result
 
int die
 Set when the thread should exit.
 
int hwaccel_serializing
 
int async_serializing
 
atomic_int debug_threads
 Set if the FF_DEBUG_THREADS option is set.
 

Detailed Description

Context used by codec threads and stored in their AVCodecInternal thread_ctx.

Member Data Documentation

§ released_buffers

AVFrame* PerThreadContext::released_buffers

Array of frames passed to ff_thread_release_buffer().

Frames are released after all threads referencing them are finished.


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