FFmpeg
|
XBR Filter is used for depixelization of image. More...
#include "libavutil/opt.h"
#include "libavutil/avassert.h"
#include "libavutil/pixdesc.h"
#include "internal.h"
Go to the source code of this file.
Data Structures | |
struct | XBRContext |
struct | ThreadData |
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 | 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 | query_formats (AVFilterContext *ctx) |
static int | filter_frame (AVFilterLink *inlink, AVFrame *in) |
static int | init (AVFilterContext *ctx) |
Variables | |
static const AVOption | xbr_options [] |
static const AVFilterPad | xbr_inputs [] |
static const AVFilterPad | xbr_outputs [] |
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 |
Referenced by pixel_diff().
#define UMASK 0x00ff00 |
Referenced by pixel_diff().
#define VMASK 0x0000ff |
Referenced by pixel_diff().
#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) |
Definition at line 85 of file vf_xbr.c.
Referenced by filter_slice().
Definition at line 86 of file vf_xbr.c.
Referenced by avfilter_register_all(), config_props(), filter_frame(), initialize(), process_command(), and uninit().
#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 | |||
) |
Definition at line 88 of file vf_xbr.c.
Referenced by xbr_filter().
#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 | |||
) |
Definition at line 122 of file vf_xbr.c.
Referenced by xbr_filter().
#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 | |||
) |
Definition at line 164 of file vf_xbr.c.
Referenced by xbr_filter().
#define XBR_FUNC | ( | size | ) |
typedef int(* xbrfunc_t)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
AVFILTER_DEFINE_CLASS | ( | xbr | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
AVFilter ff_vf_xbr |