|
FFmpeg
|
#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 | HQXContext |
| struct | ThreadData |
| Used for passing data between threads. More... | |
Macros | |
| #define | OFFSET(x) offsetof(HQXContext, 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 | P(m, r) ((k_shuffled & (m)) == (r)) |
| #define | DROP4(z) ((z) > 4 ? (z)-1 : (z)) |
| #define | SHF(x, rot, n) (((x) >> ((rot) ? 7-DROP4(n) : DROP4(n)) & 1) << DROP4(p##n)) |
| #define | WDIFF(c1, c2) yuv_diff(rgb2yuv(r2y, c1), rgb2yuv(r2y, c2)) |
| #define | INTERP_BOOTSTRAP(rot) |
| #define | HQX_FUNC(size) |
Typedefs | |
| typedef int(* | hqxfunc_t) (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
Functions | |
| AVFILTER_DEFINE_CLASS (hqx) | |
| static av_always_inline uint32_t | rgb2yuv (const uint32_t *r2y, uint32_t c) |
| static av_always_inline int | yuv_diff (uint32_t yuv1, uint32_t yuv2) |
| static av_always_inline uint32_t | interp_2px (uint32_t c1, int w1, uint32_t c2, int w2, int s) |
| static av_always_inline uint32_t | interp_3px (uint32_t c1, int w1, uint32_t c2, int w2, uint32_t c3, int w3, int s) |
| static av_always_inline uint32_t | hq2x_interp_1x1 (const uint32_t *r2y, int k, const uint32_t *w, int p0, int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8) |
| static av_always_inline void | hq3x_interp_2x1 (uint32_t *dst, int dst_linesize, const uint32_t *r2y, int k, const uint32_t *w, int pos00, int pos01, int p0, int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int rotate) |
| static av_always_inline void | hq4x_interp_2x2 (uint32_t *dst, int dst_linesize, const uint32_t *r2y, int k, const uint32_t *w, int pos00, int pos01, int pos10, int pos11, int p0, int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8) |
| static av_always_inline void | hqx_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 | hqx_options [] |
| static const AVFilterPad | hqx_inputs [] |
| static const AVFilterPad | hqx_outputs [] |
| const AVFilter | ff_vf_hqx |
hqx magnification filters (hq2x, hq3x, hq4x)
Originally designed by Maxim Stephin.
Definition in file vf_hqx.c.
| #define OFFSET | ( | x | ) | offsetof(HQXContext, x) |
| #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
| #define YMASK 0xff0000 |
| #define UMASK 0x00ff00 |
| #define VMASK 0x0000ff |
| #define INTERP_BOOTSTRAP | ( | rot | ) |
| #define HQX_FUNC | ( | size | ) |
| AVFILTER_DEFINE_CLASS | ( | hqx | ) |
|
static |
Definition at line 58 of file vf_hqx.c.
Referenced by hqx_filter().
|
static |
Definition at line 63 of file vf_hqx.c.
Referenced by hqx_filter().
|
static |
Definition at line 76 of file vf_hqx.c.
Referenced by hq2x_interp_1x1(), hq3x_interp_2x1(), and hq4x_interp_2x2().
|
static |
Definition at line 83 of file vf_hqx.c.
Referenced by hq2x_interp_1x1(), hq3x_interp_2x1(), and hq4x_interp_2x2().
|
static |
Definition at line 119 of file vf_hqx.c.
Referenced by hqx_filter().
|
static |
Definition at line 169 of file vf_hqx.c.
Referenced by hqx_filter().
|
static |
Definition at line 235 of file vf_hqx.c.
Referenced by hqx_filter().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| const AVFilter ff_vf_hqx |
1.8.17