| FFmpeg
    | 
Context used by codec threads and stored in their AVCodecInternal thread_ctx. More...
| Public Types | |
| enum | { STATE_INPUT_READY, STATE_SETTING_UP, STATE_GET_BUFFER, STATE_GET_FORMAT, STATE_SETUP_FINISHED } | 
| Data Fields | |
| struct FrameThreadContext * | parent | 
| pthread_t | thread | 
| int | thread_init | 
| pthread_cond_t | input_cond | 
| Used to wait for a new packet from the main thread.  More... | |
| pthread_cond_t | progress_cond | 
| Used by child threads to wait for progress to change.  More... | |
| pthread_cond_t | output_cond | 
| Used by the main thread to wait for frames to finish.  More... | |
| pthread_mutex_t | mutex | 
| Mutex used to protect the contents of the PerThreadContext.  More... | |
| pthread_mutex_t | progress_mutex | 
| Mutex used to protect frame progress values and progress_cond.  More... | |
| AVCodecContext * | avctx | 
| Context used to decode packets passed to this thread.  More... | |
| AVPacket | avpkt | 
| Input packet (for decoding) or output (for encoding).  More... | |
| AVFrame * | frame | 
| Output frame (for decoding) or input (for encoding).  More... | |
| int | got_frame | 
| The output of got_picture_ptr from the last avcodec_decode_video() call.  More... | |
| int | result | 
| The result of the last codec decode/encode() call.  More... | |
| enum PerThreadContext:: { ... } | state | 
| AVFrame * | released_buffers | 
| Array of frames passed to ff_thread_release_buffer().  More... | |
| int | num_released_buffers | 
| int | released_buffers_allocated | 
| AVFrame * | requested_frame | 
| AVFrame the codec passed to get_buffer()  More... | |
| int | requested_flags | 
| flags passed to get_buffer() for requested_frame  More... | |
| enum AVPixelFormat * | available_formats | 
| Format array for get_format()  More... | |
| enum AVPixelFormat | result_format | 
| get_format() result  More... | |
Context used by codec threads and stored in their AVCodecInternal thread_ctx.
Definition at line 56 of file pthread_frame.c.
| anonymous enum | 
| Enumerator | |
|---|---|
| STATE_INPUT_READY | Set when the thread is awaiting a packet. | 
| STATE_SETTING_UP | Set before the codec has called ff_thread_finish_setup(). | 
| STATE_GET_BUFFER | Set when the codec calls get_buffer(). State is returned to STATE_SETTING_UP afterwards. | 
| STATE_GET_FORMAT | Set when the codec calls get_format(). State is returned to STATE_SETTING_UP afterwards. | 
| STATE_SETUP_FINISHED | Set after the codec has called ff_thread_finish_setup(). | 
Definition at line 76 of file pthread_frame.c.
| struct FrameThreadContext* PerThreadContext::parent | 
Definition at line 57 of file pthread_frame.c.
Referenced by ff_frame_thread_init(), ff_thread_release_buffer(), frame_worker_thread(), release_delayed_buffers(), submit_packet(), and thread_get_buffer_internal().
| pthread_t PerThreadContext::thread | 
Definition at line 59 of file pthread_frame.c.
Referenced by ff_frame_thread_free(), and ff_frame_thread_init().
| int PerThreadContext::thread_init | 
Definition at line 60 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 61 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 62 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 63 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 65 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 66 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 68 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 70 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 72 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 73 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 74 of file pthread_frame.c.
Referenced by ff_thread_decode_frame(), frame_worker_thread(), submit_packet(), and thread_get_buffer_internal().
| enum { ... } PerThreadContext::state | 
| 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 94 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 95 of file pthread_frame.c.
Referenced by ff_thread_release_buffer(), and release_delayed_buffers().
| int PerThreadContext::released_buffers_allocated | 
Definition at line 96 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 98 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 99 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 101 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 102 of file pthread_frame.c.
Referenced by ff_thread_get_format(), and submit_packet().
 1.8.6
 1.8.6