VLC 4.0.0-dev
Loading...
Searching...
No Matches
Chroma probing module implementation
Collaboration diagram for Chroma probing module implementation:

Data Structures

struct  vlc_chroma_conv_entry
 Chroma conversion entry structure. More...
 
struct  vlc_chroma_conv_vec
 

Macros

#define set_callback_chroma_conv_probe(activate)
 
#define vlc_chroma_conv_add_in_outlist(vec, cost_factor, in, ...)
 Helper that add a list of out chroma conversions.
 
#define vlc_chroma_conv_add_out_inlist(vec, cost_factor, out, ...)
 Helper that add a list of in chroma conversions.
 

Typedefs

typedef void(* vlc_chroma_conv_probe) (vlc_chroma_conv_vec *vec)
 Module probe function signature.
 

Functions

static void vlc_chroma_conv_add (vlc_chroma_conv_vec *vec, float cost_factor, vlc_fourcc_t in, vlc_fourcc_t out, bool twoway)
 Helper that add a chroma conversion.
 
static void vlc_chroma_conv_add_in_outarray (vlc_chroma_conv_vec *vec, float cost_factor, vlc_fourcc_t in, const vlc_fourcc_t *out_array, size_t out_count)
 Helper that add an array of out chroma conversions.
 
static void vlc_chroma_conv_add_out_inarray (vlc_chroma_conv_vec *vec, float cost_factor, vlc_fourcc_t out, const vlc_fourcc_t *in_array, size_t in_count)
 Helper that add an array of in chroma conversions.
 

Detailed Description

Macro Definition Documentation

◆ set_callback_chroma_conv_probe

#define set_callback_chroma_conv_probe (   activate)
Value:
{ \
vlc_chroma_conv_probe activate__ = activate; \
(void) activate__; \
set_callback(activate) \
} \
set_capability("chroma probe", 100)
void(* vlc_chroma_conv_probe)(vlc_chroma_conv_vec *vec)
Module probe function signature.
Definition vlc_chroma_probe.h:146

◆ vlc_chroma_conv_add_in_outlist

#define vlc_chroma_conv_add_in_outlist (   vec,
  cost_factor,
  in,
  ... 
)
Value:
do { \
static const vlc_fourcc_t out_array[] = { __VA_ARGS__ }; \
size_t count = ARRAY_SIZE(out_array); \
vlc_chroma_conv_add_in_outarray(vec, cost_factor, in, out_array, count); \
} while(0)
size_t count
Definition core.c:403
uint32_t vlc_fourcc_t
Definition fourcc_gen.c:33
#define ARRAY_SIZE(x)
Definition vlc_common.h:905

Helper that add a list of out chroma conversions.

◆ vlc_chroma_conv_add_out_inlist

#define vlc_chroma_conv_add_out_inlist (   vec,
  cost_factor,
  out,
  ... 
)
Value:
do { \
static const vlc_fourcc_t in_array[] = { __VA_ARGS__ }; \
size_t count = ARRAY_SIZE(in_array); \
vlc_chroma_conv_add_out_inarray(vec, cost_factor, out, in_array, count); \
} while(0)

Helper that add a list of in chroma conversions.

Typedef Documentation

◆ vlc_chroma_conv_probe

typedef void(* vlc_chroma_conv_probe) (vlc_chroma_conv_vec *vec)

Module probe function signature.

Parameters
vecpointer to an allocated vector
Returns
a VLC error code

Function Documentation

◆ vlc_chroma_conv_add()

static void vlc_chroma_conv_add ( vlc_chroma_conv_vec vec,
float  cost_factor,
vlc_fourcc_t  in,
vlc_fourcc_t  out,
bool  twoway 
)
inlinestatic

Helper that add a chroma conversion.

Must be called inside vlc_chroma_conv_probe()

Parameters
vecpointer to the vector of chromas
cost_factorcf. vlc_chroma_conv_entry.cost_factor
incf. vlc_chroma_conv_entry.in
outcf. vlc_chroma_conv_entry.out
twowayif true, 'out' can also be converted to 'in'

References vlc_chroma_conv_entry::cost_factor, vlc_chroma_conv_entry::in, vlc_chroma_conv_entry::out, and vlc_vector_push.

◆ vlc_chroma_conv_add_in_outarray()

static void vlc_chroma_conv_add_in_outarray ( vlc_chroma_conv_vec vec,
float  cost_factor,
vlc_fourcc_t  in,
const vlc_fourcc_t out_array,
size_t  out_count 
)
inlinestatic

Helper that add an array of out chroma conversions.

Must be called inside vlc_chroma_conv_probe()

Parameters
vecpointer to the vector of chromas
cost_factorcf. vlc_chroma_conv_entry.cost_factor
incf. vlc_chroma_conv_entry.in
out_arraya list of out chromas
out_countnumber of elements in the out_array

References vlc_chroma_conv_entry::cost_factor, vlc_chroma_conv_entry::in, and vlc_vector_push.

◆ vlc_chroma_conv_add_out_inarray()

static void vlc_chroma_conv_add_out_inarray ( vlc_chroma_conv_vec vec,
float  cost_factor,
vlc_fourcc_t  out,
const vlc_fourcc_t in_array,
size_t  in_count 
)
inlinestatic

Helper that add an array of in chroma conversions.

Must be called inside vlc_chroma_conv_probe()

Parameters
vecpointer to the vector of chromas
cost_factorcf. vlc_chroma_conv_entry.cost_factor
outcf. vlc_chroma_conv_entry.out
in_arraya list of out chromas
in_countnumber of elements in the in_array

References vlc_chroma_conv_entry::cost_factor, vlc_chroma_conv_entry::out, and vlc_vector_push.