FFmpeg
Loading...
Searching...
No Matches
vf_pseudocolor.c File Reference
#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)
 
#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)
 
#define YUV_BT709_TO_G(y, u, v, max)
 
#define YUV_BT709_TO_B(y, u, v, max)
 

Typedefs

typedef double(* curve_fun) (double x)
 

Enumerations

enum  var_name {
  VAR_W , VAR_H , VAR_VAL , VAR_YMIN ,
  VAR_UMIN , VAR_VMIN , VAR_AMIN , VAR_YMAX ,
  VAR_UMAX , VAR_VMAX , VAR_AMAX , VAR_VARS_NB
}
 
enum  Curves {
  MAGMA , INFERNO , PLASMA , VIRIDIS ,
  TURBO , CIVIDIS , SOLAR , SPECTRAL ,
  COOL , HEAT , FIERY , BLUES ,
  GREEN , HELIX , NB_CURVES
}
 
enum  Presets {
  PRESET_MAGMA , PRESET_INFERNO , PRESET_PLASMA , PRESET_VIRIDIS ,
  PRESET_TURBO , PRESET_CIVIDIS , PRESET_RANGE1 , PRESET_RANGE2 ,
  PRESET_SHADOWS , PRESET_HIGHLIGHTS , PRESET_SOLAR , PRESET_NOMINAL ,
  PRESET_PREFERRED , PRESET_TOTAL , PRESET_SPECTRAL , PRESET_COOL ,
  PRESET_HEAT , PRESET_FIERY , PRESET_BLUES , PRESET_GREEN ,
  PRESET_HELIX , NB_PRESETS
}
 

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 FFFilter ff_vf_pseudocolor
 

Macro Definition Documentation

◆ OFFSET

#define OFFSET ( x)
Value:

Definition at line 336 of file vf_pseudocolor.c.

◆ FLAGS

◆ PCLIP

#define PCLIP ( v,
max,
dst,
src,
x )
Value:
if (v >= 0 && v <= max) { \
dst[x] = lerpf(src[x], v, opacity);\
} else { \
dst[x] = src[x]; \
}
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87
#define max(a, b)
#define src
Definition vp8dsp.c:248
static float lerpf(float v0, float v1, float f)
Definition vf_cas.c:42

Definition at line 408 of file vf_pseudocolor.c.

Referenced by pseudocolor_filter(), pseudocolor_filter_10(), pseudocolor_filter_10d(), pseudocolor_filter_11(), pseudocolor_filter_11d(), pseudocolor_filter_16(), pseudocolor_filter_16_10(), pseudocolor_filter_16_10d(), pseudocolor_filter_16_11(), and pseudocolor_filter_16_11d().

◆ RGB_TO_Y_BT709

#define RGB_TO_Y_BT709 ( r,
g,
b )
Value:
((0.21260*219.0/255.0) * (r) + (0.71520*219.0/255.0) * (g) + \
(0.07220*219.0/255.0) * (b))
#define r
Definition input.c:42
#define b
Definition input.c:43
const char * g
Definition vf_curves.c:128

Definition at line 674 of file vf_pseudocolor.c.

Referenced by config_input(), config_input(), config_input(), config_output(), cuda_pad_config_props(), pad_opencl_init(), and remap_opencl_load().

◆ RGB_TO_U_BT709

#define RGB_TO_U_BT709 ( r1,
g1,
b1,
max )
Value:
(-(0.11457*224.0/255.0) * r1 - (0.38543*224.0/255.0) * g1 + \
(0.50000*224.0/255.0) * b1 + max * 0.5)
static double b1(void *priv, double x, double y)
Definition vf_xfade.c:2034

Definition at line 678 of file vf_pseudocolor.c.

Referenced by config_input(), config_input(), config_input(), config_output(), cuda_pad_config_props(), pad_opencl_init(), and remap_opencl_load().

◆ RGB_TO_V_BT709

#define RGB_TO_V_BT709 ( r1,
g1,
b1,
max )
Value:
((0.50000*224.0/255.0) * r1 - (0.45415*224.0/255.0) * g1 - \
(0.04585*224.0/255.0) * b1 + max * 0.5)

Definition at line 682 of file vf_pseudocolor.c.

Referenced by config_input(), config_input(), config_input(), config_output(), cuda_pad_config_props(), pad_opencl_init(), and remap_opencl_load().

◆ Wr

#define Wr   0.2126

Definition at line 686 of file vf_pseudocolor.c.

◆ Wb

#define Wb   0.0722

Definition at line 687 of file vf_pseudocolor.c.

◆ Wg

#define Wg   (1 - Wr - Wb)

Definition at line 688 of file vf_pseudocolor.c.

◆ Umax

#define Umax   0.436

Definition at line 689 of file vf_pseudocolor.c.

◆ Vmax

#define Vmax   0.615

Definition at line 690 of file vf_pseudocolor.c.

◆ YUV_BT709_TO_R

#define YUV_BT709_TO_R ( y,
u,
v,
max )
Value:
((y + v * (1 - Wr) / Vmax) * max)
#define Wr
#define Vmax

Definition at line 692 of file vf_pseudocolor.c.

Referenced by config_input().

◆ YUV_BT709_TO_G

#define YUV_BT709_TO_G ( y,
u,
v,
max )
Value:
((y - (u * Wb * (1 - Wb) / (Umax * Wg)) - (v * Wr * (1 - Wr) / (Vmax * Wg))) * max)
#define u(width, name, range_min, range_max)
Definition cbs_apv.c:68
#define Umax
#define Wg
#define Wb

Definition at line 694 of file vf_pseudocolor.c.

Referenced by config_input().

◆ YUV_BT709_TO_B

#define YUV_BT709_TO_B ( y,
u,
v,
max )
Value:
((y + u * (1 - Wb) / Umax) * max)

Definition at line 696 of file vf_pseudocolor.c.

Referenced by config_input().

Typedef Documentation

◆ curve_fun

typedef double(* curve_fun) (double x)

Definition at line 104 of file vf_pseudocolor.c.

Enumeration Type Documentation

◆ var_name

enum var_name
Enumerator
VAR_W 
VAR_H 
VAR_VAL 
VAR_YMIN 
VAR_UMIN 
VAR_VMIN 
VAR_AMIN 
VAR_YMAX 
VAR_UMAX 
VAR_VMAX 
VAR_AMAX 
VAR_VARS_NB 

Definition at line 46 of file vf_pseudocolor.c.

◆ Curves

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.

◆ Presets

enum Presets
Enumerator
PRESET_MAGMA 
PRESET_INFERNO 
PRESET_PLASMA 
PRESET_VIRIDIS 
PRESET_TURBO 
PRESET_CIVIDIS 
PRESET_RANGE1 
PRESET_RANGE2 
PRESET_SHADOWS 
PRESET_HIGHLIGHTS 
PRESET_SOLAR 
PRESET_NOMINAL 
PRESET_PREFERRED 
PRESET_TOTAL 
PRESET_SPECTRAL 
PRESET_COOL 
PRESET_HEAT 
PRESET_FIERY 
PRESET_BLUES 
PRESET_GREEN 
PRESET_HELIX 
NB_PRESETS 

Definition at line 79 of file vf_pseudocolor.c.

Function Documentation

◆ limit()

static double limit ( double x)
static

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(), init_mpeg12_test(), log2mono(), log2sample(), log2stereo(), lowpass16(), process_frame(), readrate_sleep(), set_sr_golomb(), set_ur_golomb(), set_ur_golomb_jpegls(), svq3_decode_block(), update16(), update16_cr(), update_gain_history(), vp9_hz_lpf_t4_and_t8_16w(), vp9_hz_lpf_t4_and_t8_16w(), vp9_vt_lpf_t4_and_t8_16w(), vp9_vt_lpf_t4_and_t8_16w(), vp9_vt_lpf_t4_and_t8_8w(), and vp9_vt_lpf_t4_and_t8_8w().

◆ solarfun()

static double solarfun ( double x)
static

Definition at line 147 of file vf_pseudocolor.c.

◆ coolfunu()

static double coolfunu ( double x)
static

Definition at line 152 of file vf_pseudocolor.c.

◆ coolfunv()

static double coolfunv ( double x)
static

Definition at line 157 of file vf_pseudocolor.c.

◆ heatfunu()

static double heatfunu ( double x)
static

Definition at line 162 of file vf_pseudocolor.c.

◆ heatfunv()

static double heatfunv ( double x)
static

Definition at line 167 of file vf_pseudocolor.c.

◆ fieryfunu()

static double fieryfunu ( double x)
static

Definition at line 172 of file vf_pseudocolor.c.

◆ fieryfunv()

static double fieryfunv ( double x)
static

Definition at line 177 of file vf_pseudocolor.c.

◆ helixfunu()

static double helixfunu ( double x)
static

Definition at line 182 of file vf_pseudocolor.c.

◆ helixfunv()

static double helixfunv ( double x)
static

Definition at line 187 of file vf_pseudocolor.c.

◆ lerpf()

static float lerpf ( float v0,
float v1,
float f )
inlinestatic

Definition at line 403 of file vf_pseudocolor.c.

◆ pseudocolor_filter()

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

Definition at line 415 of file vf_pseudocolor.c.

Referenced by config_input().

◆ pseudocolor_filter_11()

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

Definition at line 439 of file vf_pseudocolor.c.

Referenced by config_input().

◆ pseudocolor_filter_11d()

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

Definition at line 462 of file vf_pseudocolor.c.

Referenced by config_input().

◆ pseudocolor_filter_10()

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

Definition at line 485 of file vf_pseudocolor.c.

Referenced by config_input().

◆ pseudocolor_filter_10d()

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

Definition at line 509 of file vf_pseudocolor.c.

Referenced by config_input().

◆ pseudocolor_filter_16()

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

Definition at line 533 of file vf_pseudocolor.c.

Referenced by config_input().

◆ pseudocolor_filter_16_10()

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

Definition at line 560 of file vf_pseudocolor.c.

Referenced by config_input().

◆ pseudocolor_filter_16_10d()

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

Definition at line 587 of file vf_pseudocolor.c.

Referenced by config_input().

◆ pseudocolor_filter_16_11()

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

Definition at line 614 of file vf_pseudocolor.c.

Referenced by config_input().

◆ pseudocolor_filter_16_11d()

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

Definition at line 644 of file vf_pseudocolor.c.

Referenced by config_input().

◆ poly_eval()

static double poly_eval ( const double *const poly,
double x,
curve_fun fun )
static

Definition at line 699 of file vf_pseudocolor.c.

Referenced by config_input().

◆ config_input()

static int config_input ( AVFilterLink * inlink)
static

Definition at line 710 of file vf_pseudocolor.c.

Referenced by process_command().

◆ filter_slice()

static int filter_slice ( AVFilterContext * ctx,
void * arg,
int jobnr,
int nb_jobs )
static

Definition at line 976 of file vf_pseudocolor.c.

◆ filter_frame()

static int filter_frame ( AVFilterLink * inlink,
AVFrame * in )
static

Definition at line 1002 of file vf_pseudocolor.c.

◆ process_command()

static int process_command ( AVFilterContext * ctx,
const char * cmd,
const char * args,
char * res,
int res_len,
int flags )
static

Definition at line 1025 of file vf_pseudocolor.c.

◆ uninit()

static av_cold void uninit ( AVFilterContext * ctx)
static

Definition at line 1045 of file vf_pseudocolor.c.

◆ AVFILTER_DEFINE_CLASS()

AVFILTER_DEFINE_CLASS ( pseudocolor )

Variable Documentation

◆ var_names

const char* const var_names[]
static
Initial value:
= {
"w",
"h",
"val",
"ymin",
"umin",
"vmin",
"amin",
"ymax",
"umax",
"vmax",
"amax",
}
#define NULL
Definition coverity.c:32

Definition at line 31 of file vf_pseudocolor.c.

◆ full_range

const Range full_range = {{0, 1}, {1, 1}}
static

◆ nominal_range

const Range nominal_range[] = {{{0, 1}, {4096, 65536}}, {{4096, 65536}, {60161, 65536}}, {{60161, 65536}, {1, 1}}}
static

Definition at line 129 of file vf_pseudocolor.c.

◆ preferred_range

const Range preferred_range[] = {{{0, 1}, {1280, 65536}}, {{1280, 65536}, {62977, 65536}}, {{62977, 65536}, {1, 1}}}
static

Definition at line 130 of file vf_pseudocolor.c.

◆ total_range

const Range total_range[] = {{{0, 1}, {256, 65536}}, {{256, 65536}, {65280, 65536}}, {{65280, 65536}, {1, 1}}}
static

Definition at line 131 of file vf_pseudocolor.c.

◆ spec1_range

const Range spec1_range[] = {{{0, 1}, {16, 256}}, {{16, 256}, {236, 256}}, {{236, 256}, {256, 256}}}
static

Definition at line 132 of file vf_pseudocolor.c.

◆ spec2_range

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

Definition at line 133 of file vf_pseudocolor.c.

◆ shadows_range

const Range shadows_range[] = {{{0, 1}, {32, 256}}, {{32, 256}, {256, 256}}}
static

Definition at line 134 of file vf_pseudocolor.c.

◆ highlights_range

const Range highlights_range[] = {{{0,1}, {214,256}}, {{214, 256}, {224, 256}}, {{224, 256}, {256, 256}}}
static

Definition at line 135 of file vf_pseudocolor.c.

◆ spec1_fills

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

Definition at line 137 of file vf_pseudocolor.c.

◆ spec2_fills

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

Definition at line 138 of file vf_pseudocolor.c.

◆ shadows_fills

const Fill shadows_fills[] = {{{0.8f, 0.4f, .8f, 1.f}}, {{-1.f, -1.f, -1.f, 1.f}}}
static

Definition at line 139 of file vf_pseudocolor.c.

◆ highlights_fills

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

Definition at line 140 of file vf_pseudocolor.c.

◆ curves

◆ presets

const Preset presets[]
static
Initial value:
=
{
}
@ VIRIDIS
@ MAGMA
@ COOL
@ PLASMA
@ CIVIDIS
@ FIERY
#define GREEN
#define BLUES
static const Range total_range[]
static const Range shadows_range[]
static const Range nominal_range[]
static const Range preferred_range[]
static const Fill spec2_fills[]
static const Range highlights_range[]
static const Range full_range
static const Curve curves[]
@ TURBO
@ INFERNO
@ SOLAR
@ HELIX
@ HEAT
@ SPECTRAL
static const Fill shadows_fills[]
static const Fill spec1_fills[]
static const Range spec1_range[]
static const Fill highlights_fills[]
@ PRESET_SOLAR
@ PRESET_VIRIDIS
@ PRESET_SPECTRAL
@ PRESET_TURBO
@ PRESET_HELIX
@ PRESET_RANGE1
@ PRESET_COOL
@ PRESET_HEAT
@ PRESET_CIVIDIS
@ PRESET_TOTAL
@ PRESET_PLASMA
@ PRESET_NOMINAL
@ PRESET_MAGMA
@ PRESET_SHADOWS
@ PRESET_HIGHLIGHTS
@ PRESET_RANGE2
@ PRESET_GREEN
@ PRESET_FIERY
@ PRESET_INFERNO
@ PRESET_BLUES
@ PRESET_PREFERRED
static const Range spec2_range[]

Definition at line 286 of file vf_pseudocolor.c.

Referenced by config_input(), and nvenc_map_preset().

◆ pseudocolor_options

const AVOption pseudocolor_options[]
static

Definition at line 339 of file vf_pseudocolor.c.

◆ pix_fmts

enum AVPixelFormat pix_fmts[]
static
Initial value:
= {
}
#define AV_PIX_FMT_GBRAP12
Definition pixfmt.h:569
#define AV_PIX_FMT_YUV420P16
Definition pixfmt.h:556
#define AV_PIX_FMT_YUV444P12
Definition pixfmt.h:552
#define AV_PIX_FMT_YUV444P9
Definition pixfmt.h:544
#define AV_PIX_FMT_YUV420P10
Definition pixfmt.h:545
#define AV_PIX_FMT_GRAY9
Definition pixfmt.h:524
#define AV_PIX_FMT_GBRAP16
Definition pixfmt.h:571
#define AV_PIX_FMT_GBRP9
Definition pixfmt.h:563
#define AV_PIX_FMT_YUV422P9
Definition pixfmt.h:543
#define AV_PIX_FMT_YUVA444P10
Definition pixfmt.h:598
#define AV_PIX_FMT_YUVA420P16
Definition pixfmt.h:601
#define AV_PIX_FMT_YUV420P12
Definition pixfmt.h:549
#define AV_PIX_FMT_YUVA420P10
Definition pixfmt.h:596
#define AV_PIX_FMT_YUVA422P9
Definition pixfmt.h:594
#define AV_PIX_FMT_YUV422P12
Definition pixfmt.h:550
#define AV_PIX_FMT_GBRAP14
Definition pixfmt.h:570
#define AV_PIX_FMT_GBRP10
Definition pixfmt.h:564
#define AV_PIX_FMT_YUV422P10
Definition pixfmt.h:546
#define AV_PIX_FMT_GRAY12
Definition pixfmt.h:526
#define AV_PIX_FMT_GBRP12
Definition pixfmt.h:565
#define AV_PIX_FMT_YUV420P9
Definition pixfmt.h:542
#define AV_PIX_FMT_YUVA420P9
Definition pixfmt.h:593
#define AV_PIX_FMT_YUVA422P10
Definition pixfmt.h:597
#define AV_PIX_FMT_YUV420P14
Definition pixfmt.h:553
@ AV_PIX_FMT_NONE
Definition pixfmt.h:72
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition pixfmt.h:73
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition pixfmt.h:77
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
Definition pixfmt.h:81
@ AV_PIX_FMT_YUVA420P
planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
Definition pixfmt.h:108
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition pixfmt.h:78
@ AV_PIX_FMT_YUVA444P
planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
Definition pixfmt.h:174
@ AV_PIX_FMT_GBRAP
planar GBRA 4:4:4:4 32bpp
Definition pixfmt.h:212
@ AV_PIX_FMT_YUVA422P
planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
Definition pixfmt.h:173
@ AV_PIX_FMT_GBRP
planar GBR 4:4:4 24bpp
Definition pixfmt.h:165
#define AV_PIX_FMT_YUVA422P12
Definition pixfmt.h:599
#define AV_PIX_FMT_YUV422P14
Definition pixfmt.h:554
#define AV_PIX_FMT_GRAY10
Definition pixfmt.h:525
#define AV_PIX_FMT_GRAY14
Definition pixfmt.h:527
#define AV_PIX_FMT_YUV422P16
Definition pixfmt.h:557
#define AV_PIX_FMT_GRAY16
Definition pixfmt.h:528
#define AV_PIX_FMT_GBRAP10
Definition pixfmt.h:568
#define AV_PIX_FMT_YUVA444P16
Definition pixfmt.h:603
#define AV_PIX_FMT_YUVA422P16
Definition pixfmt.h:602
#define AV_PIX_FMT_GBRP16
Definition pixfmt.h:567
#define AV_PIX_FMT_YUV444P14
Definition pixfmt.h:555
#define AV_PIX_FMT_YUVA444P9
Definition pixfmt.h:595
#define AV_PIX_FMT_GBRP14
Definition pixfmt.h:566
#define AV_PIX_FMT_YUVA444P12
Definition pixfmt.h:600
#define AV_PIX_FMT_YUV444P16
Definition pixfmt.h:558
#define AV_PIX_FMT_YUV444P10
Definition pixfmt.h:548

Definition at line 374 of file vf_pseudocolor.c.

◆ inputs

const AVFilterPad inputs[]
static
Initial value:
= {
{
.name = "default",
.filter_frame = filter_frame,
.config_props = config_input,
},
}
static int config_input(AVFilterLink *inlink)
static int filter_frame(DBEDecodeContext *s, AVFrame *frame)
Definition dolby_e.c:1067
@ AVMEDIA_TYPE_VIDEO
Definition avutil.h:200

Definition at line 1036 of file vf_pseudocolor.c.

◆ ff_vf_pseudocolor

const FFFilter ff_vf_pseudocolor
Initial value:
= {
.p.name = "pseudocolor",
.p.description = NULL_IF_CONFIG_SMALL("Make pseudocolored video frames."),
.p.priv_class = &pseudocolor_class,
.priv_size = sizeof(PseudoColorContext),
.process_command = process_command,
}
static const AVFilterPad inputs[]
Definition af_aap.c:299
static int process_command(AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
#define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
Some filters support a generic "enable" expression option that can be used to enable or disable a fil...
Definition avfilter.h:196
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
Definition avfilter.h:166
static av_cold void uninit(AVBitStreamFilterContext *ctx)
#define FILTER_INPUTS(array)
Definition filters.h:264
#define FILTER_OUTPUTS(array)
Definition filters.h:265
#define FILTER_PIXFMTS_ARRAY(array)
Definition filters.h:244
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88
static enum AVPixelFormat pix_fmts[]
Definition libkvazaar.c:296
const AVFilterPad ff_video_default_filterpad[1]
An AVFilterPad array whose only entry has name "default" and is of type AVMEDIA_TYPE_VIDEO.
Definition video.c:37

Definition at line 1058 of file vf_pseudocolor.c.