+/**
+ * It returns a list (terminated with the value 0) of YUV fourccs in
+ * decreasing priority order for the given chroma.
+ *
+ * It will always return a non NULL pointer that must not be freed.
+ */
+VLC_EXPORT( const vlc_fourcc_t *, vlc_fourcc_GetYUVFallback, ( vlc_fourcc_t ) );
+
+/**
+ * It returns a list (terminated with the value 0) of RGB fourccs in
+ * decreasing priority order for the given chroma.
+ *
+ * It will always return a non NULL pointer that must not be freed.
+ */
+VLC_EXPORT( const vlc_fourcc_t *, vlc_fourcc_GetRGBFallback, ( vlc_fourcc_t ) );
+
+/**
+ * It returns true if the given fourcc is YUV and false otherwise.
+ */
+VLC_EXPORT( bool, vlc_fourcc_IsYUV, ( vlc_fourcc_t ) );
+
+/**
+ * It returns true if the two fourccs are equivalent if their U&V planes are
+ * swapped.
+ */
+VLC_EXPORT( bool, vlc_fourcc_AreUVPlanesSwapped, (vlc_fourcc_t , vlc_fourcc_t ) );
+
+/**
+ * Chroma related information.
+ */
+typedef struct {
+ unsigned plane_count;
+ struct {
+ struct {
+ unsigned num;
+ unsigned den;
+ } w;
+ struct {
+ unsigned num;
+ unsigned den;
+ } h;
+ } p[4];
+ unsigned pixel_size;
+} vlc_chroma_description_t;
+
+/**
+ * It returns a vlc_chroma_description_t describing the request fourcc or NULL
+ * if not found.
+ */
+VLC_EXPORT( const vlc_chroma_description_t *, vlc_fourcc_GetChromaDescription, ( vlc_fourcc_t fourcc ) );
+