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 |
#define OFFSET | ( | x | ) | offsetof(BM3DContext, x) |
#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
enum FilterModes |
AVFILTER_DEFINE_CLASS | ( | bm3d | ) |
|
static |
|
static |
Definition at line 198 of file vf_bm3d.c.
Referenced by search_boundary().
|
static |
Definition at line 223 of file vf_bm3d.c.
Referenced by block_matching_multi(), and do_search_boundary().
|
static |
Definition at line 228 of file vf_bm3d.c.
Referenced by do_block_matching_multi().
|
static |
Definition at line 235 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 256 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 277 of file vf_bm3d.c.
Referenced by block_matching_multi().
|
static |
Definition at line 315 of file vf_bm3d.c.
Referenced by block_matching().
|
static |
Definition at line 355 of file vf_bm3d.c.
Referenced by filter_slice().
|
static |
Definition at line 372 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 383 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 645 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 672 of file vf_bm3d.c.
Referenced by config_input().
|
static |
Definition at line 700 of file vf_bm3d.c.
Referenced by filter_frame().
|
static |
Definition at line 743 of file vf_bm3d.c.
Referenced by activate(), and process_frame().
|
static |
|
static |
|
static |
Definition at line 888 of file vf_bm3d.c.
Referenced by config_output().
|
static |
|
static |
|
static |
|
static |
|
static |
AVFilter ff_vf_bm3d |