|
FFmpeg
|
3D Lookup table filter More...
#include <float.h>#include "config_components.h"#include "libavutil/mem.h"#include "libavutil/opt.h"#include "libavutil/file_open.h"#include "libavutil/intfloat.h"#include "libavutil/avassert.h"#include "libavutil/avstring.h"#include "drawutils.h"#include "filters.h"#include "video.h"#include "lut3d.h"Go to the source code of this file.
Macros | |
| #define | R 0 |
| #define | G 1 |
| #define | B 2 |
| #define | A 3 |
| #define | OFFSET(x) |
| #define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
| #define | TFLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_RUNTIME_PARAM |
| #define | COMMON_OPTIONS |
| #define | EXPONENT_MASK 0x7F800000 |
| #define | MANTISSA_MASK 0x007FFFFF |
| #define | SIGN_MASK 0x80000000 |
| #define | NEAR(x) |
| #define | PREV(x) |
| #define | NEXT(x) |
| #define | DEFINE_INTERP_FUNC_PLANAR(name, nbits, depth) |
| #define | DEFINE_INTERP_FUNC_PLANAR_FLOAT(name, depth) |
| #define | DEFINE_INTERP_FUNC(name, nbits) |
| #define | MAX_LINE_SIZE 512 |
| #define | NEXT_LINE(loop_cond) |
| #define | NEXT_LINE_OR_GOTO(loop_cond, label) |
| #define | SET_COLOR(id) |
| #define | NEXT_FLOAT_OR_GOTO(value, label) |
Functions | |
| static float | sanitizef (float f) |
| static float | lerpf (float v0, float v1, float f) |
| static struct rgbvec | lerp (const struct rgbvec *v0, const struct rgbvec *v1, float f) |
| static struct rgbvec | interp_nearest (const LUT3DContext *lut3d, const struct rgbvec *s) |
| Get the nearest defined point. | |
| static struct rgbvec | interp_trilinear (const LUT3DContext *lut3d, const struct rgbvec *s) |
| Interpolate using the 8 vertices of a cube. | |
| static struct rgbvec | interp_pyramid (const LUT3DContext *lut3d, const struct rgbvec *s) |
| static struct rgbvec | interp_prism (const LUT3DContext *lut3d, const struct rgbvec *s) |
| static struct rgbvec | interp_tetrahedral (const LUT3DContext *lut3d, const struct rgbvec *s) |
| Tetrahedral interpolation. | |
| static float | prelut_interp_1d_linear (const Lut3DPreLut *prelut, int idx, const float s) |
| static struct rgbvec | apply_prelut (const Lut3DPreLut *prelut, const struct rgbvec *s) |
| static int | skip_line (const char *p) |
| static char * | fget_next_word (char *dst, int max, FILE *f) |
| static int | allocate_3dlut (AVFilterContext *ctx, int lutsize, int prelut) |
| static int | parse_dat (AVFilterContext *ctx, FILE *f) |
| static int | parse_cube (AVFilterContext *ctx, FILE *f) |
| static int | parse_3dl (AVFilterContext *ctx, FILE *f) |
| static int | parse_m3d (AVFilterContext *ctx, FILE *f) |
| static int | nearest_sample_index (float *data, float x, int low, int hi) |
| static int | parse_cinespace (AVFilterContext *ctx, FILE *f) |
| static int | set_identity_matrix (AVFilterContext *ctx, int size) |
Variables | |
| static enum AVPixelFormat | pix_fmts [] |
3D Lookup table filter
Definition in file vf_lut3d.c.
| #define R 0 |
Definition at line 42 of file vf_lut3d.c.
| #define G 1 |
Definition at line 43 of file vf_lut3d.c.
| #define B 2 |
Definition at line 44 of file vf_lut3d.c.
| #define A 3 |
Definition at line 45 of file vf_lut3d.c.
| #define OFFSET | ( | x | ) |
Definition at line 47 of file vf_lut3d.c.
| #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
Definition at line 48 of file vf_lut3d.c.
Definition at line 49 of file vf_lut3d.c.
| #define COMMON_OPTIONS |
Definition at line 50 of file vf_lut3d.c.
| #define EXPONENT_MASK 0x7F800000 |
Definition at line 59 of file vf_lut3d.c.
Referenced by sanitizef().
| #define MANTISSA_MASK 0x007FFFFF |
Definition at line 60 of file vf_lut3d.c.
Referenced by sanitizef().
| #define SIGN_MASK 0x80000000 |
Definition at line 61 of file vf_lut3d.c.
Referenced by sanitizef().
| #define NEAR | ( | x | ) |
| #define PREV | ( | x | ) |
Definition at line 97 of file vf_lut3d.c.
Referenced by config_input(), denoise(), interp_prism(), interp_pyramid(), interp_tetrahedral(), interp_trilinear(), prelut_interp_1d_linear(), and uninit().
| #define NEXT | ( | x | ) |
Definition at line 98 of file vf_lut3d.c.
Referenced by config_input(), denoise(), interp_prism(), interp_pyramid(), interp_tetrahedral(), interp_trilinear(), and uninit().
| #define DEFINE_INTERP_FUNC_PLANAR | ( | name, | |
| nbits, | |||
| depth ) |
Definition at line 321 of file vf_lut3d.c.
| #define DEFINE_INTERP_FUNC_PLANAR_FLOAT | ( | name, | |
| depth ) |
Definition at line 419 of file vf_lut3d.c.
| #define DEFINE_INTERP_FUNC | ( | name, | |
| nbits ) |
Definition at line 486 of file vf_lut3d.c.
| #define MAX_LINE_SIZE 512 |
Definition at line 547 of file vf_lut3d.c.
Referenced by check_draw_edges(), check_rgb24toyv12(), check_rgb_to_uv(), check_rgb_to_y(), check_rgba_to_a(), check_semiplanar(), check_xyz12Torgb48le(), check_yuv2packed1(), check_yuv2packed2(), check_yuv2packedX(), check_yuv2rgb(), checkasm_check_sw_rgb(), parse_3dl(), parse_cinespace(), parse_cube(), parse_dat(), and parse_m3d().
| #define NEXT_LINE | ( | loop_cond | ) |
Definition at line 590 of file vf_lut3d.c.
Referenced by parse_3dl(), parse_cube(), parse_dat(), and parse_m3d().
| #define NEXT_LINE_OR_GOTO | ( | loop_cond, | |
| label ) |
Definition at line 597 of file vf_lut3d.c.
Referenced by parse_cinespace().
| #define SET_COLOR | ( | id | ) |
Referenced by parse_m3d().
| #define NEXT_FLOAT_OR_GOTO | ( | value, | |
| label ) |
Definition at line 865 of file vf_lut3d.c.
Referenced by parse_cinespace().
Definition at line 63 of file vf_lut3d.c.
Referenced by parse_cinespace().
Definition at line 83 of file vf_lut3d.c.
Referenced by lerp(), parse_cinespace(), and prelut_interp_1d_linear().
|
inlinestatic |
Definition at line 88 of file vf_lut3d.c.
Referenced by interp_trilinear().
|
inlinestatic |
Get the nearest defined point.
Definition at line 103 of file vf_lut3d.c.
Referenced by interp_nearest().
|
inlinestatic |
Interpolate using the 8 vertices of a cube.
Definition at line 113 of file vf_lut3d.c.
Referenced by interp_trilinear().
|
inlinestatic |
Definition at line 139 of file vf_lut3d.c.
Referenced by interp_pyramid().
|
inlinestatic |
Definition at line 189 of file vf_lut3d.c.
Referenced by interp_prism().
|
inlinestatic |
Tetrahedral interpolation.
Based on code found in Truelight Software Library paper.
Definition at line 238 of file vf_lut3d.c.
Referenced by interp_tetrahedral().
|
inlinestatic |
Definition at line 293 of file vf_lut3d.c.
Referenced by apply_prelut().
|
inlinestatic |
Definition at line 307 of file vf_lut3d.c.
Referenced by apply_prelut().
|
static |
Definition at line 549 of file vf_lut3d.c.
Referenced by parse_3dl(), parse_cinespace(), parse_cube(), and parse_dat().
|
static |
Definition at line 556 of file vf_lut3d.c.
|
static |
Definition at line 605 of file vf_lut3d.c.
Referenced by parse_3dl(), parse_cinespace(), parse_cube(), parse_dat(), parse_m3d(), and set_identity_matrix().
|
static |
Definition at line 640 of file vf_lut3d.c.
|
static |
Definition at line 675 of file vf_lut3d.c.
|
static |
Definition at line 733 of file vf_lut3d.c.
|
static |
Definition at line 768 of file vf_lut3d.c.
Definition at line 837 of file vf_lut3d.c.
Referenced by parse_cinespace().
|
static |
Definition at line 875 of file vf_lut3d.c.
|
static |
Definition at line 1072 of file vf_lut3d.c.
|
static |
Definition at line 1097 of file vf_lut3d.c.