VLC 4.0.0-dev
|
Data Structures | |
struct | vlc_chroma_conv_result |
Chroma conversion result structure. More... | |
Macros | |
#define | VLC_CHROMA_CONV_MAX_INDIRECT_STEPS 1 |
#define | VLC_CHROMA_CONV_CHAIN_COUNT_MAX (2 /* in + out */ + VLC_CHROMA_CONV_MAX_INDIRECT_STEPS) |
#define | VLC_CHROMA_CONV_FLAG_ONLY_YUV 0x1 |
Only accept YUV output chromas (the input chroma can be RGB) | |
#define | VLC_CHROMA_CONV_FLAG_ONLY_RGB 0x2 |
Only accept RGB output chromas (the input chroma can be YUV) | |
#define | VLC_CHROMA_CONV_FLAG_SORT_COST 0x4 |
Sort results by cost instead of quality. | |
Functions | |
struct vlc_chroma_conv_result * | vlc_chroma_conv_Probe (vlc_fourcc_t in, vlc_fourcc_t out, unsigned width, unsigned height, unsigned max_indirect_steps, int flags, size_t *count) |
Probe possible chroma conversions. | |
char * | vlc_chroma_conv_result_ToString (const struct vlc_chroma_conv_result *res) |
Get a string representing the result. | |
#define VLC_CHROMA_CONV_CHAIN_COUNT_MAX (2 /* in + out */ + VLC_CHROMA_CONV_MAX_INDIRECT_STEPS) |
#define VLC_CHROMA_CONV_FLAG_ONLY_RGB 0x2 |
Only accept RGB output chromas (the input chroma can be YUV)
#define VLC_CHROMA_CONV_FLAG_ONLY_YUV 0x1 |
Only accept YUV output chromas (the input chroma can be RGB)
#define VLC_CHROMA_CONV_FLAG_SORT_COST 0x4 |
Sort results by cost instead of quality.
#define VLC_CHROMA_CONV_MAX_INDIRECT_STEPS 1 |
struct vlc_chroma_conv_result * vlc_chroma_conv_Probe | ( | vlc_fourcc_t | in, |
vlc_fourcc_t | out, | ||
unsigned | width, | ||
unsigned | height, | ||
unsigned | max_indirect_steps, | ||
int | flags, | ||
size_t * | count | ||
) |
Probe possible chroma conversions.
Results are sorted by quality, unless VLC_CHROMA_CONV_FLAG_SORT_COST is specified in flags.
in | the input chroma to convert from, must be valid |
out | the output chroma to convert to, if 0, the function will find all possible conversion from in to x |
width | video width, used for finer cost calculation, can be 0 |
height | video height, used for finer cost calculation, can be 0 |
max_indirect_steps | maximum number of indirect conversion steps, must be lower or equal to VLC_CHROMA_CONV_MAX_INDIRECT_STEPS, if in and out chromas are CPU chromas, the steps will be automatically lowered to 0 |
flags | bitwise flags, cf. VLC_CHROMA_CONV_FLAG_* |
count | pointer to the number of results, must be valid |
References bfs_node_IsResult(), bfs_Run(), vlc_chroma_conv_result::cost, count, bfs_queue_vec::data, modules_Probe(), vlc_chroma_conv_vec::size, bfs_queue_vec::size, SortResults(), unlikely, VLC_CHROMA_CONV_FLAG_SORT_COST, VLC_CHROMA_CONV_MAX_INDIRECT_STEPS, vlc_chroma_conv_result_Equals(), vlc_chroma_conv_result_FromNode(), vlc_fourcc_GetChromaBPP(), vlc_qsort(), VLC_VECTOR, vlc_vector_destroy, vlc_vector_init, VLC_VECTOR_INITIALIZER, vlc_vector_push_hole, and vlc_vector_remove.
Referenced by GetFallback().
char * vlc_chroma_conv_result_ToString | ( | const struct vlc_chroma_conv_result * | res | ) |
Get a string representing the result.
res | pointer to a valid result |
References vlc_chroma_conv_result::chain, vlc_chroma_conv_result::chain_count, vlc_chroma_conv_result::cost, vlc_memstream::ptr, vlc_chroma_conv_result::quality, vlc_memstream_close(), vlc_memstream_open(), vlc_memstream_printf(), and vlc_memstream_puts().