27 #ifndef AVCODEC_THREAD_H
28 #define AVCODEC_THREAD_H
62 int *got_picture_ptr,
AVPacket *avpkt);
static int shift(int a, int b)
This structure describes decoded (raw) audio or video data.
void ff_thread_flush(AVCodecContext *avctx)
Wait for decoding threads to finish and reset internal state.
int ff_alloc_entries(AVCodecContext *avctx, int count)
void ff_thread_release_buffer(AVCodecContext *avctx, ThreadFrame *f)
Wrapper around release_buffer() frame-for multithreaded codecs.
void ff_thread_report_progress(ThreadFrame *f, int progress, int field)
Notify later decoding threads when part of their reference picture is ready.
void ff_thread_free(AVCodecContext *s)
enum AVPixelFormat ff_thread_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt)
Wrapper around get_format() for frame-multithreaded codecs.
int ff_thread_ref_frame(ThreadFrame *dst, ThreadFrame *src)
int ff_thread_get_buffer(AVCodecContext *avctx, ThreadFrame *f, int flags)
Wrapper around get_buffer() for frame-multithreaded codecs.
void ff_thread_report_progress2(AVCodecContext *avctx, int field, int thread, int n)
void ff_thread_finish_setup(AVCodecContext *avctx)
If the codec defines update_thread_context(), call this when they are ready for the next thread to st...
void ff_thread_await_progress(ThreadFrame *f, int progress, int field)
Wait for earlier decoding threads to finish reference pictures.
int ff_thread_init(AVCodecContext *s)
Libavcodec external API header.
main external API structure.
void ff_reset_entries(AVCodecContext *avctx)
AVCodecContext * owner[2]
refcounted data buffer API
A reference to a data buffer.
int ff_thread_decode_frame(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, AVPacket *avpkt)
Submit a new frame to a decoding thread.
void ff_thread_await_progress2(AVCodecContext *avctx, int field, int thread, int shift)
AVPixelFormat
Pixel format.
This structure stores compressed data.