|
FFmpeg
|
#include <float.h>#include "libavutil/avassert.h"#include "libavutil/imgutils.h"#include "libavutil/opt.h"#include "libavutil/pixdesc.h"#include "libavcodec/avfft.h"#include "avfilter.h"#include "filters.h"#include "formats.h"#include "framesync.h"#include "internal.h"#include "video.h"Go to the source code of this file.
Data Structures | |
| struct | ThreadData |
| Used for passing data between threads. More... | |
| struct | PosCode |
| struct | PosPairCode |
| struct | SliceContext |
| struct | BM3DContext |
Macros | |
| #define | MAX_NB_THREADS 32 |
| #define | OFFSET(x) offsetof(BM3DContext, x) |
| #define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
| #define | SQR(x) ((x) * (x)) |
Enumerations | |
| enum | FilterModes { BASIC, FINAL, NB_MODES } |
Functions | |
| AVFILTER_DEFINE_CLASS (bm3d) | |
| static int | query_formats (AVFilterContext *ctx) |
| static int | do_search_boundary (int pos, int plane_boundary, int search_range, int search_step) |
| static int | search_boundary (int plane_boundary, int search_range, int search_step, int vertical, int y, int x) |
| static int | cmp_scores (const void *a, const void *b) |
| static double | do_block_ssd (BM3DContext *s, PosCode *pos, const uint8_t *src, int src_stride, int r_y, int r_x) |
| static double | do_block_ssd16 (BM3DContext *s, PosCode *pos, const uint8_t *src, int src_stride, int r_y, int r_x) |
| static void | do_block_matching_multi (BM3DContext *s, const uint8_t *src, int src_stride, int src_range, const PosCode *search_pos, int search_size, float th_mse, int r_y, int r_x, int plane, int jobnr) |
| static void | block_matching_multi (BM3DContext *s, const uint8_t *ref, int ref_linesize, int y, int x, int exclude_cur_pos, int plane, int jobnr) |
| static void | block_matching (BM3DContext *s, const uint8_t *ref, int ref_linesize, int j, int i, int plane, int jobnr) |
| static void | get_block_row (const uint8_t *srcp, int src_linesize, int y, int x, int block_size, float *dst) |
| static void | get_block_row16 (const uint8_t *srcp, int src_linesize, int y, int x, int block_size, float *dst) |
| static void | basic_block_filtering (BM3DContext *s, const uint8_t *src, int src_linesize, const uint8_t *ref, int ref_linesize, int y, int x, int plane, int jobnr) |
| static void | final_block_filtering (BM3DContext *s, const uint8_t *src, int src_linesize, const uint8_t *ref, int ref_linesize, int y, int x, int plane, int jobnr) |
| static void | do_output (BM3DContext *s, uint8_t *dst, int dst_linesize, int plane, int nb_jobs) |
| static void | do_output16 (BM3DContext *s, uint8_t *dst, int dst_linesize, int plane, int nb_jobs) |
| static int | filter_slice (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
| static int | filter_frame (AVFilterContext *ctx, AVFrame **out, AVFrame *in, AVFrame *ref) |
| static int | config_input (AVFilterLink *inlink) |
| static int | activate (AVFilterContext *ctx) |
| static int | process_frame (FFFrameSync *fs) |
| static av_cold int | init (AVFilterContext *ctx) |
| static int | config_output (AVFilterLink *outlink) |
| static av_cold void | uninit (AVFilterContext *ctx) |
Variables | |
| static const AVOption | bm3d_options [] |
| static const AVFilterPad | bm3d_outputs [] |
| AVFilter | ff_vf_bm3d |
| #define MAX_NB_THREADS 32 |
Definition at line 47 of file vf_bm3d.c.
Referenced by config_input().
| #define OFFSET | ( | x | ) | offsetof(BM3DContext, x) |
| #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
| #define SQR | ( | x | ) | ((x) * (x)) |
Definition at line 774 of file vf_bm3d.c.
Referenced by config_input().
| enum FilterModes |
| AVFILTER_DEFINE_CLASS | ( | bm3d | ) |
|
static |
|
static |
Definition at line 194 of file vf_bm3d.c.
Referenced by search_boundary().
|
static |
Definition at line 219 of file vf_bm3d.c.
Referenced by block_matching_multi(), and do_search_boundary().
Definition at line 224 of file vf_bm3d.c.
Referenced by do_block_matching_multi().
|
static |
Definition at line 231 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 252 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 273 of file vf_bm3d.c.
Referenced by block_matching_multi().
|
static |
Definition at line 311 of file vf_bm3d.c.
Referenced by block_matching().
|
static |
Definition at line 351 of file vf_bm3d.c.
Referenced by filter_slice().
|
static |
Definition at line 368 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 379 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 641 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 668 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 696 of file vf_bm3d.c.
Referenced by blend_frame(), and filter_frame().
|
static |
Definition at line 739 of file vf_bm3d.c.
Referenced by activate(), and process_frame().
|
static |
|
static |
|
static |
Definition at line 882 of file vf_bm3d.c.
Referenced by config_output().
|
static |
|
static |
|
static |
|
static |
|
static |
| AVFilter ff_vf_bm3d |
1.8.6