[vlc-commits] vout: add vout_CropEqual() helper

Rémi Denis-Courmont git at videolan.org
Mon Feb 8 15:15:07 UTC 2021


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Feb  6 18:23:52 2021 +0200| [21ad125944ed747ba776f7d96c4b26413c56d1ed] | committer: Rémi Denis-Courmont

vout: add vout_CropEqual() helper

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=21ad125944ed747ba776f7d96c4b26413c56d1ed
---

 src/video_output/vout_internal.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/src/video_output/vout_internal.h b/src/video_output/vout_internal.h
index f795af64e5..02e7b90612 100644
--- a/src/video_output/vout_internal.h
+++ b/src/video_output/vout_internal.h
@@ -126,6 +126,26 @@ struct vout_crop {
     };
 };
 
+static inline bool vout_CropEqual(const struct vout_crop *a,
+                                  const struct vout_crop *b)
+{
+    if (a->mode != b->mode)
+        return false;
+
+    switch (a->mode) {
+        case VOUT_CROP_NONE:
+            return true;
+        case VOUT_CROP_RATIO:
+            return a->ratio.num * b->ratio.den == b->ratio.num * a->ratio.den;
+        case VOUT_CROP_WINDOW:
+            return memcmp(&a->window, &b->window, sizeof (a->window)) == 0;
+        case VOUT_CROP_BORDER:
+            return memcmp(&a->border, &b->border, sizeof (a->border)) == 0;
+        default:
+            vlc_assert_unreachable();
+    }
+}
+
 bool vout_ParseCrop(struct vout_crop *, const char *crop_str);
 bool GetAspectRatio(const char *ar_str, unsigned *num, unsigned *den);
 



More information about the vlc-commits mailing list