summaryrefslogtreecommitdiffstats
path: root/video/mp_image.c
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2024-02-10 23:46:04 +0100
committerDudemanguy <random342@airmail.cc>2024-03-09 05:58:52 +0000
commit391261f7576ff2abc738cf8d566bdc8aad267f1f (patch)
treeaeee31dab84ead2dd19370668e5d924fe1820e9f /video/mp_image.c
parent120b0ac4125859fc5bfb555e73ffd4f8905fe881 (diff)
downloadmpv-391261f7576ff2abc738cf8d566bdc8aad267f1f.tar.bz2
mpv-391261f7576ff2abc738cf8d566bdc8aad267f1f.tar.xz
mp_image: add mp_image_params_static_equal for finer comparision
In case of dynamic HDR metadata is present.
Diffstat (limited to 'video/mp_image.c')
-rw-r--r--video/mp_image.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/video/mp_image.c b/video/mp_image.c
index f9decfa579..33a784741f 100644
--- a/video/mp_image.c
+++ b/video/mp_image.c
@@ -844,6 +844,17 @@ bool mp_image_params_equal(const struct mp_image_params *p1,
mp_rect_equals(&p1->crop, &p2->crop);
}
+bool mp_image_params_static_equal(const struct mp_image_params *p1,
+ const struct mp_image_params *p2)
+{
+ // Compare only static video parameters, excluding dynamic metadata.
+ struct mp_image_params a = *p1;
+ struct mp_image_params b = *p2;
+ a.repr.dovi = b.repr.dovi = NULL;
+ a.color.hdr = b.color.hdr = (struct pl_hdr_metadata){0};
+ return mp_image_params_equal(&a, &b);
+}
+
// Set most image parameters, but not image format or size.
// Display size is used to set the PAR.
void mp_image_set_attributes(struct mp_image *image,