FFmpeg
|
#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "libavutil/eval.h"
#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "filters.h"
#include "video.h"
Go to the source code of this file.
Data Structures | |
struct | Curve |
struct | Fill |
struct | Range |
struct | Preset |
struct | PseudoColorContext |
struct | ThreadData |
Used for passing data between threads. More... | |
Macros | |
#define | OFFSET(x) offsetof(PseudoColorContext, x) |
#define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_RUNTIME_PARAM |
#define | PCLIP(v, max, dst, src, x) |
#define | RGB_TO_Y_BT709(r, g, b) |
#define | RGB_TO_U_BT709(r1, g1, b1, max) |
#define | RGB_TO_V_BT709(r1, g1, b1, max) |
#define | Wr 0.2126 |
#define | Wb 0.0722 |
#define | Wg (1 - Wr - Wb) |
#define | Umax 0.436 |
#define | Vmax 0.615 |
#define | YUV_BT709_TO_R(y, u, v, max) ((y + v * (1 - Wr) / Vmax) * max) |
#define | YUV_BT709_TO_G(y, u, v, max) ((y - (u * Wb * (1 - Wb) / (Umax * Wg)) - (v * Wr * (1 - Wr) / (Vmax * Wg))) * max) |
#define | YUV_BT709_TO_B(y, u, v, max) ((y + u * (1 - Wb) / Umax) * max) |
Typedefs | |
typedef double(* | curve_fun) (double x) |
Functions | |
static double | limit (double x) |
static double | solarfun (double x) |
static double | coolfunu (double x) |
static double | coolfunv (double x) |
static double | heatfunu (double x) |
static double | heatfunv (double x) |
static double | fieryfunu (double x) |
static double | fieryfunv (double x) |
static double | helixfunu (double x) |
static double | helixfunv (double x) |
static float | lerpf (float v0, float v1, float f) |
static void | pseudocolor_filter (int max, int width, int height, const uint8_t *index, const uint8_t *src, uint8_t *dst, ptrdiff_t ilinesize, ptrdiff_t slinesize, ptrdiff_t dlinesize, float *lut, float opacity) |
static void | pseudocolor_filter_11 (int max, int width, int height, const uint8_t *index, const uint8_t *src, uint8_t *dst, ptrdiff_t ilinesize, ptrdiff_t slinesize, ptrdiff_t dlinesize, float *lut, float opacity) |
static void | pseudocolor_filter_11d (int max, int width, int height, const uint8_t *index, const uint8_t *src, uint8_t *dst, ptrdiff_t ilinesize, ptrdiff_t slinesize, ptrdiff_t dlinesize, float *lut, float opacity) |
static void | pseudocolor_filter_10 (int max, int width, int height, const uint8_t *index, const uint8_t *src, uint8_t *dst, ptrdiff_t ilinesize, ptrdiff_t slinesize, ptrdiff_t dlinesize, float *lut, float opacity) |
static void | pseudocolor_filter_10d (int max, int width, int height, const uint8_t *index, const uint8_t *src, uint8_t *dst, ptrdiff_t ilinesize, ptrdiff_t slinesize, ptrdiff_t dlinesize, float *lut, float opacity) |
static void | pseudocolor_filter_16 (int max, int width, int height, const uint8_t *iindex, const uint8_t *ssrc, uint8_t *ddst, ptrdiff_t ilinesize, ptrdiff_t slinesize, ptrdiff_t dlinesize, float *lut, float opacity) |
static void | pseudocolor_filter_16_10 (int max, int width, int height, const uint8_t *iindex, const uint8_t *ssrc, uint8_t *ddst, ptrdiff_t ilinesize, ptrdiff_t slinesize, ptrdiff_t dlinesize, float *lut, float opacity) |
static void | pseudocolor_filter_16_10d (int max, int width, int height, const uint8_t *iindex, const uint8_t *ssrc, uint8_t *ddst, ptrdiff_t ilinesize, ptrdiff_t slinesize, ptrdiff_t dlinesize, float *lut, float opacity) |
static void | pseudocolor_filter_16_11 (int max, int width, int height, const uint8_t *iindex, const uint8_t *ssrc, uint8_t *ddst, ptrdiff_t ilinesize, ptrdiff_t slinesize, ptrdiff_t dlinesize, float *lut, float opacity) |
static void | pseudocolor_filter_16_11d (int max, int width, int height, const uint8_t *iindex, const uint8_t *ssrc, uint8_t *ddst, ptrdiff_t ilinesize, ptrdiff_t slinesize, ptrdiff_t dlinesize, float *lut, float opacity) |
static double | poly_eval (const double *const poly, double x, curve_fun fun) |
static int | config_input (AVFilterLink *inlink) |
static int | filter_slice (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | filter_frame (AVFilterLink *inlink, AVFrame *in) |
static int | process_command (AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags) |
static av_cold void | uninit (AVFilterContext *ctx) |
AVFILTER_DEFINE_CLASS (pseudocolor) | |
Variables | |
static const char *const | var_names [] |
static const Range | full_range = {{0, 1}, {1, 1}} |
static const Range | nominal_range [] = {{{0, 1}, {4096, 65536}}, {{4096, 65536}, {60161, 65536}}, {{60161, 65536}, {1, 1}}} |
static const Range | preferred_range [] = {{{0, 1}, {1280, 65536}}, {{1280, 65536}, {62977, 65536}}, {{62977, 65536}, {1, 1}}} |
static const Range | total_range [] = {{{0, 1}, {256, 65536}}, {{256, 65536}, {65280, 65536}}, {{65280, 65536}, {1, 1}}} |
static const Range | spec1_range [] = {{{0, 1}, {16, 256}}, {{16, 256}, {236, 256}}, {{236, 256}, {256, 256}}} |
static const Range | spec2_range [] = {{{0, 1}, {16, 256}}, {{16, 256}, {22, 256}}, {{22, 256}, {226, 256}}, {{226, 256}, {236, 256}}, {{236, 256}, {256, 256}}} |
static const Range | shadows_range [] = {{{0, 1}, {32, 256}}, {{32, 256}, {256, 256}}} |
static const Range | highlights_range [] = {{{0,1}, {214,256}}, {{214, 256}, {224, 256}}, {{224, 256}, {256, 256}}} |
static const Fill | spec1_fills [] = {{{0.5f, 0.f, .5f, 1.f}}, {{-1.f, -1.f, -1.f, 1.f}}, {{1.f, 0.f, 0.f, 1.f}}} |
static const Fill | spec2_fills [] = {{{0.5f, 0.f, .5f, 1.f}}, {{0.f, 1.f, 1.f, 1.f}}, {{-1.f, -1.f, -1.f, 1.f}}, {{1.f, 1.f, 0.f, 1.f}}, {{1.f, 0.f, 0.f, 1.f}}} |
static const Fill | shadows_fills [] = {{{0.8f, 0.4f, .8f, 1.f}}, {{-1.f, -1.f, -1.f, 1.f}}} |
static const Fill | highlights_fills [] = {{{-1.f, -1.f, -1.f, 1.f}}, {{1.f, 0.3f, 0.6f, 1.f}}, {{1.f, 0.2f, .5f, 1.f}}} |
static const Curve | curves [] |
static const Preset | presets [] |
static const AVOption | pseudocolor_options [] |
static enum AVPixelFormat | pix_fmts [] |
static const AVFilterPad | inputs [] |
const AVFilter | ff_vf_pseudocolor |
#define OFFSET | ( | x | ) | offsetof(PseudoColorContext, x) |
Definition at line 336 of file vf_pseudocolor.c.
Definition at line 337 of file vf_pseudocolor.c.
Definition at line 674 of file vf_pseudocolor.c.
Definition at line 678 of file vf_pseudocolor.c.
Definition at line 682 of file vf_pseudocolor.c.
#define Wr 0.2126 |
Definition at line 686 of file vf_pseudocolor.c.
#define Wb 0.0722 |
Definition at line 687 of file vf_pseudocolor.c.
Definition at line 688 of file vf_pseudocolor.c.
#define Umax 0.436 |
Definition at line 689 of file vf_pseudocolor.c.
#define Vmax 0.615 |
Definition at line 690 of file vf_pseudocolor.c.
Definition at line 692 of file vf_pseudocolor.c.
#define YUV_BT709_TO_G | ( | y, | |
u, | |||
v, | |||
max | |||
) | ((y - (u * Wb * (1 - Wb) / (Umax * Wg)) - (v * Wr * (1 - Wr) / (Vmax * Wg))) * max) |
Definition at line 694 of file vf_pseudocolor.c.
Definition at line 696 of file vf_pseudocolor.c.
Definition at line 104 of file vf_pseudocolor.c.
enum var_name |
Definition at line 46 of file vf_pseudocolor.c.
enum Curves |
Enumerator | |
---|---|
MAGMA | |
INFERNO | |
PLASMA | |
VIRIDIS | |
TURBO | |
CIVIDIS | |
SOLAR | |
SPECTRAL | |
COOL | |
HEAT | |
FIERY | |
BLUES | |
GREEN | |
HELIX | |
NB_CURVES |
Definition at line 61 of file vf_pseudocolor.c.
enum Presets |
Definition at line 79 of file vf_pseudocolor.c.
Definition at line 142 of file vf_pseudocolor.c.
Referenced by acolor16(), add_sorted(), apply_prof(), apply_prof_uni(), apply_prof_uni_w(), autocorr_max(), avformat_find_stream_info(), bidir_refine(), bit_allocation(), check_pixel_ptr(), chroma16(), clip_to_window(), color16(), decode_frame_header(), deflate(), deflate16(), dilation(), dilation16(), distance_limited(), do_adaptive_prediction(), encode_low(), envelope_instant16(), envelope_peak16(), erosion(), erosion16(), ff_find_last_ts(), ff_loop_filter_h_48_16_lsx(), ff_loop_filter_h_48_16_msa(), ff_loop_filter_h_4_8_lsx(), ff_loop_filter_h_4_8_msa(), ff_loop_filter_h_84_16_lsx(), ff_loop_filter_h_84_16_msa(), ff_loop_filter_h_88_16_lsx(), ff_loop_filter_h_88_16_msa(), ff_loop_filter_h_8_8_lsx(), ff_loop_filter_h_8_8_msa(), ff_loop_filter_v_16_8_lsx(), ff_loop_filter_v_16_8_msa(), ff_loop_filter_v_48_16_lsx(), ff_loop_filter_v_48_16_msa(), ff_loop_filter_v_4_8_lsx(), ff_loop_filter_v_4_8_msa(), ff_loop_filter_v_84_16_lsx(), ff_loop_filter_v_84_16_msa(), ff_loop_filter_v_88_16_lsx(), ff_loop_filter_v_88_16_msa(), ff_loop_filter_v_8_8_lsx(), ff_loop_filter_v_8_8_msa(), ff_vp8_h_loop_filter16_inner_lsx(), ff_vp8_h_loop_filter16_inner_msa(), ff_vp8_h_loop_filter16_lsx(), ff_vp8_h_loop_filter16_msa(), ff_vp8_h_loop_filter8uv_inner_msa(), ff_vp8_h_loop_filter8uv_lsx(), ff_vp8_h_loop_filter8uv_msa(), ff_vp8_v_loop_filter16_inner_lsx(), ff_vp8_v_loop_filter16_inner_msa(), ff_vp8_v_loop_filter16_lsx(), ff_vp8_v_loop_filter16_msa(), ff_vp8_v_loop_filter8uv_inner_msa(), ff_vp8_v_loop_filter8uv_lsx(), ff_vp8_v_loop_filter8uv_msa(), filter_block2d(), filter_block3d1(), filter_block3d2(), filter_frame(), flat16(), generate_joint_tables(), get_rdelta(), get_sr_golomb(), get_sr_golomb_flac(), get_ur_golomb(), get_ur_golomb_jpegls(), inflate(), inflate16(), log2mono(), log2sample(), log2stereo(), lowpass16(), process_frame(), set_sr_golomb(), set_ur_golomb(), set_ur_golomb_jpegls(), svq3_decode_block(), update16(), update_gain_history(), vp9_hz_lpf_t4_and_t8_16w(), vp9_vt_lpf_t4_and_t8_16w(), and vp9_vt_lpf_t4_and_t8_8w().
Definition at line 147 of file vf_pseudocolor.c.
Definition at line 152 of file vf_pseudocolor.c.
Definition at line 157 of file vf_pseudocolor.c.
Definition at line 162 of file vf_pseudocolor.c.
Definition at line 167 of file vf_pseudocolor.c.
Definition at line 172 of file vf_pseudocolor.c.
Definition at line 177 of file vf_pseudocolor.c.
Definition at line 182 of file vf_pseudocolor.c.
Definition at line 187 of file vf_pseudocolor.c.
Definition at line 403 of file vf_pseudocolor.c.
|
static |
Definition at line 415 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 439 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 462 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 485 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 509 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 533 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 560 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 587 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 614 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 644 of file vf_pseudocolor.c.
Referenced by config_input().
Definition at line 699 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 710 of file vf_pseudocolor.c.
Referenced by process_command().
|
static |
Definition at line 976 of file vf_pseudocolor.c.
Referenced by filter_frame().
|
static |
Definition at line 1002 of file vf_pseudocolor.c.
|
static |
Definition at line 1025 of file vf_pseudocolor.c.
|
static |
Definition at line 1045 of file vf_pseudocolor.c.
AVFILTER_DEFINE_CLASS | ( | pseudocolor | ) |
|
static |
Definition at line 31 of file vf_pseudocolor.c.
Referenced by config_input().
|
static |
Definition at line 128 of file vf_pseudocolor.c.
|
static |
Definition at line 129 of file vf_pseudocolor.c.
|
static |
Definition at line 130 of file vf_pseudocolor.c.
|
static |
Definition at line 131 of file vf_pseudocolor.c.
|
static |
Definition at line 132 of file vf_pseudocolor.c.
|
static |
Definition at line 133 of file vf_pseudocolor.c.
|
static |
Definition at line 134 of file vf_pseudocolor.c.
|
static |
Definition at line 135 of file vf_pseudocolor.c.
|
static |
Definition at line 137 of file vf_pseudocolor.c.
|
static |
Definition at line 138 of file vf_pseudocolor.c.
Definition at line 139 of file vf_pseudocolor.c.
|
static |
Definition at line 140 of file vf_pseudocolor.c.
|
static |
Definition at line 192 of file vf_pseudocolor.c.
Referenced by config_input(), curves_init(), curves_uninit(), filter_frame(), filter_slice_packed(), filter_slice_planar(), parse_psfile(), and process_command().
|
static |
Definition at line 286 of file vf_pseudocolor.c.
Referenced by config_input(), and nvenc_map_preset().
|
static |
Definition at line 339 of file vf_pseudocolor.c.
|
static |
Definition at line 374 of file vf_pseudocolor.c.
|
static |
Definition at line 1036 of file vf_pseudocolor.c.
const AVFilter ff_vf_pseudocolor |
Definition at line 1058 of file vf_pseudocolor.c.