Blame SOURCES/0071-xlat-provide-fallback-definitions-for-V4L2_CAP_-cons.patch

86f512
From f650a4c7e2bf5d1636d52eab09b086ecab4d1e9f Mon Sep 17 00:00:00 2001
86f512
From: Eugene Syromyatnikov <evgsyr@gmail.com>
86f512
Date: Thu, 3 Jan 2019 15:39:26 +0100
86f512
Subject: [PATCH 71/76] xlat: provide fallback definitions for V4L2_CAP_*
86f512
 constants
86f512
86f512
* xlat/v4l2_device_capabilities_flags.in: Sort, add fallback definitions
86f512
for constants.
86f512
* configure.ac (AC_CHECK_MEMBERS): Check for struct
86f512
v4l2_capability.device_caps.
86f512
* v4l2.c (print_v4l2_capability): Change V4L2_CAP_DEVICE_CAPS guard
86f512
to HAVE_STRUCT_V4L2_CAPABILITY_DEVICE_CAPS.
86f512
---
86f512
 configure.ac                           |  1 +
86f512
 v4l2.c                                 |  2 +-
86f512
 xlat/v4l2_device_capabilities_flags.in | 58 +++++++++++++++++-----------------
86f512
 3 files changed, 31 insertions(+), 30 deletions(-)
86f512
86f512
Index: strace-5.1/configure.ac
86f512
===================================================================
86f512
--- strace-5.1.orig/configure.ac	2020-01-29 12:37:35.136765878 +0100
86f512
+++ strace-5.1/configure.ac	2020-01-29 12:39:33.198682164 +0100
86f512
@@ -778,6 +778,7 @@
86f512
 #include <linux/videodev2.h>])
86f512
 
86f512
 AC_CHECK_MEMBERS(m4_normalize([
86f512
+	struct v4l2_capability.device_caps,
86f512
 	struct v4l2_window.global_alpha,
86f512
 	struct v4l2_sdr_format.buffersize
86f512
 ]),,, [#include <sys/time.h>
86f512
Index: strace-5.1/v4l2.c
86f512
===================================================================
86f512
--- strace-5.1.orig/v4l2.c	2020-01-27 19:35:30.949507018 +0100
86f512
+++ strace-5.1/v4l2.c	2020-01-29 12:39:33.199682155 +0100
86f512
@@ -133,7 +133,7 @@
86f512
 		caps.version & 0xFF);
86f512
 	printflags(v4l2_device_capabilities_flags, caps.capabilities,
86f512
 		   "V4L2_CAP_???");
86f512
-#ifdef V4L2_CAP_DEVICE_CAPS
86f512
+#ifdef HAVE_STRUCT_V4L2_CAPABILITY_DEVICE_CAPS
86f512
 	tprints(", device_caps=");
86f512
 	printflags(v4l2_device_capabilities_flags, caps.device_caps,
86f512
 		   "V4L2_CAP_???");
86f512
Index: strace-5.1/xlat/v4l2_device_capabilities_flags.in
86f512
===================================================================
86f512
--- strace-5.1.orig/xlat/v4l2_device_capabilities_flags.in	2019-01-05 22:14:42.000000000 +0100
86f512
+++ strace-5.1/xlat/v4l2_device_capabilities_flags.in	2020-01-29 12:39:33.203682118 +0100
86f512
@@ -1,29 +1,29 @@
86f512
-V4L2_CAP_VIDEO_CAPTURE
86f512
-V4L2_CAP_VIDEO_OUTPUT
86f512
-V4L2_CAP_VIDEO_OVERLAY
86f512
-V4L2_CAP_VBI_CAPTURE
86f512
-V4L2_CAP_VBI_OUTPUT
86f512
-V4L2_CAP_SLICED_VBI_CAPTURE
86f512
-V4L2_CAP_SLICED_VBI_OUTPUT
86f512
-V4L2_CAP_RDS_CAPTURE
86f512
-V4L2_CAP_VIDEO_OUTPUT_OVERLAY
86f512
-V4L2_CAP_HW_FREQ_SEEK
86f512
-V4L2_CAP_RDS_OUTPUT
86f512
-V4L2_CAP_VIDEO_CAPTURE_MPLANE
86f512
-V4L2_CAP_VIDEO_OUTPUT_MPLANE
86f512
-V4L2_CAP_VIDEO_M2M
86f512
-V4L2_CAP_VIDEO_M2M_MPLANE
86f512
-V4L2_CAP_TUNER
86f512
-V4L2_CAP_AUDIO
86f512
-V4L2_CAP_RADIO
86f512
-V4L2_CAP_MODULATOR
86f512
-V4L2_CAP_READWRITE
86f512
-V4L2_CAP_ASYNCIO
86f512
-V4L2_CAP_STREAMING
86f512
-V4L2_CAP_META_OUTPUT
86f512
-V4L2_CAP_TOUCH
86f512
-V4L2_CAP_DEVICE_CAPS
86f512
-V4L2_CAP_SDR_CAPTURE
86f512
-V4L2_CAP_EXT_PIX_FORMAT
86f512
-V4L2_CAP_SDR_OUTPUT
86f512
-V4L2_CAP_META_CAPTURE
86f512
+V4L2_CAP_VIDEO_CAPTURE		0x00000001
86f512
+V4L2_CAP_VIDEO_OUTPUT		0x00000002
86f512
+V4L2_CAP_VIDEO_OVERLAY		0x00000004
86f512
+V4L2_CAP_VBI_CAPTURE		0x00000010
86f512
+V4L2_CAP_VBI_OUTPUT		0x00000020
86f512
+V4L2_CAP_SLICED_VBI_CAPTURE	0x00000040
86f512
+V4L2_CAP_SLICED_VBI_OUTPUT	0x00000080
86f512
+V4L2_CAP_RDS_CAPTURE		0x00000100
86f512
+V4L2_CAP_VIDEO_OUTPUT_OVERLAY	0x00000200
86f512
+V4L2_CAP_HW_FREQ_SEEK		0x00000400
86f512
+V4L2_CAP_RDS_OUTPUT		0x00000800
86f512
+V4L2_CAP_VIDEO_CAPTURE_MPLANE	0x00001000
86f512
+V4L2_CAP_VIDEO_OUTPUT_MPLANE	0x00002000
86f512
+V4L2_CAP_VIDEO_M2M_MPLANE	0x00004000
86f512
+V4L2_CAP_VIDEO_M2M		0x00008000
86f512
+V4L2_CAP_TUNER			0x00010000
86f512
+V4L2_CAP_AUDIO			0x00020000
86f512
+V4L2_CAP_RADIO			0x00040000
86f512
+V4L2_CAP_MODULATOR		0x00080000
86f512
+V4L2_CAP_SDR_CAPTURE		0x00100000
86f512
+V4L2_CAP_EXT_PIX_FORMAT		0x00200000
86f512
+V4L2_CAP_SDR_OUTPUT		0x00400000
86f512
+V4L2_CAP_META_CAPTURE		0x00800000
86f512
+V4L2_CAP_READWRITE		0x01000000
86f512
+V4L2_CAP_ASYNCIO		0x02000000
86f512
+V4L2_CAP_STREAMING		0x04000000
86f512
+V4L2_CAP_META_OUTPUT		0x08000000
86f512
+V4L2_CAP_TOUCH			0x10000000
86f512
+V4L2_CAP_DEVICE_CAPS		0x80000000
86f512
Index: strace-5.1/xlat/v4l2_device_capabilities_flags.h
86f512
===================================================================
86f512
--- strace-5.1.orig/xlat/v4l2_device_capabilities_flags.h	2019-05-22 15:08:31.000000000 +0200
86f512
+++ strace-5.1/xlat/v4l2_device_capabilities_flags.h	2020-01-29 12:39:50.579522622 +0100
86f512
@@ -3,106 +3,251 @@
86f512
 #include "gcc_compat.h"
86f512
 #include "static_assert.h"
86f512
 
86f512
-
86f512
-#ifndef XLAT_MACROS_ONLY
86f512
-
86f512
-# ifdef IN_MPERS
86f512
-
86f512
-extern const struct xlat v4l2_device_capabilities_flags[];
86f512
-
86f512
-# else
86f512
-
86f512
-#  if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
86f512
-static
86f512
-#  endif
86f512
-const struct xlat v4l2_device_capabilities_flags[] = {
86f512
 #if defined(V4L2_CAP_VIDEO_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_VIDEO_CAPTURE) && HAVE_DECL_V4L2_CAP_VIDEO_CAPTURE)
86f512
-  XLAT(V4L2_CAP_VIDEO_CAPTURE),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_VIDEO_CAPTURE) == (0x00000001), "V4L2_CAP_VIDEO_CAPTURE != 0x00000001");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_VIDEO_CAPTURE 0x00000001
86f512
 #endif
86f512
 #if defined(V4L2_CAP_VIDEO_OUTPUT) || (defined(HAVE_DECL_V4L2_CAP_VIDEO_OUTPUT) && HAVE_DECL_V4L2_CAP_VIDEO_OUTPUT)
86f512
-  XLAT(V4L2_CAP_VIDEO_OUTPUT),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_VIDEO_OUTPUT) == (0x00000002), "V4L2_CAP_VIDEO_OUTPUT != 0x00000002");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_VIDEO_OUTPUT 0x00000002
86f512
 #endif
86f512
 #if defined(V4L2_CAP_VIDEO_OVERLAY) || (defined(HAVE_DECL_V4L2_CAP_VIDEO_OVERLAY) && HAVE_DECL_V4L2_CAP_VIDEO_OVERLAY)
86f512
-  XLAT(V4L2_CAP_VIDEO_OVERLAY),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_VIDEO_OVERLAY) == (0x00000004), "V4L2_CAP_VIDEO_OVERLAY != 0x00000004");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_VIDEO_OVERLAY 0x00000004
86f512
 #endif
86f512
 #if defined(V4L2_CAP_VBI_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_VBI_CAPTURE) && HAVE_DECL_V4L2_CAP_VBI_CAPTURE)
86f512
-  XLAT(V4L2_CAP_VBI_CAPTURE),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_VBI_CAPTURE) == (0x00000010), "V4L2_CAP_VBI_CAPTURE != 0x00000010");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_VBI_CAPTURE 0x00000010
86f512
 #endif
86f512
 #if defined(V4L2_CAP_VBI_OUTPUT) || (defined(HAVE_DECL_V4L2_CAP_VBI_OUTPUT) && HAVE_DECL_V4L2_CAP_VBI_OUTPUT)
86f512
-  XLAT(V4L2_CAP_VBI_OUTPUT),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_VBI_OUTPUT) == (0x00000020), "V4L2_CAP_VBI_OUTPUT != 0x00000020");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_VBI_OUTPUT 0x00000020
86f512
 #endif
86f512
 #if defined(V4L2_CAP_SLICED_VBI_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_SLICED_VBI_CAPTURE) && HAVE_DECL_V4L2_CAP_SLICED_VBI_CAPTURE)
86f512
-  XLAT(V4L2_CAP_SLICED_VBI_CAPTURE),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_SLICED_VBI_CAPTURE) == (0x00000040), "V4L2_CAP_SLICED_VBI_CAPTURE != 0x00000040");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040
86f512
 #endif
86f512
 #if defined(V4L2_CAP_SLICED_VBI_OUTPUT) || (defined(HAVE_DECL_V4L2_CAP_SLICED_VBI_OUTPUT) && HAVE_DECL_V4L2_CAP_SLICED_VBI_OUTPUT)
86f512
-  XLAT(V4L2_CAP_SLICED_VBI_OUTPUT),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_SLICED_VBI_OUTPUT) == (0x00000080), "V4L2_CAP_SLICED_VBI_OUTPUT != 0x00000080");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080
86f512
 #endif
86f512
 #if defined(V4L2_CAP_RDS_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_RDS_CAPTURE) && HAVE_DECL_V4L2_CAP_RDS_CAPTURE)
86f512
-  XLAT(V4L2_CAP_RDS_CAPTURE),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_RDS_CAPTURE) == (0x00000100), "V4L2_CAP_RDS_CAPTURE != 0x00000100");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_RDS_CAPTURE 0x00000100
86f512
 #endif
86f512
 #if defined(V4L2_CAP_VIDEO_OUTPUT_OVERLAY) || (defined(HAVE_DECL_V4L2_CAP_VIDEO_OUTPUT_OVERLAY) && HAVE_DECL_V4L2_CAP_VIDEO_OUTPUT_OVERLAY)
86f512
-  XLAT(V4L2_CAP_VIDEO_OUTPUT_OVERLAY),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_VIDEO_OUTPUT_OVERLAY) == (0x00000200), "V4L2_CAP_VIDEO_OUTPUT_OVERLAY != 0x00000200");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_VIDEO_OUTPUT_OVERLAY 0x00000200
86f512
 #endif
86f512
 #if defined(V4L2_CAP_HW_FREQ_SEEK) || (defined(HAVE_DECL_V4L2_CAP_HW_FREQ_SEEK) && HAVE_DECL_V4L2_CAP_HW_FREQ_SEEK)
86f512
-  XLAT(V4L2_CAP_HW_FREQ_SEEK),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_HW_FREQ_SEEK) == (0x00000400), "V4L2_CAP_HW_FREQ_SEEK != 0x00000400");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_HW_FREQ_SEEK 0x00000400
86f512
 #endif
86f512
 #if defined(V4L2_CAP_RDS_OUTPUT) || (defined(HAVE_DECL_V4L2_CAP_RDS_OUTPUT) && HAVE_DECL_V4L2_CAP_RDS_OUTPUT)
86f512
-  XLAT(V4L2_CAP_RDS_OUTPUT),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_RDS_OUTPUT) == (0x00000800), "V4L2_CAP_RDS_OUTPUT != 0x00000800");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_RDS_OUTPUT 0x00000800
86f512
 #endif
86f512
 #if defined(V4L2_CAP_VIDEO_CAPTURE_MPLANE) || (defined(HAVE_DECL_V4L2_CAP_VIDEO_CAPTURE_MPLANE) && HAVE_DECL_V4L2_CAP_VIDEO_CAPTURE_MPLANE)
86f512
-  XLAT(V4L2_CAP_VIDEO_CAPTURE_MPLANE),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_VIDEO_CAPTURE_MPLANE) == (0x00001000), "V4L2_CAP_VIDEO_CAPTURE_MPLANE != 0x00001000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_VIDEO_CAPTURE_MPLANE 0x00001000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_VIDEO_OUTPUT_MPLANE) || (defined(HAVE_DECL_V4L2_CAP_VIDEO_OUTPUT_MPLANE) && HAVE_DECL_V4L2_CAP_VIDEO_OUTPUT_MPLANE)
86f512
-  XLAT(V4L2_CAP_VIDEO_OUTPUT_MPLANE),
86f512
-#endif
86f512
-#if defined(V4L2_CAP_VIDEO_M2M) || (defined(HAVE_DECL_V4L2_CAP_VIDEO_M2M) && HAVE_DECL_V4L2_CAP_VIDEO_M2M)
86f512
-  XLAT(V4L2_CAP_VIDEO_M2M),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_VIDEO_OUTPUT_MPLANE) == (0x00002000), "V4L2_CAP_VIDEO_OUTPUT_MPLANE != 0x00002000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_VIDEO_OUTPUT_MPLANE 0x00002000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_VIDEO_M2M_MPLANE) || (defined(HAVE_DECL_V4L2_CAP_VIDEO_M2M_MPLANE) && HAVE_DECL_V4L2_CAP_VIDEO_M2M_MPLANE)
86f512
-  XLAT(V4L2_CAP_VIDEO_M2M_MPLANE),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_VIDEO_M2M_MPLANE) == (0x00004000), "V4L2_CAP_VIDEO_M2M_MPLANE != 0x00004000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_VIDEO_M2M_MPLANE 0x00004000
86f512
+#endif
86f512
+#if defined(V4L2_CAP_VIDEO_M2M) || (defined(HAVE_DECL_V4L2_CAP_VIDEO_M2M) && HAVE_DECL_V4L2_CAP_VIDEO_M2M)
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_VIDEO_M2M) == (0x00008000), "V4L2_CAP_VIDEO_M2M != 0x00008000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_VIDEO_M2M 0x00008000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_TUNER) || (defined(HAVE_DECL_V4L2_CAP_TUNER) && HAVE_DECL_V4L2_CAP_TUNER)
86f512
-  XLAT(V4L2_CAP_TUNER),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_TUNER) == (0x00010000), "V4L2_CAP_TUNER != 0x00010000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_TUNER 0x00010000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_AUDIO) || (defined(HAVE_DECL_V4L2_CAP_AUDIO) && HAVE_DECL_V4L2_CAP_AUDIO)
86f512
-  XLAT(V4L2_CAP_AUDIO),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_AUDIO) == (0x00020000), "V4L2_CAP_AUDIO != 0x00020000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_AUDIO 0x00020000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_RADIO) || (defined(HAVE_DECL_V4L2_CAP_RADIO) && HAVE_DECL_V4L2_CAP_RADIO)
86f512
-  XLAT(V4L2_CAP_RADIO),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_RADIO) == (0x00040000), "V4L2_CAP_RADIO != 0x00040000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_RADIO 0x00040000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_MODULATOR) || (defined(HAVE_DECL_V4L2_CAP_MODULATOR) && HAVE_DECL_V4L2_CAP_MODULATOR)
86f512
-  XLAT(V4L2_CAP_MODULATOR),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_MODULATOR) == (0x00080000), "V4L2_CAP_MODULATOR != 0x00080000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_MODULATOR 0x00080000
86f512
+#endif
86f512
+#if defined(V4L2_CAP_SDR_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_SDR_CAPTURE) && HAVE_DECL_V4L2_CAP_SDR_CAPTURE)
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_SDR_CAPTURE) == (0x00100000), "V4L2_CAP_SDR_CAPTURE != 0x00100000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_SDR_CAPTURE 0x00100000
86f512
+#endif
86f512
+#if defined(V4L2_CAP_EXT_PIX_FORMAT) || (defined(HAVE_DECL_V4L2_CAP_EXT_PIX_FORMAT) && HAVE_DECL_V4L2_CAP_EXT_PIX_FORMAT)
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_EXT_PIX_FORMAT) == (0x00200000), "V4L2_CAP_EXT_PIX_FORMAT != 0x00200000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_EXT_PIX_FORMAT 0x00200000
86f512
+#endif
86f512
+#if defined(V4L2_CAP_SDR_OUTPUT) || (defined(HAVE_DECL_V4L2_CAP_SDR_OUTPUT) && HAVE_DECL_V4L2_CAP_SDR_OUTPUT)
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_SDR_OUTPUT) == (0x00400000), "V4L2_CAP_SDR_OUTPUT != 0x00400000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_SDR_OUTPUT 0x00400000
86f512
+#endif
86f512
+#if defined(V4L2_CAP_META_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_META_CAPTURE) && HAVE_DECL_V4L2_CAP_META_CAPTURE)
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_META_CAPTURE) == (0x00800000), "V4L2_CAP_META_CAPTURE != 0x00800000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_META_CAPTURE 0x00800000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_READWRITE) || (defined(HAVE_DECL_V4L2_CAP_READWRITE) && HAVE_DECL_V4L2_CAP_READWRITE)
86f512
-  XLAT(V4L2_CAP_READWRITE),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_READWRITE) == (0x01000000), "V4L2_CAP_READWRITE != 0x01000000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_READWRITE 0x01000000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_ASYNCIO) || (defined(HAVE_DECL_V4L2_CAP_ASYNCIO) && HAVE_DECL_V4L2_CAP_ASYNCIO)
86f512
-  XLAT(V4L2_CAP_ASYNCIO),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_ASYNCIO) == (0x02000000), "V4L2_CAP_ASYNCIO != 0x02000000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_ASYNCIO 0x02000000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_STREAMING) || (defined(HAVE_DECL_V4L2_CAP_STREAMING) && HAVE_DECL_V4L2_CAP_STREAMING)
86f512
-  XLAT(V4L2_CAP_STREAMING),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_STREAMING) == (0x04000000), "V4L2_CAP_STREAMING != 0x04000000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_STREAMING 0x04000000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_META_OUTPUT) || (defined(HAVE_DECL_V4L2_CAP_META_OUTPUT) && HAVE_DECL_V4L2_CAP_META_OUTPUT)
86f512
-  XLAT(V4L2_CAP_META_OUTPUT),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_META_OUTPUT) == (0x08000000), "V4L2_CAP_META_OUTPUT != 0x08000000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_META_OUTPUT 0x08000000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_TOUCH) || (defined(HAVE_DECL_V4L2_CAP_TOUCH) && HAVE_DECL_V4L2_CAP_TOUCH)
86f512
-  XLAT(V4L2_CAP_TOUCH),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_TOUCH) == (0x10000000), "V4L2_CAP_TOUCH != 0x10000000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_TOUCH 0x10000000
86f512
 #endif
86f512
 #if defined(V4L2_CAP_DEVICE_CAPS) || (defined(HAVE_DECL_V4L2_CAP_DEVICE_CAPS) && HAVE_DECL_V4L2_CAP_DEVICE_CAPS)
86f512
-  XLAT(V4L2_CAP_DEVICE_CAPS),
86f512
-#endif
86f512
-#if defined(V4L2_CAP_SDR_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_SDR_CAPTURE) && HAVE_DECL_V4L2_CAP_SDR_CAPTURE)
86f512
-  XLAT(V4L2_CAP_SDR_CAPTURE),
86f512
-#endif
86f512
-#if defined(V4L2_CAP_EXT_PIX_FORMAT) || (defined(HAVE_DECL_V4L2_CAP_EXT_PIX_FORMAT) && HAVE_DECL_V4L2_CAP_EXT_PIX_FORMAT)
86f512
-  XLAT(V4L2_CAP_EXT_PIX_FORMAT),
86f512
-#endif
86f512
-#if defined(V4L2_CAP_SDR_OUTPUT) || (defined(HAVE_DECL_V4L2_CAP_SDR_OUTPUT) && HAVE_DECL_V4L2_CAP_SDR_OUTPUT)
86f512
-  XLAT(V4L2_CAP_SDR_OUTPUT),
86f512
-#endif
86f512
-#if defined(V4L2_CAP_META_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_META_CAPTURE) && HAVE_DECL_V4L2_CAP_META_CAPTURE)
86f512
-  XLAT(V4L2_CAP_META_CAPTURE),
86f512
+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+static_assert((V4L2_CAP_DEVICE_CAPS) == (0x80000000), "V4L2_CAP_DEVICE_CAPS != 0x80000000");
86f512
+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
86f512
+#else
86f512
+# define V4L2_CAP_DEVICE_CAPS 0x80000000
86f512
 #endif
86f512
+
86f512
+#ifndef XLAT_MACROS_ONLY
86f512
+
86f512
+# ifdef IN_MPERS
86f512
+
86f512
+extern const struct xlat v4l2_device_capabilities_flags[];
86f512
+
86f512
+# else
86f512
+
86f512
+#  if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
86f512
+static
86f512
+#  endif
86f512
+const struct xlat v4l2_device_capabilities_flags[] = {
86f512
+ XLAT(V4L2_CAP_VIDEO_CAPTURE),
86f512
+ XLAT(V4L2_CAP_VIDEO_OUTPUT),
86f512
+ XLAT(V4L2_CAP_VIDEO_OVERLAY),
86f512
+ XLAT(V4L2_CAP_VBI_CAPTURE),
86f512
+ XLAT(V4L2_CAP_VBI_OUTPUT),
86f512
+ XLAT(V4L2_CAP_SLICED_VBI_CAPTURE),
86f512
+ XLAT(V4L2_CAP_SLICED_VBI_OUTPUT),
86f512
+ XLAT(V4L2_CAP_RDS_CAPTURE),
86f512
+ XLAT(V4L2_CAP_VIDEO_OUTPUT_OVERLAY),
86f512
+ XLAT(V4L2_CAP_HW_FREQ_SEEK),
86f512
+ XLAT(V4L2_CAP_RDS_OUTPUT),
86f512
+ XLAT(V4L2_CAP_VIDEO_CAPTURE_MPLANE),
86f512
+ XLAT(V4L2_CAP_VIDEO_OUTPUT_MPLANE),
86f512
+ XLAT(V4L2_CAP_VIDEO_M2M_MPLANE),
86f512
+ XLAT(V4L2_CAP_VIDEO_M2M),
86f512
+ XLAT(V4L2_CAP_TUNER),
86f512
+ XLAT(V4L2_CAP_AUDIO),
86f512
+ XLAT(V4L2_CAP_RADIO),
86f512
+ XLAT(V4L2_CAP_MODULATOR),
86f512
+ XLAT(V4L2_CAP_SDR_CAPTURE),
86f512
+ XLAT(V4L2_CAP_EXT_PIX_FORMAT),
86f512
+ XLAT(V4L2_CAP_SDR_OUTPUT),
86f512
+ XLAT(V4L2_CAP_META_CAPTURE),
86f512
+ XLAT(V4L2_CAP_READWRITE),
86f512
+ XLAT(V4L2_CAP_ASYNCIO),
86f512
+ XLAT(V4L2_CAP_STREAMING),
86f512
+ XLAT(V4L2_CAP_META_OUTPUT),
86f512
+ XLAT(V4L2_CAP_TOUCH),
86f512
+ XLAT(V4L2_CAP_DEVICE_CAPS),
86f512
  XLAT_END
86f512
 };
86f512