|
FFmpeg
|
#include "libavutil/imgutils.h"#include "libavutil/eval.h"#include "libavutil/opt.h"#include "libavutil/pixfmt.h"#include "avfilter.h"#include "formats.h"#include "framesync.h"#include "internal.h"#include "video.h"#include "blend.h"Go to the source code of this file.
Data Structures | |
| struct | BlendContext |
| struct | ThreadData |
| Used for passing data between threads. More... | |
Macros | |
| #define | TOP 0 |
| #define | BOTTOM 1 |
| #define | COMMON_OPTIONS |
| #define | OFFSET(x) offsetof(BlendContext, x) |
| #define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
| #define | COPY(src, depth) |
| #define | DEFINE_BLEND8(name, expr) |
| #define | DEFINE_BLEND16(name, expr, depth) |
| #define | A top[j] |
| #define | B bottom[j] |
| #define | MULTIPLY(x, a, b) ((x) * (((a) * (b)) / 255)) |
| #define | SCREEN(x, a, b) (255 - (x) * ((255 - (a)) * (255 - (b)) / 255)) |
| #define | BURN(a, b) (((a) == 0) ? (a) : FFMAX(0, 255 - ((255 - (b)) << 8) / (a))) |
| #define | DODGE(a, b) (((a) == 255) ? (a) : FFMIN(255, (((b) << 8) / (255 - (a))))) |
| #define | MULTIPLY(x, a, b) ((x) * (((a) * (b)) / 65535)) |
| #define | SCREEN(x, a, b) (65535 - (x) * ((65535 - (a)) * (65535 - (b)) / 65535)) |
| #define | BURN(a, b) (((a) == 0) ? (a) : FFMAX(0, 65535 - ((65535 - (b)) << 16) / (a))) |
| #define | DODGE(a, b) (((a) == 65535) ? (a) : FFMIN(65535, (((b) << 16) / (65535 - (a))))) |
| #define | MULTIPLY(x, a, b) ((x) * (((a) * (b)) / 1023)) |
| #define | SCREEN(x, a, b) (1023 - (x) * ((1023 - (a)) * (1023 - (b)) / 1023)) |
| #define | BURN(a, b) (((a) == 0) ? (a) : FFMAX(0, 1023 - ((1023 - (b)) << 10) / (a))) |
| #define | DODGE(a, b) (((a) == 1023) ? (a) : FFMIN(1023, (((b) << 10) / (1023 - (a))))) |
| #define | MULTIPLY(x, a, b) ((x) * (((a) * (b)) / 4095)) |
| #define | SCREEN(x, a, b) (4095 - (x) * ((4095 - (a)) * (4095 - (b)) / 4095)) |
| #define | BURN(a, b) (((a) == 0) ? (a) : FFMAX(0, 4095 - ((4095 - (b)) << 12) / (a))) |
| #define | DODGE(a, b) (((a) == 4095) ? (a) : FFMIN(4095, (((b) << 12) / (4095 - (a))))) |
| #define | MULTIPLY(x, a, b) ((x) * (((a) * (b)) / 511)) |
| #define | SCREEN(x, a, b) (511 - (x) * ((511 - (a)) * (511 - (b)) / 511)) |
| #define | BURN(a, b) (((a) == 0) ? (a) : FFMAX(0, 511 - ((511 - (b)) << 9) / (a))) |
| #define | DODGE(a, b) (((a) == 511) ? (a) : FFMIN(511, (((b) << 9) / (511 - (a))))) |
| #define | DEFINE_BLEND_EXPR(type, name, div) |
| #define | DEFINE_INIT_BLEND_FUNC(depth, nbits) |
Enumerations | |
| enum | { VAR_X, VAR_Y, VAR_W, VAR_H, VAR_SW, VAR_SH, VAR_T, VAR_N, VAR_A, VAR_B, VAR_TOP, VAR_BOTTOM, VAR_VARS_NB } |
Functions | |
| FRAMESYNC_DEFINE_CLASS (blend, BlendContext, fs) | |
| static void | blend_normal_8bit (const uint8_t *top, ptrdiff_t top_linesize, const uint8_t *bottom, ptrdiff_t bottom_linesize, uint8_t *dst, ptrdiff_t dst_linesize, ptrdiff_t width, ptrdiff_t height, FilterParams *param, double *values, int starty) |
| static void | blend_normal_16bit (const uint8_t *_top, ptrdiff_t top_linesize, const uint8_t *_bottom, ptrdiff_t bottom_linesize, uint8_t *_dst, ptrdiff_t dst_linesize, ptrdiff_t width, ptrdiff_t height, FilterParams *param, double *values, int starty) |
| DEFINE_BLEND8 (multiply128, av_clip_uint8((A - 128) *B/32.+128)) | |
| static AVFrame * | blend_frame (AVFilterContext *ctx, AVFrame *top_buf, const AVFrame *bottom_buf) |
| static int | blend_frame_for_dualinput (FFFrameSync *fs) |
| static av_cold int | init (AVFilterContext *ctx) |
| static int | query_formats (AVFilterContext *ctx) |
| static av_cold void | uninit (AVFilterContext *ctx) |
| DEFINE_INIT_BLEND_FUNC (8, 8) | |
| DEFINE_INIT_BLEND_FUNC (9, 16) | |
| DEFINE_INIT_BLEND_FUNC (10, 16) | |
| DEFINE_INIT_BLEND_FUNC (12, 16) | |
| DEFINE_INIT_BLEND_FUNC (16, 16) | |
| void | ff_blend_init (FilterParams *param, int depth) |
| static int | config_output (AVFilterLink *outlink) |
Variables | |
| static const char *const | var_names [] = { "X", "Y", "W", "H", "SW", "SH", "T", "N", "A", "B", "TOP", "BOTTOM", NULL } |
| static const AVOption | blend_options [] |
| #define TOP 0 |
Definition at line 32 of file vf_blend.c.
| #define BOTTOM 1 |
Definition at line 33 of file vf_blend.c.
| #define COMMON_OPTIONS |
Definition at line 62 of file vf_blend.c.
| #define OFFSET | ( | x | ) | offsetof(BlendContext, x) |
Definition at line 114 of file vf_blend.c.
| #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
Definition at line 115 of file vf_blend.c.
| #define COPY | ( | src, | |
| depth | |||
| ) |
Definition at line 124 of file vf_blend.c.
| #define DEFINE_BLEND8 | ( | name, | |
| expr | |||
| ) |
Definition at line 187 of file vf_blend.c.
| #define DEFINE_BLEND16 | ( | name, | |
| expr, | |||
| depth | |||
| ) |
Definition at line 207 of file vf_blend.c.
| #define A top[j] |
Definition at line 233 of file vf_blend.c.
| #define B bottom[j] |
Definition at line 234 of file vf_blend.c.
Definition at line 237 of file vf_blend.c.
Definition at line 238 of file vf_blend.c.
Definition at line 239 of file vf_blend.c.
Definition at line 236 of file vf_blend.c.
Definition at line 237 of file vf_blend.c.
Definition at line 238 of file vf_blend.c.
Definition at line 239 of file vf_blend.c.
Definition at line 236 of file vf_blend.c.
Definition at line 237 of file vf_blend.c.
Definition at line 238 of file vf_blend.c.
Definition at line 239 of file vf_blend.c.
Definition at line 236 of file vf_blend.c.
Definition at line 237 of file vf_blend.c.
Definition at line 238 of file vf_blend.c.
Definition at line 239 of file vf_blend.c.
Definition at line 237 of file vf_blend.c.
Definition at line 238 of file vf_blend.c.
Definition at line 239 of file vf_blend.c.
| #define DEFINE_INIT_BLEND_FUNC | ( | depth, | |
| nbits | |||
| ) |
Definition at line 603 of file vf_blend.c.
| anonymous enum |
| Enumerator | |
|---|---|
| VAR_X | |
| VAR_Y | |
| VAR_W | |
| VAR_H | |
| VAR_SW | |
| VAR_SH | |
| VAR_T | |
| VAR_N | |
| VAR_A | |
| VAR_B | |
| VAR_TOP | |
| VAR_BOTTOM | |
| VAR_VARS_NB | |
Definition at line 51 of file vf_blend.c.
| FRAMESYNC_DEFINE_CLASS | ( | blend | , |
| BlendContext | , | ||
| fs | |||
| ) |
|
static |
Definition at line 143 of file vf_blend.c.
|
static |
Definition at line 162 of file vf_blend.c.
Definition at line 246 of file vf_blend.c.
|
static |
Definition at line 507 of file vf_blend.c.
Referenced by blend_frame_for_dualinput().
|
static |
Definition at line 540 of file vf_blend.c.
Referenced by init().
|
static |
Definition at line 555 of file vf_blend.c.
|
static |
Definition at line 565 of file vf_blend.c.
|
static |
Definition at line 591 of file vf_blend.c.
| DEFINE_INIT_BLEND_FUNC | ( | 8 | , |
| 8 | |||
| ) |
| DEFINE_INIT_BLEND_FUNC | ( | 9 | , |
| 16 | |||
| ) |
| DEFINE_INIT_BLEND_FUNC | ( | 10 | , |
| 16 | |||
| ) |
| DEFINE_INIT_BLEND_FUNC | ( | 12 | , |
| 16 | |||
| ) |
| DEFINE_INIT_BLEND_FUNC | ( | 16 | , |
| 16 | |||
| ) |
| void ff_blend_init | ( | FilterParams * | param, |
| int | depth | ||
| ) |
Definition at line 648 of file vf_blend.c.
Referenced by config_output().
|
static |
Definition at line 681 of file vf_blend.c.
|
static |
Definition at line 50 of file vf_blend.c.
Referenced by config_output().
|
static |
Definition at line 117 of file vf_blend.c.
1.8.17