FFmpeg
|
Go to the source code of this file.
Data Structures | |
struct | XBRContext |
struct | ThreadData |
Used for passing data between threads. More... | |
Macros | |
#define | LB_MASK 0x00FEFEFE |
#define | RED_BLUE_MASK 0x00FF00FF |
#define | GREEN_MASK 0x0000FF00 |
#define | OFFSET(x) offsetof(XBRContext, x) |
#define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
#define | YMASK 0xff0000 |
#define | UMASK 0x00ff00 |
#define | VMASK 0x0000ff |
#define | ABSDIFF(a, b) (abs((int)(a)-(int)(b))) |
#define | ALPHA_BLEND_128_W(a, b) ((((a) & LB_MASK) >> 1) + (((b) & LB_MASK) >> 1)) |
#define | ALPHA_BLEND_BASE(a, b, m, s) |
#define | ALPHA_BLEND_32_W(a, b) ALPHA_BLEND_BASE(a, b, 1, 3) |
#define | ALPHA_BLEND_64_W(a, b) ALPHA_BLEND_BASE(a, b, 1, 2) |
#define | ALPHA_BLEND_192_W(a, b) ALPHA_BLEND_BASE(a, b, 3, 2) |
#define | ALPHA_BLEND_224_W(a, b) ALPHA_BLEND_BASE(a, b, 7, 3) |
#define | df(A, B) pixel_diff(A, B, r2y) |
#define | eq(A, B) (df(A, B) < 155) |
#define | FILT2(PE, PI, PH, PF, PG, PC, PD, PB, PA, G5, C4, G0, D0, C1, B1, F4, I4, H5, I5, A0, A1, N0, N1, N2, N3) |
#define | FILT3(PE, PI, PH, PF, PG, PC, PD, PB, PA, G5, C4, G0, D0, C1, B1, F4, I4, H5, I5, A0, A1, N0, N1, N2, N3, N4, N5, N6, N7, N8) |
#define | FILT4(PE, PI, PH, PF, PG, PC, PD, PB, PA, G5, C4, G0, D0, C1, B1, F4, I4, H5, I5, A0, A1, N15, N14, N11, N3, N7, N10, N13, N12, N9, N6, N2, N1, N5, N8, N4, N0) |
#define | XBR_FUNC(size) |
Typedefs | |
typedef int(* | xbrfunc_t) (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
Functions | |
AVFILTER_DEFINE_CLASS (xbr) | |
static uint32_t | pixel_diff (uint32_t x, uint32_t y, const uint32_t *r2y) |
static av_always_inline void | xbr_filter (const ThreadData *td, int jobnr, int nb_jobs, int n) |
static int | config_output (AVFilterLink *outlink) |
static int | filter_frame (AVFilterLink *inlink, AVFrame *in) |
static av_cold int | init (AVFilterContext *ctx) |
Variables | |
static const AVOption | xbr_options [] |
static const AVFilterPad | xbr_inputs [] |
static const AVFilterPad | xbr_outputs [] |
const AVFilter | ff_vf_xbr |
XBR Filter is used for depixelization of image. This is based on Hyllian's xBR shader.
Definition in file vf_xbr.c.
#define OFFSET | ( | x | ) | offsetof(XBRContext, x) |
#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
#define YMASK 0xff0000 |
#define UMASK 0x00ff00 |
#define VMASK 0x0000ff |
#define ALPHA_BLEND_32_W | ( | a, | |
b | |||
) | ALPHA_BLEND_BASE(a, b, 1, 3) |
#define ALPHA_BLEND_64_W | ( | a, | |
b | |||
) | ALPHA_BLEND_BASE(a, b, 1, 2) |
#define ALPHA_BLEND_192_W | ( | a, | |
b | |||
) | ALPHA_BLEND_BASE(a, b, 3, 2) |
#define ALPHA_BLEND_224_W | ( | a, | |
b | |||
) | ALPHA_BLEND_BASE(a, b, 7, 3) |
#define XBR_FUNC | ( | size | ) |
AVFILTER_DEFINE_CLASS | ( | xbr | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
const AVFilter ff_vf_xbr |