FFmpeg
Data Fields
PerThreadContext Struct Reference

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

Data Fields

 
 
 
  Used to wait for a new packet from the main thread. More...
 
  Used by child threads to wait for progress to change. More...
 
  Used by the main thread to wait for frames to finish. More...
 
  Mutex used to protect the contents of the PerThreadContext. More...
 
  Mutex used to protect frame progress values and progress_cond. More...
 
  Context used to decode packets passed to this thread. More...
 
  Input packet (for decoding) or output (for encoding). More...
 
  Output frame (for decoding) or input (for encoding). More...
 
  The output of got_picture_ptr from the last avcodec_decode_video() call. More...
 
  The result of the last codec decode/encode() call. More...
 
 
  Array of frames passed to ff_thread_release_buffer(). More...
 
 
 
  AVFrame the codec passed to get_buffer() More...
 
  flags passed to get_buffer() for requested_frame More...
 
  Format array for get_format() More...
 
  get_format() result More...
 
int  die
  Set when the thread should exit. More...
 
 
 
  Set if the FF_DEBUG_THREADS option is set. More...
 

Detailed Description

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

Definition at line 70 of file pthread_frame.c.

Field Documentation

struct FrameThreadContext* PerThreadContext::parent

Definition at line 71 of file pthread_frame.c.

Referenced by ff_frame_thread_init(), ff_thread_finish_setup(), ff_thread_release_buffer(), frame_worker_thread(), release_delayed_buffers(), submit_packet(), and thread_get_buffer_internal().

pthread_t PerThreadContext::thread

Definition at line 73 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), and ff_frame_thread_init().

int PerThreadContext::thread_init

Definition at line 74 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), and ff_frame_thread_init().

pthread_cond_t PerThreadContext::input_cond

Used to wait for a new packet from the main thread.

Definition at line 75 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), ff_frame_thread_init(), frame_worker_thread(), and submit_packet().

pthread_cond_t PerThreadContext::progress_cond

Used by child threads to wait for progress to change.

Definition at line 76 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), ff_frame_thread_init(), ff_thread_await_progress(), ff_thread_finish_setup(), ff_thread_get_format(), ff_thread_report_progress(), frame_worker_thread(), submit_packet(), and thread_get_buffer_internal().

pthread_cond_t PerThreadContext::output_cond

Used by the main thread to wait for frames to finish.

Definition at line 77 of file pthread_frame.c.

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

pthread_mutex_t PerThreadContext::mutex

Mutex used to protect the contents of the PerThreadContext.

Definition at line 79 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), ff_frame_thread_init(), frame_worker_thread(), and submit_packet().

pthread_mutex_t PerThreadContext::progress_mutex

Mutex used to protect frame progress values and progress_cond.

Definition at line 80 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), ff_frame_thread_init(), ff_thread_await_progress(), ff_thread_decode_frame(), ff_thread_finish_setup(), ff_thread_get_format(), ff_thread_report_progress(), frame_worker_thread(), park_frame_worker_threads(), submit_packet(), and thread_get_buffer_internal().

AVCodecContext* PerThreadContext::avctx

Context used to decode packets passed to this thread.

Definition at line 82 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), ff_frame_thread_init(), ff_thread_decode_frame(), ff_thread_flush(), frame_worker_thread(), release_delayed_buffers(), and submit_packet().

AVPacket PerThreadContext::avpkt

Input packet (for decoding) or output (for encoding).

Definition at line 84 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), ff_frame_thread_init(), ff_thread_decode_frame(), frame_worker_thread(), and submit_packet().

AVFrame* PerThreadContext::frame

Output frame (for decoding) or input (for encoding).

Definition at line 86 of file pthread_frame.c.

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

int PerThreadContext::got_frame

The output of got_picture_ptr from the last avcodec_decode_video() call.

Definition at line 87 of file pthread_frame.c.

Referenced by ff_thread_decode_frame(), ff_thread_flush(), frame_worker_thread(), and park_frame_worker_threads().

int PerThreadContext::result

The result of the last codec decode/encode() call.

Definition at line 88 of file pthread_frame.c.

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

atomic_int PerThreadContext::state

Definition at line 90 of file pthread_frame.c.

Referenced by ff_thread_can_start_frame(), ff_thread_decode_frame(), ff_thread_finish_setup(), ff_thread_get_format(), frame_worker_thread(), park_frame_worker_threads(), submit_packet(), and thread_get_buffer_internal().

AVFrame* PerThreadContext::released_buffers

Array of frames passed to ff_thread_release_buffer().

Frames are released after all threads referencing them are finished.

Definition at line 96 of file pthread_frame.c.

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

int PerThreadContext::num_released_buffers

Definition at line 97 of file pthread_frame.c.

Referenced by ff_thread_release_buffer(), and release_delayed_buffers().

int PerThreadContext::released_buffers_allocated

Definition at line 98 of file pthread_frame.c.

Referenced by ff_thread_release_buffer().

AVFrame* PerThreadContext::requested_frame

AVFrame the codec passed to get_buffer()

Definition at line 100 of file pthread_frame.c.

Referenced by submit_packet(), and thread_get_buffer_internal().

int PerThreadContext::requested_flags

flags passed to get_buffer() for requested_frame

Definition at line 101 of file pthread_frame.c.

Referenced by submit_packet(), and thread_get_buffer_internal().

enum AVPixelFormat* PerThreadContext::available_formats

Format array for get_format()

Definition at line 103 of file pthread_frame.c.

Referenced by ff_thread_get_format(), and submit_packet().

enum AVPixelFormat PerThreadContext::result_format

get_format() result

Definition at line 104 of file pthread_frame.c.

Referenced by ff_thread_get_format(), and submit_packet().

int PerThreadContext::die

Set when the thread should exit.

Definition at line 106 of file pthread_frame.c.

Referenced by ff_frame_thread_free(), and frame_worker_thread().

int PerThreadContext::hwaccel_serializing

Definition at line 108 of file pthread_frame.c.

Referenced by ff_thread_finish_setup(), and frame_worker_thread().

int PerThreadContext::async_serializing

Definition at line 109 of file pthread_frame.c.

Referenced by ff_thread_finish_setup(), and frame_worker_thread().

atomic_int PerThreadContext::debug_threads

Set if the FF_DEBUG_THREADS option is set.

Definition at line 111 of file pthread_frame.c.

Referenced by ff_frame_thread_init(), ff_thread_await_progress(), ff_thread_report_progress(), and submit_packet().


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

Generated on Fri Jan 12 2018 01:48:34 for FFmpeg by   doxygen 1.8.6

AltStyle によって変換されたページ (->オリジナル) /