|
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().