Data Structures | Macros | Functions
frame_thread_encoder.c File Reference
#include <stdatomic.h>
#include "frame_thread_encoder.h"
#include "libavutil/avassert.h"
#include "libavutil/cpu.h"
#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "libavutil/thread.h"
#include "avcodec.h"
#include "internal.h"
#include "pthread_internal.h"
#include "thread.h"

Go to the source code of this file.

Data Structures

struct  Task
struct  ThreadContext


#define MAX_THREADS   64
#define OFF(member)   offsetof(ThreadContext, member)


 DEFINE_OFFSET_ARRAY (ThreadContext, thread_ctx, pthread_init_cnt,(OFF(buffer_mutex), OFF(task_fifo_mutex), OFF(finished_task_mutex)),(OFF(task_fifo_cond), OFF(finished_task_cond)))
static void *attribute_align_arg worker (void *v)
av_cold int ff_frame_thread_encoder_init (AVCodecContext *avctx)
 Initialize frame thread encoder. More...
av_cold void ff_frame_thread_encoder_free (AVCodecContext *avctx)
int ff_thread_video_encode_frame (AVCodecContext *avctx, AVPacket *pkt, AVFrame *frame, int *got_packet_ptr)

Macro Definition Documentation


#define MAX_THREADS   64

Definition at line 35 of file frame_thread_encoder.c.



Definition at line 40 of file frame_thread_encoder.c.


#define OFF (   member)    offsetof(ThreadContext, member)

Definition at line 70 of file frame_thread_encoder.c.

Function Documentation


DEFINE_OFFSET_ARRAY ( ThreadContext  ,
thread_ctx  ,
pthread_init_cnt  ,
(OFF(buffer_mutex), OFF(task_fifo_mutex), OFF(finished_task_mutex))  ,
(OFF(task_fifo_cond), OFF(finished_task_cond))   

◆ worker()

static void* attribute_align_arg worker ( void *  v)

Definition at line 76 of file frame_thread_encoder.c.

Referenced by ff_frame_thread_encoder_init().

◆ ff_frame_thread_encoder_init()

av_cold int ff_frame_thread_encoder_init ( AVCodecContext avctx)

Initialize frame thread encoder.

hardware encoders are not supported

Definition at line 133 of file frame_thread_encoder.c.

Referenced by avcodec_open2().

◆ ff_frame_thread_encoder_free()

av_cold void ff_frame_thread_encoder_free ( AVCodecContext avctx)

Definition at line 256 of file frame_thread_encoder.c.

Referenced by avcodec_close(), and ff_frame_thread_encoder_init().

◆ ff_thread_video_encode_frame()

int ff_thread_video_encode_frame ( AVCodecContext avctx,
AVPacket pkt,
AVFrame frame,
int got_packet_ptr 

Definition at line 282 of file frame_thread_encoder.c.

Referenced by encode_simple_internal().