|
FFmpeg
|
#include <math.h>#include "libavutil/avassert.h"#include "libavutil/avstring.h"#include "libavutil/eval.h"#include "libavutil/fifo.h"#include "libavutil/file.h"#include "libavutil/frame.h"#include "libavutil/mem.h"#include "libavutil/opt.h"#include "libavutil/parseutils.h"#include "formats.h"#include "filters.h"#include "video.h"#include "vulkan_filter.h"#include "scale_eval.h"#include <libplacebo/options.h>#include <libplacebo/renderer.h>#include <libplacebo/utils/libav.h>#include <libplacebo/utils/frame_queue.h>#include <libplacebo/vulkan.h>Go to the source code of this file.
Data Structures | |
| struct | LibplaceboInput |
| struct | LibplaceboContext |
Macros | |
| #define | OFFSET(x) |
| #define | STATIC (AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_VIDEO_PARAM) |
| #define | DYNAMIC (STATIC | AV_OPT_FLAG_RUNTIME_PARAM) |
Enumerations | |
| enum | { TONE_MAP_AUTO , TONE_MAP_CLIP , TONE_MAP_ST2094_40 , TONE_MAP_ST2094_10 , TONE_MAP_BT2390 , TONE_MAP_BT2446A , TONE_MAP_SPLINE , TONE_MAP_REINHARD , TONE_MAP_MOBIUS , TONE_MAP_HABLE , TONE_MAP_GAMMA , TONE_MAP_LINEAR , TONE_MAP_COUNT } |
| enum | { GAMUT_MAP_CLIP , GAMUT_MAP_PERCEPTUAL , GAMUT_MAP_RELATIVE , GAMUT_MAP_SATURATION , GAMUT_MAP_ABSOLUTE , GAMUT_MAP_DESATURATE , GAMUT_MAP_DARKEN , GAMUT_MAP_HIGHLIGHT , GAMUT_MAP_LINEAR , GAMUT_MAP_COUNT } |
| enum | var_name { VAR_IN_IDX , VAR_IDX , VAR_IN_W , VAR_IW , VAR_IN_H , VAR_IH , VAR_OUT_W , VAR_OW , VAR_OUT_H , VAR_OH , VAR_CROP_W , VAR_CW , VAR_CROP_H , VAR_CH , VAR_POS_W , VAR_PW , VAR_POS_H , VAR_PH , VAR_A , VAR_SAR , VAR_DAR , VAR_HSUB , VAR_VSUB , VAR_OHSUB , VAR_OVSUB , VAR_IN_T , VAR_T , VAR_OUT_T , VAR_OT , VAR_N , VAR_VARS_NB } |
| enum | fit_mode { FIT_FILL , FIT_CONTAIN , FIT_COVER , FIT_NONE , FIT_SCALE_DOWN , FIT_MODE_NB } |
| enum | fit_sense { FIT_TARGET , FIT_CONSTRAINT , FIT_SENSE_NB } |
Functions | |
| static enum pl_log_level | get_log_level (void) |
| static void | pl_av_log (void *log_ctx, enum pl_log_level level, const char *msg) |
| static const struct pl_tone_map_function * | get_tonemapping_func (int tm) |
| static void | set_gamut_mode (struct pl_color_map_params *p, int gamut_mode) |
| static int | find_scaler (AVFilterContext *avctx, const struct pl_filter_config **opt, const char *name, int frame_mixing) |
| static int | parse_custom_lut (AVFilterContext *avctx) |
| static int | update_settings (AVFilterContext *ctx) |
| static int | parse_shader (AVFilterContext *avctx, const void *shader, size_t len) |
| static void | libplacebo_uninit (AVFilterContext *avctx) |
| static int | libplacebo_config_input (AVFilterLink *inlink) |
| static int | init_vulkan (AVFilterContext *avctx, const AVVulkanDeviceContext *hwctx) |
| static int | libplacebo_init (AVFilterContext *avctx) |
| static void | lock_queue (void *priv, uint32_t qf, uint32_t qidx) |
| static void | unlock_queue (void *priv, uint32_t qf, uint32_t qidx) |
| static int | input_init (AVFilterContext *avctx, LibplaceboInput *input, int idx) |
| static void | input_uninit (LibplaceboInput *input) |
| static int | copy_pl_queue (const AVVulkanDeviceContext *hwctx, const AVVulkanDeviceQueueFamily *qf, struct pl_vulkan_queue *pl_qf) |
| static int | libplacebo_process_command (AVFilterContext *ctx, const char *cmd, const char *arg, char *res, int res_len, int flags) |
| static const AVFrame * | ref_frame (const struct pl_frame_mix *mix) |
| static double | q2d_fallback (AVRational q, const double def) |
| static void | update_crops (AVFilterContext *ctx, LibplaceboInput *in, struct pl_frame *target, double target_pts) |
| static int | output_frame (AVFilterContext *ctx, int64_t pts) |
| static bool | map_frame (pl_gpu gpu, pl_tex *tex, const struct pl_source_frame *src, struct pl_frame *out) |
| static void | unmap_frame (pl_gpu gpu, struct pl_frame *frame, const struct pl_source_frame *src) |
| static void | discard_frame (const struct pl_source_frame *src) |
| static int | handle_input (AVFilterContext *ctx, LibplaceboInput *input) |
| static void | drain_input_pts (LibplaceboInput *in, int64_t until) |
| static int | libplacebo_activate (AVFilterContext *ctx) |
| static int | libplacebo_query_format (const AVFilterContext *ctx, AVFilterFormatsConfig **cfg_in, AVFilterFormatsConfig **cfg_out) |
| static AVRational | max_q (AVRational a, AVRational b) |
| static int | libplacebo_config_output (AVFilterLink *outlink) |
| AVFILTER_DEFINE_CLASS (libplacebo) | |
Variables | |
| static const char *const | var_names [] |
| static const AVOption | libplacebo_options [] |
| static const AVFilterPad | libplacebo_outputs [] |
| const FFFilter | ff_vf_libplacebo |
| #define OFFSET | ( | x | ) |
Definition at line 1561 of file vf_libplacebo.c.
| #define STATIC (AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_VIDEO_PARAM) |
Definition at line 1562 of file vf_libplacebo.c.
| #define DYNAMIC (STATIC | AV_OPT_FLAG_RUNTIME_PARAM) |
Definition at line 1563 of file vf_libplacebo.c.
| anonymous enum |
Definition at line 42 of file vf_libplacebo.c.
| anonymous enum |
| Enumerator | |
|---|---|
| GAMUT_MAP_CLIP | |
| GAMUT_MAP_PERCEPTUAL | |
| GAMUT_MAP_RELATIVE | |
| GAMUT_MAP_SATURATION | |
| GAMUT_MAP_ABSOLUTE | |
| GAMUT_MAP_DESATURATE | |
| GAMUT_MAP_DARKEN | |
| GAMUT_MAP_HIGHLIGHT | |
| GAMUT_MAP_LINEAR | |
| GAMUT_MAP_COUNT | |
Definition at line 58 of file vf_libplacebo.c.
| enum var_name |
Definition at line 94 of file vf_libplacebo.c.
| enum fit_mode |
| Enumerator | |
|---|---|
| FIT_FILL | |
| FIT_CONTAIN | |
| FIT_COVER | |
| FIT_NONE | |
| FIT_SCALE_DOWN | |
| FIT_MODE_NB | |
Definition at line 129 of file vf_libplacebo.c.
| enum fit_sense |
| Enumerator | |
|---|---|
| FIT_TARGET | |
| FIT_CONSTRAINT | |
| FIT_SENSE_NB | |
Definition at line 138 of file vf_libplacebo.c.
|
inlinestatic |
Definition at line 274 of file vf_libplacebo.c.
Referenced by lcevc_init(), and libplacebo_init().
|
static |
Definition at line 286 of file vf_libplacebo.c.
Referenced by libplacebo_init().
|
static |
Definition at line 303 of file vf_libplacebo.c.
Referenced by update_settings().
|
static |
Definition at line 321 of file vf_libplacebo.c.
Referenced by update_settings().
|
static |
Definition at line 338 of file vf_libplacebo.c.
Referenced by update_settings().
|
static |
Definition at line 363 of file vf_libplacebo.c.
Referenced by init_vulkan().
|
static |
Definition at line 384 of file vf_libplacebo.c.
Referenced by libplacebo_init(), libplacebo_process_command(), and parse_shader().
|
static |
Definition at line 494 of file vf_libplacebo.c.
Referenced by init_vulkan().
|
static |
Definition at line 755 of file vf_libplacebo.c.
Referenced by libplacebo_init().
|
static |
Definition at line 1379 of file vf_libplacebo.c.
Referenced by libplacebo_init().
|
static |
Definition at line 673 of file vf_libplacebo.c.
Referenced by libplacebo_config_input(), and libplacebo_init().
|
static |
Definition at line 513 of file vf_libplacebo.c.
|
static |
Definition at line 615 of file vf_libplacebo.c.
Referenced by init_vulkan(), and vulkan_device_init().
|
static |
Definition at line 626 of file vf_libplacebo.c.
Referenced by init_vulkan(), and vulkan_device_init().
|
static |
Definition at line 637 of file vf_libplacebo.c.
Referenced by init_vulkan().
|
static |
Definition at line 651 of file vf_libplacebo.c.
Referenced by libplacebo_uninit().
|
static |
Definition at line 658 of file vf_libplacebo.c.
Referenced by init_vulkan().
|
static |
Definition at line 789 of file vf_libplacebo.c.
|
static |
Definition at line 802 of file vf_libplacebo.c.
Referenced by output_frame(), and update_crops().
|
inlinestatic |
Definition at line 811 of file vf_libplacebo.c.
Referenced by libplacebo_activate(), libplacebo_config_output(), and update_crops().
|
static |
Definition at line 816 of file vf_libplacebo.c.
Referenced by output_frame().
|
static |
Definition at line 917 of file vf_libplacebo.c.
Referenced by libplacebo_activate().
|
static |
Definition at line 1095 of file vf_libplacebo.c.
Referenced by handle_input().
|
static |
Definition at line 1117 of file vf_libplacebo.c.
Referenced by handle_input().
|
static |
Definition at line 1123 of file vf_libplacebo.c.
Referenced by handle_input().
|
static |
Definition at line 1129 of file vf_libplacebo.c.
Referenced by libplacebo_activate().
|
static |
Definition at line 1180 of file vf_libplacebo.c.
Referenced by libplacebo_activate().
|
static |
Definition at line 1187 of file vf_libplacebo.c.
|
static |
Definition at line 1286 of file vf_libplacebo.c.
|
inlinestatic |
Definition at line 1423 of file vf_libplacebo.c.
Referenced by libplacebo_config_output().
|
static |
Definition at line 1428 of file vf_libplacebo.c.
| AVFILTER_DEFINE_CLASS | ( | libplacebo | ) |
|
static |
Definition at line 71 of file vf_libplacebo.c.
|
static |
Definition at line 1565 of file vf_libplacebo.c.
|
static |
Definition at line 1792 of file vf_libplacebo.c.
| const FFFilter ff_vf_libplacebo |
Definition at line 1800 of file vf_libplacebo.c.