tests: Add tests for HDR Static Metadata encoding/decoding and equality

We have the drm/InfoFrame encoding and our MetaOutputHdrMetadata
encoding. Check that we can correctly convert between each other by
doing a encode/decode and decode/encode roundtrip and then checking for
equality.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2879>
This commit is contained in:
Sebastian Wick
2023-03-03 16:37:34 +01:00
committed by Marge Bot
parent af714edafb
commit f729a2023e
6 changed files with 147 additions and 2 deletions

View File

@ -142,7 +142,16 @@ MetaKmsConnector * meta_kms_connector_new (MetaKmsImplDevice *impl_device,
gboolean meta_kms_connector_is_same_as (MetaKmsConnector *connector,
drmModeConnector *drm_connector);
META_EXPORT_TEST
void meta_set_drm_hdr_metadata (MetaOutputHdrMetadata *metadata,
struct hdr_output_metadata *drm_metadata);
META_EXPORT_TEST
gboolean set_output_hdr_metadata (struct hdr_output_metadata *drm_metadata,
MetaOutputHdrMetadata *metadata);
META_EXPORT_TEST
gboolean hdr_metadata_equal (MetaOutputHdrMetadata *metadata,
MetaOutputHdrMetadata *other_metadata);
#endif /* META_KMS_CONNECTOR_PRIVATE_H */

View File

@ -504,7 +504,7 @@ decode_u16_min_luminance (uint16_t value)
return value * 0.0001;
}
static gboolean
gboolean
set_output_hdr_metadata (struct hdr_output_metadata *drm_metadata,
MetaOutputHdrMetadata *metadata)
{
@ -887,7 +887,7 @@ hdr_min_luminance_equal (double x1, double x2)
return fabs (x1 - x2) < (0.0001 - DBL_EPSILON);
}
static gboolean
gboolean
hdr_metadata_equal (MetaOutputHdrMetadata *metadata,
MetaOutputHdrMetadata *other_metadata)
{