MediaProcessors
|
#include "ffmpeg_x264.h"
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <pthread.h>
#include <libcjson/cJSON.h>
#include <libmediaprocsutils/uri_parser.h>
#include <libavcodec/avcodec.h>
#include <libmediaprocsutils/log.h>
#include <libmediaprocsutils/stat_codes.h>
#include <libmediaprocsutils/check_utils.h>
#include <libmediaprocsutils/fifo.h>
#include <libmediaprocs/proc_if.h>
#include <libmediaprocs/proc.h>
#include "ffmpeg_video.h"
#include "proc_frame_2_ffmpeg.h"
#include "video_settings.h"
Go to the source code of this file.
Classes | |
struct | ffmpeg_x264_enc_settings_ctx_s |
struct | ffmpeg_x264_enc_ctx_s |
struct | ffmpeg_x264_dec_settings_ctx_s |
struct | ffmpeg_x264_dec_ctx_s |
Typedefs | |
typedef struct ffmpeg_x264_enc_settings_ctx_s | ffmpeg_x264_enc_settings_ctx_t |
typedef struct ffmpeg_x264_enc_ctx_s | ffmpeg_x264_enc_ctx_t |
typedef struct ffmpeg_x264_dec_settings_ctx_s | ffmpeg_x264_dec_settings_ctx_t |
typedef struct ffmpeg_x264_dec_ctx_s | ffmpeg_x264_dec_ctx_t |
Functions | |
static proc_ctx_t * | ffmpeg_x264_enc_open (const proc_if_t *proc_if, const char *settings_str, log_ctx_t *log_ctx, va_list arg) |
static void | ffmpeg_x264_enc_close (proc_ctx_t **ref_proc_ctx) |
static int | ffmpeg_x264_enc_process_frame (proc_ctx_t *proc_ctx, fifo_ctx_t *iput_fifo_ctx, fifo_ctx_t *oput_fifo_ctx) |
static int | ffmpeg_x264_enc_rest_put (proc_ctx_t *proc_ctx, const char *str) |
static int | ffmpeg_x264_enc_rest_get (proc_ctx_t *proc_ctx, const proc_if_rest_fmt_t rest_fmt, void **ref_reponse) |
static int | ffmpeg_x264_enc_settings_ctx_init (volatile ffmpeg_x264_enc_settings_ctx_t *ffmpeg_x264_enc_settings_ctx, log_ctx_t *log_ctx) |
static void | ffmpeg_x264_enc_settings_ctx_deinit (volatile ffmpeg_x264_enc_settings_ctx_t *ffmpeg_x264_enc_settings_ctx, log_ctx_t *log_ctx) |
static proc_ctx_t * | ffmpeg_x264_dec_open (const proc_if_t *proc_if, const char *settings_str, log_ctx_t *log_ctx, va_list arg) |
static void | ffmpeg_x264_dec_close (proc_ctx_t **ref_proc_ctx) |
static int | ffmpeg_x264_dec_process_frame (proc_ctx_t *proc_ctx, fifo_ctx_t *iput_fifo_ctx, fifo_ctx_t *oput_fifo_ctx) |
static int | ffmpeg_x264_dec_rest_put (proc_ctx_t *proc_ctx, const char *str) |
static int | ffmpeg_x264_dec_rest_get (proc_ctx_t *proc_ctx, const proc_if_rest_fmt_t rest_fmt, void **ref_reponse) |
static int | ffmpeg_x264_dec_settings_ctx_init (volatile ffmpeg_x264_dec_settings_ctx_t *ffmpeg_x264_dec_settings_ctx, log_ctx_t *log_ctx) |
static void | ffmpeg_x264_dec_settings_ctx_deinit (volatile ffmpeg_x264_dec_settings_ctx_t *ffmpeg_x264_dec_settings_ctx, log_ctx_t *log_ctx) |
Variables | |
const proc_if_t | proc_if_ffmpeg_x264_enc |
const proc_if_t | proc_if_ffmpeg_x264_dec |
Definition in file ffmpeg_x264.c.
typedef struct ffmpeg_x264_dec_ctx_s ffmpeg_x264_dec_ctx_t |
FFmpeg's x264 video decoder wrapper context structure.
typedef struct ffmpeg_x264_dec_settings_ctx_s ffmpeg_x264_dec_settings_ctx_t |
FFmpeg's x264 video decoder settings context structure.
typedef struct ffmpeg_x264_enc_ctx_s ffmpeg_x264_enc_ctx_t |
FFmpeg's x264 video encoder wrapper context structure.
typedef struct ffmpeg_x264_enc_settings_ctx_s ffmpeg_x264_enc_settings_ctx_t |
FFmpeg's x264 video encoder settings context structure.
|
static |
Implements the proc_if_s::close callback. See .proc_if.h for further details.
Definition at line 650 of file ffmpeg_x264.c.
|
static |
Implements the proc_if_s::open callback. See .proc_if.h for further details.
Definition at line 591 of file ffmpeg_x264.c.
|
static |
Implements the proc_if_s::process_frame callback. See .proc_if.h for further details.
Definition at line 681 of file ffmpeg_x264.c.
|
static |
Implements the proc_if_s::rest_get callback. See .proc_if.h for further details.
Definition at line 769 of file ffmpeg_x264.c.
|
static |
Implements the proc_if_s::rest_put callback. See .proc_if.h for further details.
Definition at line 727 of file ffmpeg_x264.c.
|
static |
Release specific x264 decoder settings (allocated in heap memory).
ffmpeg_x264_dec_settings_ctx | |
log_ctx |
Definition at line 900 of file ffmpeg_x264.c.
|
static |
Initialize specific x264 decoder settings to defaults.
ffmpeg_x264_dec_settings_ctx | |
log_ctx |
Definition at line 870 of file ffmpeg_x264.c.
|
static |
Implements the proc_if_s::close callback. See .proc_if.h for further details.
Definition at line 253 of file ffmpeg_x264.c.
|
static |
Implements the proc_if_s::open callback. See .proc_if.h for further details.
Definition at line 194 of file ffmpeg_x264.c.
|
static |
Implements the proc_if_s::process_frame callback. See .proc_if.h for further details.
Definition at line 284 of file ffmpeg_x264.c.
|
static |
Implements the proc_if_s::rest_get callback. See .proc_if.h for further details.
Definition at line 423 of file ffmpeg_x264.c.
|
static |
Implements the proc_if_s::rest_put callback. See .proc_if.h for further details.
Definition at line 330 of file ffmpeg_x264.c.
|
static |
Release specific x264 encoder settings (allocated in heap memory).
ffmpeg_x264_enc_settings_ctx | |
log_ctx |
Definition at line 567 of file ffmpeg_x264.c.
|
static |
Initialize specific x264 encoder settings to defaults.
ffmpeg_x264_enc_settings_ctx | |
log_ctx |
Definition at line 533 of file ffmpeg_x264.c.
const proc_if_t proc_if_ffmpeg_x264_dec |
Processor interface implementing the FFmpeg wrapper of the x264 decoder.
Definition at line 170 of file ffmpeg_x264.c.
const proc_if_t proc_if_ffmpeg_x264_enc |
Processor interface implementing the FFmpeg wrapper of the x264 encoder.
Definition at line 150 of file ffmpeg_x264.c.