/* Generated by ./xlat/gen.sh from ./xlat/v4l2_control_ids.in; do not edit. */

#include "gcc_compat.h"
#include "static_assert.h"

#if defined(V4L2_CID_BRIGHTNESS) || (defined(HAVE_DECL_V4L2_CID_BRIGHTNESS) && HAVE_DECL_V4L2_CID_BRIGHTNESS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_BRIGHTNESS) == ((V4L2_CID_BASE+0)), "V4L2_CID_BRIGHTNESS != (V4L2_CID_BASE+0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_BRIGHTNESS (V4L2_CID_BASE+0)
#endif
#if defined(V4L2_CID_CONTRAST) || (defined(HAVE_DECL_V4L2_CID_CONTRAST) && HAVE_DECL_V4L2_CID_CONTRAST)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_CONTRAST) == ((V4L2_CID_BASE+1)), "V4L2_CID_CONTRAST != (V4L2_CID_BASE+1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_CONTRAST (V4L2_CID_BASE+1)
#endif
#if defined(V4L2_CID_SATURATION) || (defined(HAVE_DECL_V4L2_CID_SATURATION) && HAVE_DECL_V4L2_CID_SATURATION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_SATURATION) == ((V4L2_CID_BASE+2)), "V4L2_CID_SATURATION != (V4L2_CID_BASE+2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_SATURATION (V4L2_CID_BASE+2)
#endif
#if defined(V4L2_CID_HUE) || (defined(HAVE_DECL_V4L2_CID_HUE) && HAVE_DECL_V4L2_CID_HUE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_HUE) == ((V4L2_CID_BASE+3)), "V4L2_CID_HUE != (V4L2_CID_BASE+3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_HUE (V4L2_CID_BASE+3)
#endif
#if defined(V4L2_CID_AUDIO_VOLUME) || (defined(HAVE_DECL_V4L2_CID_AUDIO_VOLUME) && HAVE_DECL_V4L2_CID_AUDIO_VOLUME)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_VOLUME) == ((V4L2_CID_BASE+5)), "V4L2_CID_AUDIO_VOLUME != (V4L2_CID_BASE+5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_VOLUME (V4L2_CID_BASE+5)
#endif
#if defined(V4L2_CID_AUDIO_BALANCE) || (defined(HAVE_DECL_V4L2_CID_AUDIO_BALANCE) && HAVE_DECL_V4L2_CID_AUDIO_BALANCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_BALANCE) == ((V4L2_CID_BASE+6)), "V4L2_CID_AUDIO_BALANCE != (V4L2_CID_BASE+6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_BALANCE (V4L2_CID_BASE+6)
#endif
#if defined(V4L2_CID_AUDIO_BASS) || (defined(HAVE_DECL_V4L2_CID_AUDIO_BASS) && HAVE_DECL_V4L2_CID_AUDIO_BASS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_BASS) == ((V4L2_CID_BASE+7)), "V4L2_CID_AUDIO_BASS != (V4L2_CID_BASE+7)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_BASS (V4L2_CID_BASE+7)
#endif
#if defined(V4L2_CID_AUDIO_TREBLE) || (defined(HAVE_DECL_V4L2_CID_AUDIO_TREBLE) && HAVE_DECL_V4L2_CID_AUDIO_TREBLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_TREBLE) == ((V4L2_CID_BASE+8)), "V4L2_CID_AUDIO_TREBLE != (V4L2_CID_BASE+8)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_TREBLE (V4L2_CID_BASE+8)
#endif
#if defined(V4L2_CID_AUDIO_MUTE) || (defined(HAVE_DECL_V4L2_CID_AUDIO_MUTE) && HAVE_DECL_V4L2_CID_AUDIO_MUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_MUTE) == ((V4L2_CID_BASE+9)), "V4L2_CID_AUDIO_MUTE != (V4L2_CID_BASE+9)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE+9)
#endif
#if defined(V4L2_CID_AUDIO_LOUDNESS) || (defined(HAVE_DECL_V4L2_CID_AUDIO_LOUDNESS) && HAVE_DECL_V4L2_CID_AUDIO_LOUDNESS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_LOUDNESS) == ((V4L2_CID_BASE+10)), "V4L2_CID_AUDIO_LOUDNESS != (V4L2_CID_BASE+10)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_LOUDNESS (V4L2_CID_BASE+10)
#endif
#if defined(V4L2_CID_BLACK_LEVEL) || (defined(HAVE_DECL_V4L2_CID_BLACK_LEVEL) && HAVE_DECL_V4L2_CID_BLACK_LEVEL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_BLACK_LEVEL) == ((V4L2_CID_BASE+11)), "V4L2_CID_BLACK_LEVEL != (V4L2_CID_BASE+11)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_BLACK_LEVEL (V4L2_CID_BASE+11)
#endif
#if defined(V4L2_CID_AUTO_WHITE_BALANCE) || (defined(HAVE_DECL_V4L2_CID_AUTO_WHITE_BALANCE) && HAVE_DECL_V4L2_CID_AUTO_WHITE_BALANCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUTO_WHITE_BALANCE) == ((V4L2_CID_BASE+12)), "V4L2_CID_AUTO_WHITE_BALANCE != (V4L2_CID_BASE+12)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUTO_WHITE_BALANCE (V4L2_CID_BASE+12)
#endif
#if defined(V4L2_CID_DO_WHITE_BALANCE) || (defined(HAVE_DECL_V4L2_CID_DO_WHITE_BALANCE) && HAVE_DECL_V4L2_CID_DO_WHITE_BALANCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DO_WHITE_BALANCE) == ((V4L2_CID_BASE+13)), "V4L2_CID_DO_WHITE_BALANCE != (V4L2_CID_BASE+13)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DO_WHITE_BALANCE (V4L2_CID_BASE+13)
#endif
#if defined(V4L2_CID_RED_BALANCE) || (defined(HAVE_DECL_V4L2_CID_RED_BALANCE) && HAVE_DECL_V4L2_CID_RED_BALANCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RED_BALANCE) == ((V4L2_CID_BASE+14)), "V4L2_CID_RED_BALANCE != (V4L2_CID_BASE+14)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RED_BALANCE (V4L2_CID_BASE+14)
#endif
#if defined(V4L2_CID_BLUE_BALANCE) || (defined(HAVE_DECL_V4L2_CID_BLUE_BALANCE) && HAVE_DECL_V4L2_CID_BLUE_BALANCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_BLUE_BALANCE) == ((V4L2_CID_BASE+15)), "V4L2_CID_BLUE_BALANCE != (V4L2_CID_BASE+15)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_BLUE_BALANCE (V4L2_CID_BASE+15)
#endif
#if defined(V4L2_CID_GAMMA) || (defined(HAVE_DECL_V4L2_CID_GAMMA) && HAVE_DECL_V4L2_CID_GAMMA)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_GAMMA) == ((V4L2_CID_BASE+16)), "V4L2_CID_GAMMA != (V4L2_CID_BASE+16)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_GAMMA (V4L2_CID_BASE+16)
#endif
#if defined(V4L2_CID_EXPOSURE) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE) && HAVE_DECL_V4L2_CID_EXPOSURE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_EXPOSURE) == ((V4L2_CID_BASE+17)), "V4L2_CID_EXPOSURE != (V4L2_CID_BASE+17)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_EXPOSURE (V4L2_CID_BASE+17)
#endif
#if defined(V4L2_CID_AUTOGAIN) || (defined(HAVE_DECL_V4L2_CID_AUTOGAIN) && HAVE_DECL_V4L2_CID_AUTOGAIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUTOGAIN) == ((V4L2_CID_BASE+18)), "V4L2_CID_AUTOGAIN != (V4L2_CID_BASE+18)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUTOGAIN (V4L2_CID_BASE+18)
#endif
#if defined(V4L2_CID_GAIN) || (defined(HAVE_DECL_V4L2_CID_GAIN) && HAVE_DECL_V4L2_CID_GAIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_GAIN) == ((V4L2_CID_BASE+19)), "V4L2_CID_GAIN != (V4L2_CID_BASE+19)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_GAIN (V4L2_CID_BASE+19)
#endif
#if defined(V4L2_CID_HFLIP) || (defined(HAVE_DECL_V4L2_CID_HFLIP) && HAVE_DECL_V4L2_CID_HFLIP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_HFLIP) == ((V4L2_CID_BASE+20)), "V4L2_CID_HFLIP != (V4L2_CID_BASE+20)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_HFLIP (V4L2_CID_BASE+20)
#endif
#if defined(V4L2_CID_VFLIP) || (defined(HAVE_DECL_V4L2_CID_VFLIP) && HAVE_DECL_V4L2_CID_VFLIP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_VFLIP) == ((V4L2_CID_BASE+21)), "V4L2_CID_VFLIP != (V4L2_CID_BASE+21)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_VFLIP (V4L2_CID_BASE+21)
#endif
#if defined(V4L2_CID_HCENTER) || (defined(HAVE_DECL_V4L2_CID_HCENTER) && HAVE_DECL_V4L2_CID_HCENTER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_HCENTER) == ((V4L2_CID_BASE+22)), "V4L2_CID_HCENTER != (V4L2_CID_BASE+22)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_HCENTER (V4L2_CID_BASE+22)
#endif
#if defined(V4L2_CID_VCENTER) || (defined(HAVE_DECL_V4L2_CID_VCENTER) && HAVE_DECL_V4L2_CID_VCENTER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_VCENTER) == ((V4L2_CID_BASE+23)), "V4L2_CID_VCENTER != (V4L2_CID_BASE+23)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_VCENTER (V4L2_CID_BASE+23)
#endif
#if defined(V4L2_CID_POWER_LINE_FREQUENCY) || (defined(HAVE_DECL_V4L2_CID_POWER_LINE_FREQUENCY) && HAVE_DECL_V4L2_CID_POWER_LINE_FREQUENCY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_POWER_LINE_FREQUENCY) == ((V4L2_CID_BASE+24)), "V4L2_CID_POWER_LINE_FREQUENCY != (V4L2_CID_BASE+24)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24)
#endif
#if defined(V4L2_CID_HUE_AUTO) || (defined(HAVE_DECL_V4L2_CID_HUE_AUTO) && HAVE_DECL_V4L2_CID_HUE_AUTO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_HUE_AUTO) == ((V4L2_CID_BASE+25)), "V4L2_CID_HUE_AUTO != (V4L2_CID_BASE+25)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25)
#endif
#if defined(V4L2_CID_WHITE_BALANCE_TEMPERATURE) || (defined(HAVE_DECL_V4L2_CID_WHITE_BALANCE_TEMPERATURE) && HAVE_DECL_V4L2_CID_WHITE_BALANCE_TEMPERATURE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_WHITE_BALANCE_TEMPERATURE) == ((V4L2_CID_BASE+26)), "V4L2_CID_WHITE_BALANCE_TEMPERATURE != (V4L2_CID_BASE+26)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26)
#endif
#if defined(V4L2_CID_SHARPNESS) || (defined(HAVE_DECL_V4L2_CID_SHARPNESS) && HAVE_DECL_V4L2_CID_SHARPNESS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_SHARPNESS) == ((V4L2_CID_BASE+27)), "V4L2_CID_SHARPNESS != (V4L2_CID_BASE+27)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_SHARPNESS (V4L2_CID_BASE+27)
#endif
#if defined(V4L2_CID_BACKLIGHT_COMPENSATION) || (defined(HAVE_DECL_V4L2_CID_BACKLIGHT_COMPENSATION) && HAVE_DECL_V4L2_CID_BACKLIGHT_COMPENSATION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_BACKLIGHT_COMPENSATION) == ((V4L2_CID_BASE+28)), "V4L2_CID_BACKLIGHT_COMPENSATION != (V4L2_CID_BASE+28)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28)
#endif
#if defined(V4L2_CID_CHROMA_AGC) || (defined(HAVE_DECL_V4L2_CID_CHROMA_AGC) && HAVE_DECL_V4L2_CID_CHROMA_AGC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_CHROMA_AGC) == ((V4L2_CID_BASE+29)), "V4L2_CID_CHROMA_AGC != (V4L2_CID_BASE+29)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29)
#endif
#if defined(V4L2_CID_COLOR_KILLER) || (defined(HAVE_DECL_V4L2_CID_COLOR_KILLER) && HAVE_DECL_V4L2_CID_COLOR_KILLER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_COLOR_KILLER) == ((V4L2_CID_BASE+30)), "V4L2_CID_COLOR_KILLER != (V4L2_CID_BASE+30)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30)
#endif
#if defined(V4L2_CID_COLORFX) || (defined(HAVE_DECL_V4L2_CID_COLORFX) && HAVE_DECL_V4L2_CID_COLORFX)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_COLORFX) == ((V4L2_CID_BASE+31)), "V4L2_CID_COLORFX != (V4L2_CID_BASE+31)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_COLORFX (V4L2_CID_BASE+31)
#endif
#if defined(V4L2_CID_AUTOBRIGHTNESS) || (defined(HAVE_DECL_V4L2_CID_AUTOBRIGHTNESS) && HAVE_DECL_V4L2_CID_AUTOBRIGHTNESS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUTOBRIGHTNESS) == ((V4L2_CID_BASE+32)), "V4L2_CID_AUTOBRIGHTNESS != (V4L2_CID_BASE+32)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32)
#endif
#if defined(V4L2_CID_BAND_STOP_FILTER) || (defined(HAVE_DECL_V4L2_CID_BAND_STOP_FILTER) && HAVE_DECL_V4L2_CID_BAND_STOP_FILTER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_BAND_STOP_FILTER) == ((V4L2_CID_BASE+33)), "V4L2_CID_BAND_STOP_FILTER != (V4L2_CID_BASE+33)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33)
#endif
#if defined(V4L2_CID_ROTATE) || (defined(HAVE_DECL_V4L2_CID_ROTATE) && HAVE_DECL_V4L2_CID_ROTATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_ROTATE) == ((V4L2_CID_BASE+34)), "V4L2_CID_ROTATE != (V4L2_CID_BASE+34)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_ROTATE (V4L2_CID_BASE+34)
#endif
#if defined(V4L2_CID_BG_COLOR) || (defined(HAVE_DECL_V4L2_CID_BG_COLOR) && HAVE_DECL_V4L2_CID_BG_COLOR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_BG_COLOR) == ((V4L2_CID_BASE+35)), "V4L2_CID_BG_COLOR != (V4L2_CID_BASE+35)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_BG_COLOR (V4L2_CID_BASE+35)
#endif
#if defined(V4L2_CID_CHROMA_GAIN) || (defined(HAVE_DECL_V4L2_CID_CHROMA_GAIN) && HAVE_DECL_V4L2_CID_CHROMA_GAIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_CHROMA_GAIN) == ((V4L2_CID_BASE+36)), "V4L2_CID_CHROMA_GAIN != (V4L2_CID_BASE+36)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_CHROMA_GAIN (V4L2_CID_BASE+36)
#endif
#if defined(V4L2_CID_ILLUMINATORS_1) || (defined(HAVE_DECL_V4L2_CID_ILLUMINATORS_1) && HAVE_DECL_V4L2_CID_ILLUMINATORS_1)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_ILLUMINATORS_1) == ((V4L2_CID_BASE+37)), "V4L2_CID_ILLUMINATORS_1 != (V4L2_CID_BASE+37)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37)
#endif
#if defined(V4L2_CID_ILLUMINATORS_2) || (defined(HAVE_DECL_V4L2_CID_ILLUMINATORS_2) && HAVE_DECL_V4L2_CID_ILLUMINATORS_2)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_ILLUMINATORS_2) == ((V4L2_CID_BASE+38)), "V4L2_CID_ILLUMINATORS_2 != (V4L2_CID_BASE+38)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38)
#endif
#if defined(V4L2_CID_MIN_BUFFERS_FOR_CAPTURE) || (defined(HAVE_DECL_V4L2_CID_MIN_BUFFERS_FOR_CAPTURE) && HAVE_DECL_V4L2_CID_MIN_BUFFERS_FOR_CAPTURE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MIN_BUFFERS_FOR_CAPTURE) == ((V4L2_CID_BASE+39)), "V4L2_CID_MIN_BUFFERS_FOR_CAPTURE != (V4L2_CID_BASE+39)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39)
#endif
#if defined(V4L2_CID_MIN_BUFFERS_FOR_OUTPUT) || (defined(HAVE_DECL_V4L2_CID_MIN_BUFFERS_FOR_OUTPUT) && HAVE_DECL_V4L2_CID_MIN_BUFFERS_FOR_OUTPUT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MIN_BUFFERS_FOR_OUTPUT) == ((V4L2_CID_BASE+40)), "V4L2_CID_MIN_BUFFERS_FOR_OUTPUT != (V4L2_CID_BASE+40)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40)
#endif
#if defined(V4L2_CID_ALPHA_COMPONENT) || (defined(HAVE_DECL_V4L2_CID_ALPHA_COMPONENT) && HAVE_DECL_V4L2_CID_ALPHA_COMPONENT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_ALPHA_COMPONENT) == ((V4L2_CID_BASE+41)), "V4L2_CID_ALPHA_COMPONENT != (V4L2_CID_BASE+41)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_ALPHA_COMPONENT (V4L2_CID_BASE+41)
#endif
#if defined(V4L2_CID_COLORFX_CBCR) || (defined(HAVE_DECL_V4L2_CID_COLORFX_CBCR) && HAVE_DECL_V4L2_CID_COLORFX_CBCR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_COLORFX_CBCR) == ((V4L2_CID_BASE+42)), "V4L2_CID_COLORFX_CBCR != (V4L2_CID_BASE+42)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_COLORFX_CBCR (V4L2_CID_BASE+42)
#endif
#if defined(V4L2_CID_MPEG_STREAM_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_TYPE) && HAVE_DECL_V4L2_CID_MPEG_STREAM_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_STREAM_TYPE) == ((V4L2_CID_MPEG_BASE+0)), "V4L2_CID_MPEG_STREAM_TYPE != (V4L2_CID_MPEG_BASE+0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0)
#endif
#if defined(V4L2_CID_MPEG_STREAM_PID_PMT) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_PMT) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_PMT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_STREAM_PID_PMT) == ((V4L2_CID_MPEG_BASE+1)), "V4L2_CID_MPEG_STREAM_PID_PMT != (V4L2_CID_MPEG_BASE+1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1)
#endif
#if defined(V4L2_CID_MPEG_STREAM_PID_AUDIO) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_AUDIO) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_AUDIO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_STREAM_PID_AUDIO) == ((V4L2_CID_MPEG_BASE+2)), "V4L2_CID_MPEG_STREAM_PID_AUDIO != (V4L2_CID_MPEG_BASE+2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2)
#endif
#if defined(V4L2_CID_MPEG_STREAM_PID_VIDEO) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_VIDEO) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_VIDEO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_STREAM_PID_VIDEO) == ((V4L2_CID_MPEG_BASE+3)), "V4L2_CID_MPEG_STREAM_PID_VIDEO != (V4L2_CID_MPEG_BASE+3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_MPEG_BASE+3)
#endif
#if defined(V4L2_CID_MPEG_STREAM_PID_PCR) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_PCR) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_PCR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_STREAM_PID_PCR) == ((V4L2_CID_MPEG_BASE+4)), "V4L2_CID_MPEG_STREAM_PID_PCR != (V4L2_CID_MPEG_BASE+4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_MPEG_BASE+4)
#endif
#if defined(V4L2_CID_MPEG_STREAM_PES_ID_AUDIO) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PES_ID_AUDIO) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PES_ID_AUDIO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_STREAM_PES_ID_AUDIO) == ((V4L2_CID_MPEG_BASE+5)), "V4L2_CID_MPEG_STREAM_PES_ID_AUDIO != (V4L2_CID_MPEG_BASE+5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_MPEG_BASE+5)
#endif
#if defined(V4L2_CID_MPEG_STREAM_PES_ID_VIDEO) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PES_ID_VIDEO) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PES_ID_VIDEO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_STREAM_PES_ID_VIDEO) == ((V4L2_CID_MPEG_BASE+6)), "V4L2_CID_MPEG_STREAM_PES_ID_VIDEO != (V4L2_CID_MPEG_BASE+6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6)
#endif
#if defined(V4L2_CID_MPEG_STREAM_VBI_FMT) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_VBI_FMT) && HAVE_DECL_V4L2_CID_MPEG_STREAM_VBI_FMT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_STREAM_VBI_FMT) == ((V4L2_CID_MPEG_BASE+7)), "V4L2_CID_MPEG_STREAM_VBI_FMT != (V4L2_CID_MPEG_BASE+7)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ) == ((V4L2_CID_MPEG_BASE+100)), "V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ != (V4L2_CID_MPEG_BASE+100)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_ENCODING) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_ENCODING) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_ENCODING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_ENCODING) == ((V4L2_CID_MPEG_BASE+101)), "V4L2_CID_MPEG_AUDIO_ENCODING != (V4L2_CID_MPEG_BASE+101)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_L1_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_L1_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_L1_BITRATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_L1_BITRATE) == ((V4L2_CID_MPEG_BASE+102)), "V4L2_CID_MPEG_AUDIO_L1_BITRATE != (V4L2_CID_MPEG_BASE+102)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_L2_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_L2_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_L2_BITRATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_L2_BITRATE) == ((V4L2_CID_MPEG_BASE+103)), "V4L2_CID_MPEG_AUDIO_L2_BITRATE != (V4L2_CID_MPEG_BASE+103)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_L3_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_L3_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_L3_BITRATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_L3_BITRATE) == ((V4L2_CID_MPEG_BASE+104)), "V4L2_CID_MPEG_AUDIO_L3_BITRATE != (V4L2_CID_MPEG_BASE+104)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_MODE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_MODE) == ((V4L2_CID_MPEG_BASE+105)), "V4L2_CID_MPEG_AUDIO_MODE != (V4L2_CID_MPEG_BASE+105)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_MODE_EXTENSION) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_MODE_EXTENSION) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_MODE_EXTENSION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_MODE_EXTENSION) == ((V4L2_CID_MPEG_BASE+106)), "V4L2_CID_MPEG_AUDIO_MODE_EXTENSION != (V4L2_CID_MPEG_BASE+106)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_EMPHASIS) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_EMPHASIS) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_EMPHASIS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_EMPHASIS) == ((V4L2_CID_MPEG_BASE+107)), "V4L2_CID_MPEG_AUDIO_EMPHASIS != (V4L2_CID_MPEG_BASE+107)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_CRC) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_CRC) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_CRC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_CRC) == ((V4L2_CID_MPEG_BASE+108)), "V4L2_CID_MPEG_AUDIO_CRC != (V4L2_CID_MPEG_BASE+108)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_MUTE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_MUTE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_MUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_MUTE) == ((V4L2_CID_MPEG_BASE+109)), "V4L2_CID_MPEG_AUDIO_MUTE != (V4L2_CID_MPEG_BASE+109)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_AAC_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_AAC_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_AAC_BITRATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_AAC_BITRATE) == ((V4L2_CID_MPEG_BASE+110)), "V4L2_CID_MPEG_AUDIO_AAC_BITRATE != (V4L2_CID_MPEG_BASE+110)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_AC3_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_AC3_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_AC3_BITRATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_AC3_BITRATE) == ((V4L2_CID_MPEG_BASE+111)), "V4L2_CID_MPEG_AUDIO_AC3_BITRATE != (V4L2_CID_MPEG_BASE+111)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK) == ((V4L2_CID_MPEG_BASE+112)), "V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK != (V4L2_CID_MPEG_BASE+112)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK (V4L2_CID_MPEG_BASE+112)
#endif
#if defined(V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK) == ((V4L2_CID_MPEG_BASE+113)), "V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK != (V4L2_CID_MPEG_BASE+113)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_MPEG_BASE+113)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_ENCODING) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_ENCODING) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_ENCODING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_ENCODING) == ((V4L2_CID_MPEG_BASE+200)), "V4L2_CID_MPEG_VIDEO_ENCODING != (V4L2_CID_MPEG_BASE+200)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_ASPECT) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_ASPECT) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_ASPECT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_ASPECT) == ((V4L2_CID_MPEG_BASE+201)), "V4L2_CID_MPEG_VIDEO_ASPECT != (V4L2_CID_MPEG_BASE+201)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_B_FRAMES) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_B_FRAMES) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_B_FRAMES)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_B_FRAMES) == ((V4L2_CID_MPEG_BASE+202)), "V4L2_CID_MPEG_VIDEO_B_FRAMES != (V4L2_CID_MPEG_BASE+202)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_GOP_SIZE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_GOP_SIZE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_GOP_SIZE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_GOP_SIZE) == ((V4L2_CID_MPEG_BASE+203)), "V4L2_CID_MPEG_VIDEO_GOP_SIZE != (V4L2_CID_MPEG_BASE+203)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_GOP_CLOSURE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_GOP_CLOSURE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_GOP_CLOSURE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_GOP_CLOSURE) == ((V4L2_CID_MPEG_BASE+204)), "V4L2_CID_MPEG_VIDEO_GOP_CLOSURE != (V4L2_CID_MPEG_BASE+204)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_MPEG_BASE+204)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_PULLDOWN) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_PULLDOWN) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_PULLDOWN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_PULLDOWN) == ((V4L2_CID_MPEG_BASE+205)), "V4L2_CID_MPEG_VIDEO_PULLDOWN != (V4L2_CID_MPEG_BASE+205)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_BITRATE_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_BITRATE_MODE) == ((V4L2_CID_MPEG_BASE+206)), "V4L2_CID_MPEG_VIDEO_BITRATE_MODE != (V4L2_CID_MPEG_BASE+206)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_BITRATE) == ((V4L2_CID_MPEG_BASE+207)), "V4L2_CID_MPEG_VIDEO_BITRATE != (V4L2_CID_MPEG_BASE+207)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_BITRATE_PEAK) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE_PEAK) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE_PEAK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_BITRATE_PEAK) == ((V4L2_CID_MPEG_BASE+208)), "V4L2_CID_MPEG_VIDEO_BITRATE_PEAK != (V4L2_CID_MPEG_BASE+208)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION) == ((V4L2_CID_MPEG_BASE+209)), "V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION != (V4L2_CID_MPEG_BASE+209)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MUTE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MUTE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MUTE) == ((V4L2_CID_MPEG_BASE+210)), "V4L2_CID_MPEG_VIDEO_MUTE != (V4L2_CID_MPEG_BASE+210)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MUTE_YUV) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MUTE_YUV) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MUTE_YUV)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MUTE_YUV) == ((V4L2_CID_MPEG_BASE+211)), "V4L2_CID_MPEG_VIDEO_MUTE_YUV != (V4L2_CID_MPEG_BASE+211)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE) == ((V4L2_CID_MPEG_BASE+212)), "V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE != (V4L2_CID_MPEG_BASE+212)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_MPEG_BASE+212)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER) == ((V4L2_CID_MPEG_BASE+213)), "V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER != (V4L2_CID_MPEG_BASE+213)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_MPEG_BASE+213)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB) == ((V4L2_CID_MPEG_BASE+214)), "V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB != (V4L2_CID_MPEG_BASE+214)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_MPEG_BASE+214)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE) == ((V4L2_CID_MPEG_BASE+215)), "V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE != (V4L2_CID_MPEG_BASE+215)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_MPEG_BASE+215)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEADER_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEADER_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEADER_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEADER_MODE) == ((V4L2_CID_MPEG_BASE+216)), "V4L2_CID_MPEG_VIDEO_HEADER_MODE != (V4L2_CID_MPEG_BASE+216)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_MPEG_BASE+216)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MAX_REF_PIC) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MAX_REF_PIC) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MAX_REF_PIC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MAX_REF_PIC) == ((V4L2_CID_MPEG_BASE+217)), "V4L2_CID_MPEG_VIDEO_MAX_REF_PIC != (V4L2_CID_MPEG_BASE+217)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE+217)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE) == ((V4L2_CID_MPEG_BASE+218)), "V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE != (V4L2_CID_MPEG_BASE+218)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE+218)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES) == ((V4L2_CID_MPEG_BASE+219)), "V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES != (V4L2_CID_MPEG_BASE+219)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_MPEG_BASE+219)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB) == ((V4L2_CID_MPEG_BASE+220)), "V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB != (V4L2_CID_MPEG_BASE+220)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_MPEG_BASE+220)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE) == ((V4L2_CID_MPEG_BASE+221)), "V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE != (V4L2_CID_MPEG_BASE+221)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_MPEG_BASE+221)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VBV_SIZE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VBV_SIZE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VBV_SIZE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VBV_SIZE) == ((V4L2_CID_MPEG_BASE+222)), "V4L2_CID_MPEG_VIDEO_VBV_SIZE != (V4L2_CID_MPEG_BASE+222)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_DEC_PTS) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_DEC_PTS) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_DEC_PTS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_DEC_PTS) == ((V4L2_CID_MPEG_BASE+223)), "V4L2_CID_MPEG_VIDEO_DEC_PTS != (V4L2_CID_MPEG_BASE+223)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_DEC_FRAME) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_DEC_FRAME) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_DEC_FRAME)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_DEC_FRAME) == ((V4L2_CID_MPEG_BASE+224)), "V4L2_CID_MPEG_VIDEO_DEC_FRAME != (V4L2_CID_MPEG_BASE+224)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VBV_DELAY) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VBV_DELAY) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VBV_DELAY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VBV_DELAY) == ((V4L2_CID_MPEG_BASE+225)), "V4L2_CID_MPEG_VIDEO_VBV_DELAY != (V4L2_CID_MPEG_BASE+225)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER) == ((V4L2_CID_MPEG_BASE+226)), "V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER != (V4L2_CID_MPEG_BASE+226)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE) == ((V4L2_CID_MPEG_BASE+227)), "V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE != (V4L2_CID_MPEG_BASE+227)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE) == ((V4L2_CID_MPEG_BASE+228)), "V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE != (V4L2_CID_MPEG_BASE+228)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME) == ((V4L2_CID_MPEG_BASE+229)), "V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME != (V4L2_CID_MPEG_BASE+229)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP) == ((V4L2_CID_MPEG_BASE+300)), "V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP != (V4L2_CID_MPEG_BASE+300)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP) == ((V4L2_CID_MPEG_BASE+301)), "V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP != (V4L2_CID_MPEG_BASE+301)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP) == ((V4L2_CID_MPEG_BASE+302)), "V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP != (V4L2_CID_MPEG_BASE+302)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H263_MIN_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_MIN_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_MIN_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H263_MIN_QP) == ((V4L2_CID_MPEG_BASE+303)), "V4L2_CID_MPEG_VIDEO_H263_MIN_QP != (V4L2_CID_MPEG_BASE+303)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_MPEG_BASE+303)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H263_MAX_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_MAX_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_MAX_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H263_MAX_QP) == ((V4L2_CID_MPEG_BASE+304)), "V4L2_CID_MPEG_VIDEO_H263_MAX_QP != (V4L2_CID_MPEG_BASE+304)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_MPEG_BASE+304)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP) == ((V4L2_CID_MPEG_BASE+350)), "V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP != (V4L2_CID_MPEG_BASE+350)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_MPEG_BASE+350)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP) == ((V4L2_CID_MPEG_BASE+351)), "V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP != (V4L2_CID_MPEG_BASE+351)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_MPEG_BASE+351)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP) == ((V4L2_CID_MPEG_BASE+352)), "V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP != (V4L2_CID_MPEG_BASE+352)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_MPEG_BASE+352)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_MIN_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_MIN_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_MIN_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_MIN_QP) == ((V4L2_CID_MPEG_BASE+353)), "V4L2_CID_MPEG_VIDEO_H264_MIN_QP != (V4L2_CID_MPEG_BASE+353)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_MPEG_BASE+353)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_MAX_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_MAX_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_MAX_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_MAX_QP) == ((V4L2_CID_MPEG_BASE+354)), "V4L2_CID_MPEG_VIDEO_H264_MAX_QP != (V4L2_CID_MPEG_BASE+354)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_MPEG_BASE+354)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM) == ((V4L2_CID_MPEG_BASE+355)), "V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM != (V4L2_CID_MPEG_BASE+355)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_MPEG_BASE+355)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE) == ((V4L2_CID_MPEG_BASE+356)), "V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE != (V4L2_CID_MPEG_BASE+356)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_MPEG_BASE+356)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE) == ((V4L2_CID_MPEG_BASE+357)), "V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE != (V4L2_CID_MPEG_BASE+357)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_MPEG_BASE+357)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_I_PERIOD) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_I_PERIOD) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_I_PERIOD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_I_PERIOD) == ((V4L2_CID_MPEG_BASE+358)), "V4L2_CID_MPEG_VIDEO_H264_I_PERIOD != (V4L2_CID_MPEG_BASE+358)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_MPEG_BASE+358)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_LEVEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LEVEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LEVEL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_LEVEL) == ((V4L2_CID_MPEG_BASE+359)), "V4L2_CID_MPEG_VIDEO_H264_LEVEL != (V4L2_CID_MPEG_BASE+359)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_MPEG_BASE+359)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA) == ((V4L2_CID_MPEG_BASE+360)), "V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA != (V4L2_CID_MPEG_BASE+360)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA) == ((V4L2_CID_MPEG_BASE+361)), "V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA != (V4L2_CID_MPEG_BASE+361)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE) == ((V4L2_CID_MPEG_BASE+362)), "V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE != (V4L2_CID_MPEG_BASE+362)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_PROFILE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_PROFILE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_PROFILE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_PROFILE) == ((V4L2_CID_MPEG_BASE+363)), "V4L2_CID_MPEG_VIDEO_H264_PROFILE != (V4L2_CID_MPEG_BASE+363)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+363)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT) == ((V4L2_CID_MPEG_BASE+364)), "V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT != (V4L2_CID_MPEG_BASE+364)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH) == ((V4L2_CID_MPEG_BASE+365)), "V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH != (V4L2_CID_MPEG_BASE+365)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE) == ((V4L2_CID_MPEG_BASE+366)), "V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE != (V4L2_CID_MPEG_BASE+366)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_MPEG_BASE+366)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC) == ((V4L2_CID_MPEG_BASE+367)), "V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC != (V4L2_CID_MPEG_BASE+367)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_MPEG_BASE+367)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING) == ((V4L2_CID_MPEG_BASE+368)), "V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING != (V4L2_CID_MPEG_BASE+368)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (V4L2_CID_MPEG_BASE+368)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0) == ((V4L2_CID_MPEG_BASE+369)), "V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 != (V4L2_CID_MPEG_BASE+369)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (V4L2_CID_MPEG_BASE+369)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE) == ((V4L2_CID_MPEG_BASE+370)), "V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE != (V4L2_CID_MPEG_BASE+370)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE (V4L2_CID_MPEG_BASE+370)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO) == ((V4L2_CID_MPEG_BASE+371)), "V4L2_CID_MPEG_VIDEO_H264_FMO != (V4L2_CID_MPEG_BASE+371)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_FMO (V4L2_CID_MPEG_BASE+371)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE) == ((V4L2_CID_MPEG_BASE+372)), "V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE != (V4L2_CID_MPEG_BASE+372)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE (V4L2_CID_MPEG_BASE+372)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP) == ((V4L2_CID_MPEG_BASE+373)), "V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP != (V4L2_CID_MPEG_BASE+373)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (V4L2_CID_MPEG_BASE+373)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION) == ((V4L2_CID_MPEG_BASE+374)), "V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION != (V4L2_CID_MPEG_BASE+374)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION (V4L2_CID_MPEG_BASE+374)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE) == ((V4L2_CID_MPEG_BASE+375)), "V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE != (V4L2_CID_MPEG_BASE+375)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (V4L2_CID_MPEG_BASE+375)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH) == ((V4L2_CID_MPEG_BASE+376)), "V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH != (V4L2_CID_MPEG_BASE+376)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (V4L2_CID_MPEG_BASE+376)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_ASO) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ASO) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ASO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_ASO) == ((V4L2_CID_MPEG_BASE+377)), "V4L2_CID_MPEG_VIDEO_H264_ASO != (V4L2_CID_MPEG_BASE+377)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_ASO (V4L2_CID_MPEG_BASE+377)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER) == ((V4L2_CID_MPEG_BASE+378)), "V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER != (V4L2_CID_MPEG_BASE+378)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (V4L2_CID_MPEG_BASE+378)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING) == ((V4L2_CID_MPEG_BASE+379)), "V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING != (V4L2_CID_MPEG_BASE+379)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (V4L2_CID_MPEG_BASE+379)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE) == ((V4L2_CID_MPEG_BASE+380)), "V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE != (V4L2_CID_MPEG_BASE+380)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE (V4L2_CID_MPEG_BASE+380)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER) == ((V4L2_CID_MPEG_BASE+381)), "V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER != (V4L2_CID_MPEG_BASE+381)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_MPEG_BASE+381)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP) == ((V4L2_CID_MPEG_BASE+382)), "V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP != (V4L2_CID_MPEG_BASE+382)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_MPEG_BASE+382)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP) == ((V4L2_CID_MPEG_BASE+400)), "V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP != (V4L2_CID_MPEG_BASE+400)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP) == ((V4L2_CID_MPEG_BASE+401)), "V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP != (V4L2_CID_MPEG_BASE+401)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP) == ((V4L2_CID_MPEG_BASE+402)), "V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP != (V4L2_CID_MPEG_BASE+402)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP) == ((V4L2_CID_MPEG_BASE+403)), "V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP != (V4L2_CID_MPEG_BASE+403)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+403)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP) == ((V4L2_CID_MPEG_BASE+404)), "V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP != (V4L2_CID_MPEG_BASE+404)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+404)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL) == ((V4L2_CID_MPEG_BASE+405)), "V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL != (V4L2_CID_MPEG_BASE+405)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE) == ((V4L2_CID_MPEG_BASE+406)), "V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE != (V4L2_CID_MPEG_BASE+406)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_MPEG_BASE+406)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_QPEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_QPEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_QPEL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_QPEL) == ((V4L2_CID_MPEG_BASE+407)), "V4L2_CID_MPEG_VIDEO_MPEG4_QPEL != (V4L2_CID_MPEG_BASE+407)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS) == ((V4L2_CID_MPEG_BASE+500)), "V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS != (V4L2_CID_MPEG_BASE+500)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_MPEG_BASE+500)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4) == ((V4L2_CID_MPEG_BASE+501)), "V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 != (V4L2_CID_MPEG_BASE+501)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_MPEG_BASE+501)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES) == ((V4L2_CID_MPEG_BASE+502)), "V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES != (V4L2_CID_MPEG_BASE+502)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_MPEG_BASE+502)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL) == ((V4L2_CID_MPEG_BASE+503)), "V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL != (V4L2_CID_MPEG_BASE+503)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_MPEG_BASE+503)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS) == ((V4L2_CID_MPEG_BASE+504)), "V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS != (V4L2_CID_MPEG_BASE+504)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_MPEG_BASE+504)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD) == ((V4L2_CID_MPEG_BASE+505)), "V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD != (V4L2_CID_MPEG_BASE+505)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_MPEG_BASE+505)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL) == ((V4L2_CID_MPEG_BASE+506)), "V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL != (V4L2_CID_MPEG_BASE+506)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_MPEG_BASE+506)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_MIN_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_MIN_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_MIN_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_MIN_QP) == ((V4L2_CID_MPEG_BASE+507)), "V4L2_CID_MPEG_VIDEO_VPX_MIN_QP != (V4L2_CID_MPEG_BASE+507)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_MPEG_BASE+507)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_MAX_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_MAX_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_MAX_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_MAX_QP) == ((V4L2_CID_MPEG_BASE+508)), "V4L2_CID_MPEG_VIDEO_VPX_MAX_QP != (V4L2_CID_MPEG_BASE+508)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_MPEG_BASE+508)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP) == ((V4L2_CID_MPEG_BASE+509)), "V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP != (V4L2_CID_MPEG_BASE+509)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_MPEG_BASE+509)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP) == ((V4L2_CID_MPEG_BASE+510)), "V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP != (V4L2_CID_MPEG_BASE+510)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_MPEG_BASE+510)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VPX_PROFILE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_PROFILE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_PROFILE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VPX_PROFILE) == ((V4L2_CID_MPEG_BASE+511)), "V4L2_CID_MPEG_VIDEO_VPX_PROFILE != (V4L2_CID_MPEG_BASE+511)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VPX_PROFILE (V4L2_CID_MPEG_BASE+511)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP) == ((V4L2_CID_MPEG_BASE + 600)), "V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP != (V4L2_CID_MPEG_BASE + 600)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (V4L2_CID_MPEG_BASE + 600)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP) == ((V4L2_CID_MPEG_BASE + 601)), "V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP != (V4L2_CID_MPEG_BASE + 601)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (V4L2_CID_MPEG_BASE + 601)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP) == ((V4L2_CID_MPEG_BASE + 602)), "V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP != (V4L2_CID_MPEG_BASE + 602)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (V4L2_CID_MPEG_BASE + 602)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP) == ((V4L2_CID_MPEG_BASE + 603)), "V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP != (V4L2_CID_MPEG_BASE + 603)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (V4L2_CID_MPEG_BASE + 603)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP) == ((V4L2_CID_MPEG_BASE + 604)), "V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP != (V4L2_CID_MPEG_BASE + 604)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (V4L2_CID_MPEG_BASE + 604)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP) == ((V4L2_CID_MPEG_BASE + 605)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP != (V4L2_CID_MPEG_BASE + 605)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (V4L2_CID_MPEG_BASE + 605)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE) == ((V4L2_CID_MPEG_BASE + 606)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE != (V4L2_CID_MPEG_BASE + 606)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_MPEG_BASE + 606)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER) == ((V4L2_CID_MPEG_BASE + 607)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER != (V4L2_CID_MPEG_BASE + 607)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (V4L2_CID_MPEG_BASE + 607)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP) == ((V4L2_CID_MPEG_BASE + 608)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP != (V4L2_CID_MPEG_BASE + 608)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (V4L2_CID_MPEG_BASE + 608)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP) == ((V4L2_CID_MPEG_BASE + 609)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP != (V4L2_CID_MPEG_BASE + 609)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (V4L2_CID_MPEG_BASE + 609)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP) == ((V4L2_CID_MPEG_BASE + 610)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP != (V4L2_CID_MPEG_BASE + 610)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (V4L2_CID_MPEG_BASE + 610)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP) == ((V4L2_CID_MPEG_BASE + 611)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP != (V4L2_CID_MPEG_BASE + 611)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (V4L2_CID_MPEG_BASE + 611)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP) == ((V4L2_CID_MPEG_BASE + 612)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP != (V4L2_CID_MPEG_BASE + 612)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (V4L2_CID_MPEG_BASE + 612)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP) == ((V4L2_CID_MPEG_BASE + 613)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP != (V4L2_CID_MPEG_BASE + 613)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (V4L2_CID_MPEG_BASE + 613)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP) == ((V4L2_CID_MPEG_BASE + 614)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP != (V4L2_CID_MPEG_BASE + 614)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (V4L2_CID_MPEG_BASE + 614)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_PROFILE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_PROFILE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_PROFILE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_PROFILE) == ((V4L2_CID_MPEG_BASE + 615)), "V4L2_CID_MPEG_VIDEO_HEVC_PROFILE != (V4L2_CID_MPEG_BASE + 615)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_PROFILE (V4L2_CID_MPEG_BASE + 615)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_LEVEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LEVEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LEVEL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_LEVEL) == ((V4L2_CID_MPEG_BASE + 616)), "V4L2_CID_MPEG_VIDEO_HEVC_LEVEL != (V4L2_CID_MPEG_BASE + 616)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_LEVEL (V4L2_CID_MPEG_BASE + 616)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION) == ((V4L2_CID_MPEG_BASE + 617)), "V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION != (V4L2_CID_MPEG_BASE + 617)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (V4L2_CID_MPEG_BASE + 617)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_TIER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TIER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TIER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_TIER) == ((V4L2_CID_MPEG_BASE + 618)), "V4L2_CID_MPEG_VIDEO_HEVC_TIER != (V4L2_CID_MPEG_BASE + 618)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_TIER (V4L2_CID_MPEG_BASE + 618)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH) == ((V4L2_CID_MPEG_BASE + 619)), "V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH != (V4L2_CID_MPEG_BASE + 619)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (V4L2_CID_MPEG_BASE + 619)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE) == ((V4L2_CID_MPEG_BASE + 620)), "V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE != (V4L2_CID_MPEG_BASE + 620)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE + 620)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2) == ((V4L2_CID_MPEG_BASE + 621)), "V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 != (V4L2_CID_MPEG_BASE + 621)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 621)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2) == ((V4L2_CID_MPEG_BASE + 622)), "V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 != (V4L2_CID_MPEG_BASE + 622)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 622)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE) == ((V4L2_CID_MPEG_BASE + 623)), "V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE != (V4L2_CID_MPEG_BASE + 623)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE (V4L2_CID_MPEG_BASE + 623)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD) == ((V4L2_CID_MPEG_BASE + 624)), "V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD != (V4L2_CID_MPEG_BASE + 624)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (V4L2_CID_MPEG_BASE + 624)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU) == ((V4L2_CID_MPEG_BASE + 625)), "V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU != (V4L2_CID_MPEG_BASE + 625)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (V4L2_CID_MPEG_BASE + 625)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED) == ((V4L2_CID_MPEG_BASE + 626)), "V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED != (V4L2_CID_MPEG_BASE + 626)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (V4L2_CID_MPEG_BASE + 626)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT) == ((V4L2_CID_MPEG_BASE + 627)), "V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT != (V4L2_CID_MPEG_BASE + 627)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (V4L2_CID_MPEG_BASE + 627)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB) == ((V4L2_CID_MPEG_BASE + 628)), "V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB != (V4L2_CID_MPEG_BASE + 628)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (V4L2_CID_MPEG_BASE + 628)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID) == ((V4L2_CID_MPEG_BASE + 629)), "V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID != (V4L2_CID_MPEG_BASE + 629)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (V4L2_CID_MPEG_BASE + 629)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING) == ((V4L2_CID_MPEG_BASE + 630)), "V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING != (V4L2_CID_MPEG_BASE + 630)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (V4L2_CID_MPEG_BASE + 630)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1) == ((V4L2_CID_MPEG_BASE + 631)), "V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 != (V4L2_CID_MPEG_BASE + 631)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (V4L2_CID_MPEG_BASE + 631)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT) == ((V4L2_CID_MPEG_BASE + 632)), "V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT != (V4L2_CID_MPEG_BASE + 632)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT (V4L2_CID_MPEG_BASE + 632)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION) == ((V4L2_CID_MPEG_BASE + 633)), "V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION != (V4L2_CID_MPEG_BASE + 633)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (V4L2_CID_MPEG_BASE + 633)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE) == ((V4L2_CID_MPEG_BASE + 634)), "V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE != (V4L2_CID_MPEG_BASE + 634)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (V4L2_CID_MPEG_BASE + 634)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD) == ((V4L2_CID_MPEG_BASE + 635)), "V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD != (V4L2_CID_MPEG_BASE + 635)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (V4L2_CID_MPEG_BASE + 635)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR) == ((V4L2_CID_MPEG_BASE + 636)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR != (V4L2_CID_MPEG_BASE + 636)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (V4L2_CID_MPEG_BASE + 636)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR) == ((V4L2_CID_MPEG_BASE + 637)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR != (V4L2_CID_MPEG_BASE + 637)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (V4L2_CID_MPEG_BASE + 637)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR) == ((V4L2_CID_MPEG_BASE + 638)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR != (V4L2_CID_MPEG_BASE + 638)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (V4L2_CID_MPEG_BASE + 638)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR) == ((V4L2_CID_MPEG_BASE + 639)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR != (V4L2_CID_MPEG_BASE + 639)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (V4L2_CID_MPEG_BASE + 639)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR) == ((V4L2_CID_MPEG_BASE + 640)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR != (V4L2_CID_MPEG_BASE + 640)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (V4L2_CID_MPEG_BASE + 640)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR) == ((V4L2_CID_MPEG_BASE + 641)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR != (V4L2_CID_MPEG_BASE + 641)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (V4L2_CID_MPEG_BASE + 641)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR) == ((V4L2_CID_MPEG_BASE + 642)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR != (V4L2_CID_MPEG_BASE + 642)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (V4L2_CID_MPEG_BASE + 642)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES) == ((V4L2_CID_MPEG_BASE + 643)), "V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES != (V4L2_CID_MPEG_BASE + 643)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (V4L2_CID_MPEG_BASE + 643)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR) == ((V4L2_CID_MPEG_BASE + 644)), "V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR != (V4L2_CID_MPEG_BASE + 644)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (V4L2_CID_MPEG_BASE + 644)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE) == ((V4L2_CID_MPEG_CX2341X_BASE+0)), "V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE != (V4L2_CID_MPEG_CX2341X_BASE+0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER) == ((V4L2_CID_MPEG_CX2341X_BASE+1)), "V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER != (V4L2_CID_MPEG_CX2341X_BASE+1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE) == ((V4L2_CID_MPEG_CX2341X_BASE+2)), "V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE != (V4L2_CID_MPEG_CX2341X_BASE+2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE) == ((V4L2_CID_MPEG_CX2341X_BASE+3)), "V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE != (V4L2_CID_MPEG_CX2341X_BASE+3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE) == ((V4L2_CID_MPEG_CX2341X_BASE+4)), "V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE != (V4L2_CID_MPEG_CX2341X_BASE+4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER) == ((V4L2_CID_MPEG_CX2341X_BASE+5)), "V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER != (V4L2_CID_MPEG_CX2341X_BASE+5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE) == ((V4L2_CID_MPEG_CX2341X_BASE+6)), "V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE != (V4L2_CID_MPEG_CX2341X_BASE+6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM) == ((V4L2_CID_MPEG_CX2341X_BASE+7)), "V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM != (V4L2_CID_MPEG_CX2341X_BASE+7)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP) == ((V4L2_CID_MPEG_CX2341X_BASE+8)), "V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP != (V4L2_CID_MPEG_CX2341X_BASE+8)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM) == ((V4L2_CID_MPEG_CX2341X_BASE+9)), "V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM != (V4L2_CID_MPEG_CX2341X_BASE+9)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+9)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP) == ((V4L2_CID_MPEG_CX2341X_BASE+10)), "V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP != (V4L2_CID_MPEG_CX2341X_BASE+10)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10)
#endif
#if defined(V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS) == ((V4L2_CID_MPEG_CX2341X_BASE+11)), "V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS != (V4L2_CID_MPEG_CX2341X_BASE+11)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY) == ((V4L2_CID_MPEG_MFC51_BASE+0)), "V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY != (V4L2_CID_MPEG_MFC51_BASE+0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_MPEG_MFC51_BASE+0)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE) == ((V4L2_CID_MPEG_MFC51_BASE+1)), "V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE != (V4L2_CID_MPEG_MFC51_BASE+1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_MPEG_MFC51_BASE+1)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE) == ((V4L2_CID_MPEG_MFC51_BASE+2)), "V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE != (V4L2_CID_MPEG_MFC51_BASE+2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_MFC51_BASE+2)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE) == ((V4L2_CID_MPEG_MFC51_BASE+3)), "V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE != (V4L2_CID_MPEG_MFC51_BASE+3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_MPEG_MFC51_BASE+3)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_PADDING) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_PADDING) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_PADDING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_PADDING) == ((V4L2_CID_MPEG_MFC51_BASE+4)), "V4L2_CID_MPEG_MFC51_VIDEO_PADDING != (V4L2_CID_MPEG_MFC51_BASE+4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_MPEG_MFC51_BASE+4)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV) == ((V4L2_CID_MPEG_MFC51_BASE+5)), "V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV != (V4L2_CID_MPEG_MFC51_BASE+5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT) == ((V4L2_CID_MPEG_MFC51_BASE+6)), "V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT != (V4L2_CID_MPEG_MFC51_BASE+6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_MPEG_MFC51_BASE+6)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF) == ((V4L2_CID_MPEG_MFC51_BASE+7)), "V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF != (V4L2_CID_MPEG_MFC51_BASE+7)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_MPEG_MFC51_BASE+7)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY) == ((V4L2_CID_MPEG_MFC51_BASE+50)), "V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY != (V4L2_CID_MPEG_MFC51_BASE+50)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_MPEG_MFC51_BASE+50)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK) == ((V4L2_CID_MPEG_MFC51_BASE+51)), "V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK != (V4L2_CID_MPEG_MFC51_BASE+51)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH) == ((V4L2_CID_MPEG_MFC51_BASE+52)), "V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH != (V4L2_CID_MPEG_MFC51_BASE+52)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_MPEG_MFC51_BASE+52)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC) == ((V4L2_CID_MPEG_MFC51_BASE+53)), "V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC != (V4L2_CID_MPEG_MFC51_BASE+53)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_MPEG_MFC51_BASE+53)
#endif
#if defined(V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P) == ((V4L2_CID_MPEG_MFC51_BASE+54)), "V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P != (V4L2_CID_MPEG_MFC51_BASE+54)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_MPEG_MFC51_BASE+54)
#endif
#if defined(V4L2_CID_EXPOSURE_AUTO) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_AUTO) && HAVE_DECL_V4L2_CID_EXPOSURE_AUTO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_EXPOSURE_AUTO) == ((V4L2_CID_CAMERA_CLASS_BASE+1)), "V4L2_CID_EXPOSURE_AUTO != (V4L2_CID_CAMERA_CLASS_BASE+1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1)
#endif
#if defined(V4L2_CID_EXPOSURE_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_ABSOLUTE) && HAVE_DECL_V4L2_CID_EXPOSURE_ABSOLUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_EXPOSURE_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+2)), "V4L2_CID_EXPOSURE_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2)
#endif
#if defined(V4L2_CID_EXPOSURE_AUTO_PRIORITY) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_AUTO_PRIORITY) && HAVE_DECL_V4L2_CID_EXPOSURE_AUTO_PRIORITY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_EXPOSURE_AUTO_PRIORITY) == ((V4L2_CID_CAMERA_CLASS_BASE+3)), "V4L2_CID_EXPOSURE_AUTO_PRIORITY != (V4L2_CID_CAMERA_CLASS_BASE+3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3)
#endif
#if defined(V4L2_CID_PAN_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_PAN_RELATIVE) && HAVE_DECL_V4L2_CID_PAN_RELATIVE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_PAN_RELATIVE) == ((V4L2_CID_CAMERA_CLASS_BASE+4)), "V4L2_CID_PAN_RELATIVE != (V4L2_CID_CAMERA_CLASS_BASE+4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_PAN_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+4)
#endif
#if defined(V4L2_CID_TILT_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_TILT_RELATIVE) && HAVE_DECL_V4L2_CID_TILT_RELATIVE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TILT_RELATIVE) == ((V4L2_CID_CAMERA_CLASS_BASE+5)), "V4L2_CID_TILT_RELATIVE != (V4L2_CID_CAMERA_CLASS_BASE+5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TILT_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+5)
#endif
#if defined(V4L2_CID_PAN_RESET) || (defined(HAVE_DECL_V4L2_CID_PAN_RESET) && HAVE_DECL_V4L2_CID_PAN_RESET)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_PAN_RESET) == ((V4L2_CID_CAMERA_CLASS_BASE+6)), "V4L2_CID_PAN_RESET != (V4L2_CID_CAMERA_CLASS_BASE+6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_PAN_RESET (V4L2_CID_CAMERA_CLASS_BASE+6)
#endif
#if defined(V4L2_CID_TILT_RESET) || (defined(HAVE_DECL_V4L2_CID_TILT_RESET) && HAVE_DECL_V4L2_CID_TILT_RESET)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TILT_RESET) == ((V4L2_CID_CAMERA_CLASS_BASE+7)), "V4L2_CID_TILT_RESET != (V4L2_CID_CAMERA_CLASS_BASE+7)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TILT_RESET (V4L2_CID_CAMERA_CLASS_BASE+7)
#endif
#if defined(V4L2_CID_PAN_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_PAN_ABSOLUTE) && HAVE_DECL_V4L2_CID_PAN_ABSOLUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_PAN_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+8)), "V4L2_CID_PAN_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+8)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_PAN_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+8)
#endif
#if defined(V4L2_CID_TILT_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_TILT_ABSOLUTE) && HAVE_DECL_V4L2_CID_TILT_ABSOLUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TILT_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+9)), "V4L2_CID_TILT_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+9)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TILT_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+9)
#endif
#if defined(V4L2_CID_FOCUS_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_FOCUS_ABSOLUTE) && HAVE_DECL_V4L2_CID_FOCUS_ABSOLUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FOCUS_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+10)), "V4L2_CID_FOCUS_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+10)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+10)
#endif
#if defined(V4L2_CID_FOCUS_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_FOCUS_RELATIVE) && HAVE_DECL_V4L2_CID_FOCUS_RELATIVE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FOCUS_RELATIVE) == ((V4L2_CID_CAMERA_CLASS_BASE+11)), "V4L2_CID_FOCUS_RELATIVE != (V4L2_CID_CAMERA_CLASS_BASE+11)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+11)
#endif
#if defined(V4L2_CID_FOCUS_AUTO) || (defined(HAVE_DECL_V4L2_CID_FOCUS_AUTO) && HAVE_DECL_V4L2_CID_FOCUS_AUTO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FOCUS_AUTO) == ((V4L2_CID_CAMERA_CLASS_BASE+12)), "V4L2_CID_FOCUS_AUTO != (V4L2_CID_CAMERA_CLASS_BASE+12)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FOCUS_AUTO (V4L2_CID_CAMERA_CLASS_BASE+12)
#endif
#if defined(V4L2_CID_ZOOM_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_ZOOM_ABSOLUTE) && HAVE_DECL_V4L2_CID_ZOOM_ABSOLUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_ZOOM_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+13)), "V4L2_CID_ZOOM_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+13)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_ZOOM_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+13)
#endif
#if defined(V4L2_CID_ZOOM_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_ZOOM_RELATIVE) && HAVE_DECL_V4L2_CID_ZOOM_RELATIVE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_ZOOM_RELATIVE) == ((V4L2_CID_CAMERA_CLASS_BASE+14)), "V4L2_CID_ZOOM_RELATIVE != (V4L2_CID_CAMERA_CLASS_BASE+14)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_ZOOM_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+14)
#endif
#if defined(V4L2_CID_ZOOM_CONTINUOUS) || (defined(HAVE_DECL_V4L2_CID_ZOOM_CONTINUOUS) && HAVE_DECL_V4L2_CID_ZOOM_CONTINUOUS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_ZOOM_CONTINUOUS) == ((V4L2_CID_CAMERA_CLASS_BASE+15)), "V4L2_CID_ZOOM_CONTINUOUS != (V4L2_CID_CAMERA_CLASS_BASE+15)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_ZOOM_CONTINUOUS (V4L2_CID_CAMERA_CLASS_BASE+15)
#endif
#if defined(V4L2_CID_PRIVACY) || (defined(HAVE_DECL_V4L2_CID_PRIVACY) && HAVE_DECL_V4L2_CID_PRIVACY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_PRIVACY) == ((V4L2_CID_CAMERA_CLASS_BASE+16)), "V4L2_CID_PRIVACY != (V4L2_CID_CAMERA_CLASS_BASE+16)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16)
#endif
#if defined(V4L2_CID_IRIS_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_IRIS_ABSOLUTE) && HAVE_DECL_V4L2_CID_IRIS_ABSOLUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_IRIS_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+17)), "V4L2_CID_IRIS_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+17)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+17)
#endif
#if defined(V4L2_CID_IRIS_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_IRIS_RELATIVE) && HAVE_DECL_V4L2_CID_IRIS_RELATIVE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_IRIS_RELATIVE) == ((V4L2_CID_CAMERA_CLASS_BASE+18)), "V4L2_CID_IRIS_RELATIVE != (V4L2_CID_CAMERA_CLASS_BASE+18)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_IRIS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+18)
#endif
#if defined(V4L2_CID_AUTO_EXPOSURE_BIAS) || (defined(HAVE_DECL_V4L2_CID_AUTO_EXPOSURE_BIAS) && HAVE_DECL_V4L2_CID_AUTO_EXPOSURE_BIAS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUTO_EXPOSURE_BIAS) == ((V4L2_CID_CAMERA_CLASS_BASE+19)), "V4L2_CID_AUTO_EXPOSURE_BIAS != (V4L2_CID_CAMERA_CLASS_BASE+19)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUTO_EXPOSURE_BIAS (V4L2_CID_CAMERA_CLASS_BASE+19)
#endif
#if defined(V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE) || (defined(HAVE_DECL_V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE) && HAVE_DECL_V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE) == ((V4L2_CID_CAMERA_CLASS_BASE+20)), "V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE != (V4L2_CID_CAMERA_CLASS_BASE+20)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE (V4L2_CID_CAMERA_CLASS_BASE+20)
#endif
#if defined(V4L2_CID_WIDE_DYNAMIC_RANGE) || (defined(HAVE_DECL_V4L2_CID_WIDE_DYNAMIC_RANGE) && HAVE_DECL_V4L2_CID_WIDE_DYNAMIC_RANGE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_WIDE_DYNAMIC_RANGE) == ((V4L2_CID_CAMERA_CLASS_BASE+21)), "V4L2_CID_WIDE_DYNAMIC_RANGE != (V4L2_CID_CAMERA_CLASS_BASE+21)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_WIDE_DYNAMIC_RANGE (V4L2_CID_CAMERA_CLASS_BASE+21)
#endif
#if defined(V4L2_CID_IMAGE_STABILIZATION) || (defined(HAVE_DECL_V4L2_CID_IMAGE_STABILIZATION) && HAVE_DECL_V4L2_CID_IMAGE_STABILIZATION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_IMAGE_STABILIZATION) == ((V4L2_CID_CAMERA_CLASS_BASE+22)), "V4L2_CID_IMAGE_STABILIZATION != (V4L2_CID_CAMERA_CLASS_BASE+22)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_IMAGE_STABILIZATION (V4L2_CID_CAMERA_CLASS_BASE+22)
#endif
#if defined(V4L2_CID_ISO_SENSITIVITY) || (defined(HAVE_DECL_V4L2_CID_ISO_SENSITIVITY) && HAVE_DECL_V4L2_CID_ISO_SENSITIVITY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_ISO_SENSITIVITY) == ((V4L2_CID_CAMERA_CLASS_BASE+23)), "V4L2_CID_ISO_SENSITIVITY != (V4L2_CID_CAMERA_CLASS_BASE+23)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_ISO_SENSITIVITY (V4L2_CID_CAMERA_CLASS_BASE+23)
#endif
#if defined(V4L2_CID_ISO_SENSITIVITY_AUTO) || (defined(HAVE_DECL_V4L2_CID_ISO_SENSITIVITY_AUTO) && HAVE_DECL_V4L2_CID_ISO_SENSITIVITY_AUTO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_ISO_SENSITIVITY_AUTO) == ((V4L2_CID_CAMERA_CLASS_BASE+24)), "V4L2_CID_ISO_SENSITIVITY_AUTO != (V4L2_CID_CAMERA_CLASS_BASE+24)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_ISO_SENSITIVITY_AUTO (V4L2_CID_CAMERA_CLASS_BASE+24)
#endif
#if defined(V4L2_CID_EXPOSURE_METERING) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_METERING) && HAVE_DECL_V4L2_CID_EXPOSURE_METERING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_EXPOSURE_METERING) == ((V4L2_CID_CAMERA_CLASS_BASE+25)), "V4L2_CID_EXPOSURE_METERING != (V4L2_CID_CAMERA_CLASS_BASE+25)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_EXPOSURE_METERING (V4L2_CID_CAMERA_CLASS_BASE+25)
#endif
#if defined(V4L2_CID_SCENE_MODE) || (defined(HAVE_DECL_V4L2_CID_SCENE_MODE) && HAVE_DECL_V4L2_CID_SCENE_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_SCENE_MODE) == ((V4L2_CID_CAMERA_CLASS_BASE+26)), "V4L2_CID_SCENE_MODE != (V4L2_CID_CAMERA_CLASS_BASE+26)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_SCENE_MODE (V4L2_CID_CAMERA_CLASS_BASE+26)
#endif
#if defined(V4L2_CID_3A_LOCK) || (defined(HAVE_DECL_V4L2_CID_3A_LOCK) && HAVE_DECL_V4L2_CID_3A_LOCK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_3A_LOCK) == ((V4L2_CID_CAMERA_CLASS_BASE+27)), "V4L2_CID_3A_LOCK != (V4L2_CID_CAMERA_CLASS_BASE+27)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_3A_LOCK (V4L2_CID_CAMERA_CLASS_BASE+27)
#endif
#if defined(V4L2_CID_AUTO_FOCUS_START) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_START) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_START)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUTO_FOCUS_START) == ((V4L2_CID_CAMERA_CLASS_BASE+28)), "V4L2_CID_AUTO_FOCUS_START != (V4L2_CID_CAMERA_CLASS_BASE+28)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUTO_FOCUS_START (V4L2_CID_CAMERA_CLASS_BASE+28)
#endif
#if defined(V4L2_CID_AUTO_FOCUS_STOP) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_STOP) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_STOP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUTO_FOCUS_STOP) == ((V4L2_CID_CAMERA_CLASS_BASE+29)), "V4L2_CID_AUTO_FOCUS_STOP != (V4L2_CID_CAMERA_CLASS_BASE+29)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUTO_FOCUS_STOP (V4L2_CID_CAMERA_CLASS_BASE+29)
#endif
#if defined(V4L2_CID_AUTO_FOCUS_STATUS) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_STATUS) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_STATUS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUTO_FOCUS_STATUS) == ((V4L2_CID_CAMERA_CLASS_BASE+30)), "V4L2_CID_AUTO_FOCUS_STATUS != (V4L2_CID_CAMERA_CLASS_BASE+30)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUTO_FOCUS_STATUS (V4L2_CID_CAMERA_CLASS_BASE+30)
#endif
#if defined(V4L2_CID_AUTO_FOCUS_RANGE) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_RANGE) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_RANGE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUTO_FOCUS_RANGE) == ((V4L2_CID_CAMERA_CLASS_BASE+31)), "V4L2_CID_AUTO_FOCUS_RANGE != (V4L2_CID_CAMERA_CLASS_BASE+31)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUTO_FOCUS_RANGE (V4L2_CID_CAMERA_CLASS_BASE+31)
#endif
#if defined(V4L2_CID_PAN_SPEED) || (defined(HAVE_DECL_V4L2_CID_PAN_SPEED) && HAVE_DECL_V4L2_CID_PAN_SPEED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_PAN_SPEED) == ((V4L2_CID_CAMERA_CLASS_BASE+32)), "V4L2_CID_PAN_SPEED != (V4L2_CID_CAMERA_CLASS_BASE+32)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32)
#endif
#if defined(V4L2_CID_TILT_SPEED) || (defined(HAVE_DECL_V4L2_CID_TILT_SPEED) && HAVE_DECL_V4L2_CID_TILT_SPEED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TILT_SPEED) == ((V4L2_CID_CAMERA_CLASS_BASE+33)), "V4L2_CID_TILT_SPEED != (V4L2_CID_CAMERA_CLASS_BASE+33)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33)
#endif
#if defined(V4L2_CID_RDS_TX_DEVIATION) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_DEVIATION) && HAVE_DECL_V4L2_CID_RDS_TX_DEVIATION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_DEVIATION) == ((V4L2_CID_FM_TX_CLASS_BASE + 1)), "V4L2_CID_RDS_TX_DEVIATION != (V4L2_CID_FM_TX_CLASS_BASE + 1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1)
#endif
#if defined(V4L2_CID_RDS_TX_PI) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_PI) && HAVE_DECL_V4L2_CID_RDS_TX_PI)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_PI) == ((V4L2_CID_FM_TX_CLASS_BASE + 2)), "V4L2_CID_RDS_TX_PI != (V4L2_CID_FM_TX_CLASS_BASE + 2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_PI (V4L2_CID_FM_TX_CLASS_BASE + 2)
#endif
#if defined(V4L2_CID_RDS_TX_PTY) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_PTY) && HAVE_DECL_V4L2_CID_RDS_TX_PTY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_PTY) == ((V4L2_CID_FM_TX_CLASS_BASE + 3)), "V4L2_CID_RDS_TX_PTY != (V4L2_CID_FM_TX_CLASS_BASE + 3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3)
#endif
#if defined(V4L2_CID_RDS_TX_PS_NAME) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_PS_NAME) && HAVE_DECL_V4L2_CID_RDS_TX_PS_NAME)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_PS_NAME) == ((V4L2_CID_FM_TX_CLASS_BASE + 5)), "V4L2_CID_RDS_TX_PS_NAME != (V4L2_CID_FM_TX_CLASS_BASE + 5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5)
#endif
#if defined(V4L2_CID_RDS_TX_RADIO_TEXT) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_RADIO_TEXT) && HAVE_DECL_V4L2_CID_RDS_TX_RADIO_TEXT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_RADIO_TEXT) == ((V4L2_CID_FM_TX_CLASS_BASE + 6)), "V4L2_CID_RDS_TX_RADIO_TEXT != (V4L2_CID_FM_TX_CLASS_BASE + 6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6)
#endif
#if defined(V4L2_CID_RDS_TX_MONO_STEREO) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_MONO_STEREO) && HAVE_DECL_V4L2_CID_RDS_TX_MONO_STEREO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_MONO_STEREO) == ((V4L2_CID_FM_TX_CLASS_BASE + 7)), "V4L2_CID_RDS_TX_MONO_STEREO != (V4L2_CID_FM_TX_CLASS_BASE + 7)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_MONO_STEREO (V4L2_CID_FM_TX_CLASS_BASE + 7)
#endif
#if defined(V4L2_CID_RDS_TX_ARTIFICIAL_HEAD) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_ARTIFICIAL_HEAD) && HAVE_DECL_V4L2_CID_RDS_TX_ARTIFICIAL_HEAD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_ARTIFICIAL_HEAD) == ((V4L2_CID_FM_TX_CLASS_BASE + 8)), "V4L2_CID_RDS_TX_ARTIFICIAL_HEAD != (V4L2_CID_FM_TX_CLASS_BASE + 8)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (V4L2_CID_FM_TX_CLASS_BASE + 8)
#endif
#if defined(V4L2_CID_RDS_TX_COMPRESSED) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_COMPRESSED) && HAVE_DECL_V4L2_CID_RDS_TX_COMPRESSED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_COMPRESSED) == ((V4L2_CID_FM_TX_CLASS_BASE + 9)), "V4L2_CID_RDS_TX_COMPRESSED != (V4L2_CID_FM_TX_CLASS_BASE + 9)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_COMPRESSED (V4L2_CID_FM_TX_CLASS_BASE + 9)
#endif
#if defined(V4L2_CID_RDS_TX_DYNAMIC_PTY) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_DYNAMIC_PTY) && HAVE_DECL_V4L2_CID_RDS_TX_DYNAMIC_PTY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_DYNAMIC_PTY) == ((V4L2_CID_FM_TX_CLASS_BASE + 10)), "V4L2_CID_RDS_TX_DYNAMIC_PTY != (V4L2_CID_FM_TX_CLASS_BASE + 10)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_DYNAMIC_PTY (V4L2_CID_FM_TX_CLASS_BASE + 10)
#endif
#if defined(V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT) && HAVE_DECL_V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT) == ((V4L2_CID_FM_TX_CLASS_BASE + 11)), "V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT != (V4L2_CID_FM_TX_CLASS_BASE + 11)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_TX_CLASS_BASE + 11)
#endif
#if defined(V4L2_CID_RDS_TX_TRAFFIC_PROGRAM) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_TRAFFIC_PROGRAM) && HAVE_DECL_V4L2_CID_RDS_TX_TRAFFIC_PROGRAM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_TRAFFIC_PROGRAM) == ((V4L2_CID_FM_TX_CLASS_BASE + 12)), "V4L2_CID_RDS_TX_TRAFFIC_PROGRAM != (V4L2_CID_FM_TX_CLASS_BASE + 12)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (V4L2_CID_FM_TX_CLASS_BASE + 12)
#endif
#if defined(V4L2_CID_RDS_TX_MUSIC_SPEECH) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_MUSIC_SPEECH) && HAVE_DECL_V4L2_CID_RDS_TX_MUSIC_SPEECH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_MUSIC_SPEECH) == ((V4L2_CID_FM_TX_CLASS_BASE + 13)), "V4L2_CID_RDS_TX_MUSIC_SPEECH != (V4L2_CID_FM_TX_CLASS_BASE + 13)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_MUSIC_SPEECH (V4L2_CID_FM_TX_CLASS_BASE + 13)
#endif
#if defined(V4L2_CID_RDS_TX_ALT_FREQS_ENABLE) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_ALT_FREQS_ENABLE) && HAVE_DECL_V4L2_CID_RDS_TX_ALT_FREQS_ENABLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_ALT_FREQS_ENABLE) == ((V4L2_CID_FM_TX_CLASS_BASE + 14)), "V4L2_CID_RDS_TX_ALT_FREQS_ENABLE != (V4L2_CID_FM_TX_CLASS_BASE + 14)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (V4L2_CID_FM_TX_CLASS_BASE + 14)
#endif
#if defined(V4L2_CID_RDS_TX_ALT_FREQS) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_ALT_FREQS) && HAVE_DECL_V4L2_CID_RDS_TX_ALT_FREQS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_TX_ALT_FREQS) == ((V4L2_CID_FM_TX_CLASS_BASE + 15)), "V4L2_CID_RDS_TX_ALT_FREQS != (V4L2_CID_FM_TX_CLASS_BASE + 15)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_TX_ALT_FREQS (V4L2_CID_FM_TX_CLASS_BASE + 15)
#endif
#if defined(V4L2_CID_AUDIO_LIMITER_ENABLED) || (defined(HAVE_DECL_V4L2_CID_AUDIO_LIMITER_ENABLED) && HAVE_DECL_V4L2_CID_AUDIO_LIMITER_ENABLED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_LIMITER_ENABLED) == ((V4L2_CID_FM_TX_CLASS_BASE + 64)), "V4L2_CID_AUDIO_LIMITER_ENABLED != (V4L2_CID_FM_TX_CLASS_BASE + 64)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64)
#endif
#if defined(V4L2_CID_AUDIO_LIMITER_RELEASE_TIME) || (defined(HAVE_DECL_V4L2_CID_AUDIO_LIMITER_RELEASE_TIME) && HAVE_DECL_V4L2_CID_AUDIO_LIMITER_RELEASE_TIME)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_LIMITER_RELEASE_TIME) == ((V4L2_CID_FM_TX_CLASS_BASE + 65)), "V4L2_CID_AUDIO_LIMITER_RELEASE_TIME != (V4L2_CID_FM_TX_CLASS_BASE + 65)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65)
#endif
#if defined(V4L2_CID_AUDIO_LIMITER_DEVIATION) || (defined(HAVE_DECL_V4L2_CID_AUDIO_LIMITER_DEVIATION) && HAVE_DECL_V4L2_CID_AUDIO_LIMITER_DEVIATION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_LIMITER_DEVIATION) == ((V4L2_CID_FM_TX_CLASS_BASE + 66)), "V4L2_CID_AUDIO_LIMITER_DEVIATION != (V4L2_CID_FM_TX_CLASS_BASE + 66)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 66)
#endif
#if defined(V4L2_CID_AUDIO_COMPRESSION_ENABLED) || (defined(HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_ENABLED) && HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_ENABLED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_COMPRESSION_ENABLED) == ((V4L2_CID_FM_TX_CLASS_BASE + 80)), "V4L2_CID_AUDIO_COMPRESSION_ENABLED != (V4L2_CID_FM_TX_CLASS_BASE + 80)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 80)
#endif
#if defined(V4L2_CID_AUDIO_COMPRESSION_GAIN) || (defined(HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_GAIN) && HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_GAIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_COMPRESSION_GAIN) == ((V4L2_CID_FM_TX_CLASS_BASE + 81)), "V4L2_CID_AUDIO_COMPRESSION_GAIN != (V4L2_CID_FM_TX_CLASS_BASE + 81)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FM_TX_CLASS_BASE + 81)
#endif
#if defined(V4L2_CID_AUDIO_COMPRESSION_THRESHOLD) || (defined(HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_THRESHOLD) && HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_THRESHOLD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_COMPRESSION_THRESHOLD) == ((V4L2_CID_FM_TX_CLASS_BASE + 82)), "V4L2_CID_AUDIO_COMPRESSION_THRESHOLD != (V4L2_CID_FM_TX_CLASS_BASE + 82)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FM_TX_CLASS_BASE + 82)
#endif
#if defined(V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME) || (defined(HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME) && HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME) == ((V4L2_CID_FM_TX_CLASS_BASE + 83)), "V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME != (V4L2_CID_FM_TX_CLASS_BASE + 83)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 83)
#endif
#if defined(V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME) || (defined(HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME) && HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME) == ((V4L2_CID_FM_TX_CLASS_BASE + 84)), "V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME != (V4L2_CID_FM_TX_CLASS_BASE + 84)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 84)
#endif
#if defined(V4L2_CID_PILOT_TONE_ENABLED) || (defined(HAVE_DECL_V4L2_CID_PILOT_TONE_ENABLED) && HAVE_DECL_V4L2_CID_PILOT_TONE_ENABLED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_PILOT_TONE_ENABLED) == ((V4L2_CID_FM_TX_CLASS_BASE + 96)), "V4L2_CID_PILOT_TONE_ENABLED != (V4L2_CID_FM_TX_CLASS_BASE + 96)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 96)
#endif
#if defined(V4L2_CID_PILOT_TONE_DEVIATION) || (defined(HAVE_DECL_V4L2_CID_PILOT_TONE_DEVIATION) && HAVE_DECL_V4L2_CID_PILOT_TONE_DEVIATION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_PILOT_TONE_DEVIATION) == ((V4L2_CID_FM_TX_CLASS_BASE + 97)), "V4L2_CID_PILOT_TONE_DEVIATION != (V4L2_CID_FM_TX_CLASS_BASE + 97)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 97)
#endif
#if defined(V4L2_CID_PILOT_TONE_FREQUENCY) || (defined(HAVE_DECL_V4L2_CID_PILOT_TONE_FREQUENCY) && HAVE_DECL_V4L2_CID_PILOT_TONE_FREQUENCY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_PILOT_TONE_FREQUENCY) == ((V4L2_CID_FM_TX_CLASS_BASE + 98)), "V4L2_CID_PILOT_TONE_FREQUENCY != (V4L2_CID_FM_TX_CLASS_BASE + 98)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FM_TX_CLASS_BASE + 98)
#endif
#if defined(V4L2_CID_TUNE_PREEMPHASIS) || (defined(HAVE_DECL_V4L2_CID_TUNE_PREEMPHASIS) && HAVE_DECL_V4L2_CID_TUNE_PREEMPHASIS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TUNE_PREEMPHASIS) == ((V4L2_CID_FM_TX_CLASS_BASE + 112)), "V4L2_CID_TUNE_PREEMPHASIS != (V4L2_CID_FM_TX_CLASS_BASE + 112)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112)
#endif
#if defined(V4L2_CID_TUNE_POWER_LEVEL) || (defined(HAVE_DECL_V4L2_CID_TUNE_POWER_LEVEL) && HAVE_DECL_V4L2_CID_TUNE_POWER_LEVEL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TUNE_POWER_LEVEL) == ((V4L2_CID_FM_TX_CLASS_BASE + 113)), "V4L2_CID_TUNE_POWER_LEVEL != (V4L2_CID_FM_TX_CLASS_BASE + 113)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113)
#endif
#if defined(V4L2_CID_TUNE_ANTENNA_CAPACITOR) || (defined(HAVE_DECL_V4L2_CID_TUNE_ANTENNA_CAPACITOR) && HAVE_DECL_V4L2_CID_TUNE_ANTENNA_CAPACITOR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TUNE_ANTENNA_CAPACITOR) == ((V4L2_CID_FM_TX_CLASS_BASE + 114)), "V4L2_CID_TUNE_ANTENNA_CAPACITOR != (V4L2_CID_FM_TX_CLASS_BASE + 114)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114)
#endif
#if defined(V4L2_CID_FLASH_LED_MODE) || (defined(HAVE_DECL_V4L2_CID_FLASH_LED_MODE) && HAVE_DECL_V4L2_CID_FLASH_LED_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_LED_MODE) == ((V4L2_CID_FLASH_CLASS_BASE + 1)), "V4L2_CID_FLASH_LED_MODE != (V4L2_CID_FLASH_CLASS_BASE + 1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_LED_MODE (V4L2_CID_FLASH_CLASS_BASE + 1)
#endif
#if defined(V4L2_CID_FLASH_STROBE_SOURCE) || (defined(HAVE_DECL_V4L2_CID_FLASH_STROBE_SOURCE) && HAVE_DECL_V4L2_CID_FLASH_STROBE_SOURCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_STROBE_SOURCE) == ((V4L2_CID_FLASH_CLASS_BASE + 2)), "V4L2_CID_FLASH_STROBE_SOURCE != (V4L2_CID_FLASH_CLASS_BASE + 2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_STROBE_SOURCE (V4L2_CID_FLASH_CLASS_BASE + 2)
#endif
#if defined(V4L2_CID_FLASH_STROBE) || (defined(HAVE_DECL_V4L2_CID_FLASH_STROBE) && HAVE_DECL_V4L2_CID_FLASH_STROBE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_STROBE) == ((V4L2_CID_FLASH_CLASS_BASE + 3)), "V4L2_CID_FLASH_STROBE != (V4L2_CID_FLASH_CLASS_BASE + 3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_STROBE (V4L2_CID_FLASH_CLASS_BASE + 3)
#endif
#if defined(V4L2_CID_FLASH_STROBE_STOP) || (defined(HAVE_DECL_V4L2_CID_FLASH_STROBE_STOP) && HAVE_DECL_V4L2_CID_FLASH_STROBE_STOP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_STROBE_STOP) == ((V4L2_CID_FLASH_CLASS_BASE + 4)), "V4L2_CID_FLASH_STROBE_STOP != (V4L2_CID_FLASH_CLASS_BASE + 4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_STROBE_STOP (V4L2_CID_FLASH_CLASS_BASE + 4)
#endif
#if defined(V4L2_CID_FLASH_STROBE_STATUS) || (defined(HAVE_DECL_V4L2_CID_FLASH_STROBE_STATUS) && HAVE_DECL_V4L2_CID_FLASH_STROBE_STATUS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_STROBE_STATUS) == ((V4L2_CID_FLASH_CLASS_BASE + 5)), "V4L2_CID_FLASH_STROBE_STATUS != (V4L2_CID_FLASH_CLASS_BASE + 5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_STROBE_STATUS (V4L2_CID_FLASH_CLASS_BASE + 5)
#endif
#if defined(V4L2_CID_FLASH_TIMEOUT) || (defined(HAVE_DECL_V4L2_CID_FLASH_TIMEOUT) && HAVE_DECL_V4L2_CID_FLASH_TIMEOUT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_TIMEOUT) == ((V4L2_CID_FLASH_CLASS_BASE + 6)), "V4L2_CID_FLASH_TIMEOUT != (V4L2_CID_FLASH_CLASS_BASE + 6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_TIMEOUT (V4L2_CID_FLASH_CLASS_BASE + 6)
#endif
#if defined(V4L2_CID_FLASH_INTENSITY) || (defined(HAVE_DECL_V4L2_CID_FLASH_INTENSITY) && HAVE_DECL_V4L2_CID_FLASH_INTENSITY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_INTENSITY) == ((V4L2_CID_FLASH_CLASS_BASE + 7)), "V4L2_CID_FLASH_INTENSITY != (V4L2_CID_FLASH_CLASS_BASE + 7)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 7)
#endif
#if defined(V4L2_CID_FLASH_TORCH_INTENSITY) || (defined(HAVE_DECL_V4L2_CID_FLASH_TORCH_INTENSITY) && HAVE_DECL_V4L2_CID_FLASH_TORCH_INTENSITY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_TORCH_INTENSITY) == ((V4L2_CID_FLASH_CLASS_BASE + 8)), "V4L2_CID_FLASH_TORCH_INTENSITY != (V4L2_CID_FLASH_CLASS_BASE + 8)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_TORCH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 8)
#endif
#if defined(V4L2_CID_FLASH_INDICATOR_INTENSITY) || (defined(HAVE_DECL_V4L2_CID_FLASH_INDICATOR_INTENSITY) && HAVE_DECL_V4L2_CID_FLASH_INDICATOR_INTENSITY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_INDICATOR_INTENSITY) == ((V4L2_CID_FLASH_CLASS_BASE + 9)), "V4L2_CID_FLASH_INDICATOR_INTENSITY != (V4L2_CID_FLASH_CLASS_BASE + 9)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_INDICATOR_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 9)
#endif
#if defined(V4L2_CID_FLASH_FAULT) || (defined(HAVE_DECL_V4L2_CID_FLASH_FAULT) && HAVE_DECL_V4L2_CID_FLASH_FAULT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_FAULT) == ((V4L2_CID_FLASH_CLASS_BASE + 10)), "V4L2_CID_FLASH_FAULT != (V4L2_CID_FLASH_CLASS_BASE + 10)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_FAULT (V4L2_CID_FLASH_CLASS_BASE + 10)
#endif
#if defined(V4L2_CID_FLASH_CHARGE) || (defined(HAVE_DECL_V4L2_CID_FLASH_CHARGE) && HAVE_DECL_V4L2_CID_FLASH_CHARGE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_CHARGE) == ((V4L2_CID_FLASH_CLASS_BASE + 11)), "V4L2_CID_FLASH_CHARGE != (V4L2_CID_FLASH_CLASS_BASE + 11)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11)
#endif
#if defined(V4L2_CID_FLASH_READY) || (defined(HAVE_DECL_V4L2_CID_FLASH_READY) && HAVE_DECL_V4L2_CID_FLASH_READY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_FLASH_READY) == ((V4L2_CID_FLASH_CLASS_BASE + 12)), "V4L2_CID_FLASH_READY != (V4L2_CID_FLASH_CLASS_BASE + 12)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12)
#endif
#if defined(V4L2_CID_VBLANK) || (defined(HAVE_DECL_V4L2_CID_VBLANK) && HAVE_DECL_V4L2_CID_VBLANK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_VBLANK) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)), "V4L2_CID_VBLANK != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)
#endif
#if defined(V4L2_CID_HBLANK) || (defined(HAVE_DECL_V4L2_CID_HBLANK) && HAVE_DECL_V4L2_CID_HBLANK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_HBLANK) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2)), "V4L2_CID_HBLANK != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_HBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2)
#endif
#if defined(V4L2_CID_ANALOGUE_GAIN) || (defined(HAVE_DECL_V4L2_CID_ANALOGUE_GAIN) && HAVE_DECL_V4L2_CID_ANALOGUE_GAIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_ANALOGUE_GAIN) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3)), "V4L2_CID_ANALOGUE_GAIN != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_ANALOGUE_GAIN (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3)
#endif
#if defined(V4L2_CID_TEST_PATTERN_RED) || (defined(HAVE_DECL_V4L2_CID_TEST_PATTERN_RED) && HAVE_DECL_V4L2_CID_TEST_PATTERN_RED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TEST_PATTERN_RED) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4)), "V4L2_CID_TEST_PATTERN_RED != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TEST_PATTERN_RED (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4)
#endif
#if defined(V4L2_CID_TEST_PATTERN_GREENR) || (defined(HAVE_DECL_V4L2_CID_TEST_PATTERN_GREENR) && HAVE_DECL_V4L2_CID_TEST_PATTERN_GREENR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TEST_PATTERN_GREENR) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5)), "V4L2_CID_TEST_PATTERN_GREENR != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TEST_PATTERN_GREENR (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5)
#endif
#if defined(V4L2_CID_TEST_PATTERN_BLUE) || (defined(HAVE_DECL_V4L2_CID_TEST_PATTERN_BLUE) && HAVE_DECL_V4L2_CID_TEST_PATTERN_BLUE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TEST_PATTERN_BLUE) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6)), "V4L2_CID_TEST_PATTERN_BLUE != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TEST_PATTERN_BLUE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6)
#endif
#if defined(V4L2_CID_TEST_PATTERN_GREENB) || (defined(HAVE_DECL_V4L2_CID_TEST_PATTERN_GREENB) && HAVE_DECL_V4L2_CID_TEST_PATTERN_GREENB)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TEST_PATTERN_GREENB) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7)), "V4L2_CID_TEST_PATTERN_GREENB != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TEST_PATTERN_GREENB (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7)
#endif
#if defined(V4L2_CID_LINK_FREQ) || (defined(HAVE_DECL_V4L2_CID_LINK_FREQ) && HAVE_DECL_V4L2_CID_LINK_FREQ)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_LINK_FREQ) == ((V4L2_CID_IMAGE_PROC_CLASS_BASE + 1)), "V4L2_CID_LINK_FREQ != (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1)
#endif
#if defined(V4L2_CID_PIXEL_RATE) || (defined(HAVE_DECL_V4L2_CID_PIXEL_RATE) && HAVE_DECL_V4L2_CID_PIXEL_RATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_PIXEL_RATE) == ((V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)), "V4L2_CID_PIXEL_RATE != (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)
#endif
#if defined(V4L2_CID_TEST_PATTERN) || (defined(HAVE_DECL_V4L2_CID_TEST_PATTERN) && HAVE_DECL_V4L2_CID_TEST_PATTERN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TEST_PATTERN) == ((V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)), "V4L2_CID_TEST_PATTERN != (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)
#endif
#if defined(V4L2_CID_DEINTERLACING_MODE) || (defined(HAVE_DECL_V4L2_CID_DEINTERLACING_MODE) && HAVE_DECL_V4L2_CID_DEINTERLACING_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DEINTERLACING_MODE) == ((V4L2_CID_IMAGE_PROC_CLASS_BASE + 4)), "V4L2_CID_DEINTERLACING_MODE != (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DEINTERLACING_MODE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4)
#endif
#if defined(V4L2_CID_DIGITAL_GAIN) || (defined(HAVE_DECL_V4L2_CID_DIGITAL_GAIN) && HAVE_DECL_V4L2_CID_DIGITAL_GAIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DIGITAL_GAIN) == ((V4L2_CID_IMAGE_PROC_CLASS_BASE + 5)), "V4L2_CID_DIGITAL_GAIN != (V4L2_CID_IMAGE_PROC_CLASS_BASE + 5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DIGITAL_GAIN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 5)
#endif
#if defined(V4L2_CID_DV_TX_RGB_RANGE) || (defined(HAVE_DECL_V4L2_CID_DV_TX_RGB_RANGE) && HAVE_DECL_V4L2_CID_DV_TX_RGB_RANGE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DV_TX_RGB_RANGE) == ((V4L2_CID_DV_CLASS_BASE + 5)), "V4L2_CID_DV_TX_RGB_RANGE != (V4L2_CID_DV_CLASS_BASE + 5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5)
#endif
#if defined(V4L2_CID_DV_TX_IT_CONTENT_TYPE) || (defined(HAVE_DECL_V4L2_CID_DV_TX_IT_CONTENT_TYPE) && HAVE_DECL_V4L2_CID_DV_TX_IT_CONTENT_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DV_TX_IT_CONTENT_TYPE) == ((V4L2_CID_DV_CLASS_BASE + 6)), "V4L2_CID_DV_TX_IT_CONTENT_TYPE != (V4L2_CID_DV_CLASS_BASE + 6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DV_TX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 6)
#endif
#if defined(V4L2_CID_DV_RX_RGB_RANGE) || (defined(HAVE_DECL_V4L2_CID_DV_RX_RGB_RANGE) && HAVE_DECL_V4L2_CID_DV_RX_RGB_RANGE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DV_RX_RGB_RANGE) == ((V4L2_CID_DV_CLASS_BASE + 101)), "V4L2_CID_DV_RX_RGB_RANGE != (V4L2_CID_DV_CLASS_BASE + 101)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
#endif
#if defined(V4L2_CID_DV_RX_IT_CONTENT_TYPE) || (defined(HAVE_DECL_V4L2_CID_DV_RX_IT_CONTENT_TYPE) && HAVE_DECL_V4L2_CID_DV_RX_IT_CONTENT_TYPE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DV_RX_IT_CONTENT_TYPE) == ((V4L2_CID_DV_CLASS_BASE + 102)), "V4L2_CID_DV_RX_IT_CONTENT_TYPE != (V4L2_CID_DV_CLASS_BASE + 102)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DV_RX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 102)
#endif
#if defined(V4L2_CID_TUNE_DEEMPHASIS) || (defined(HAVE_DECL_V4L2_CID_TUNE_DEEMPHASIS) && HAVE_DECL_V4L2_CID_TUNE_DEEMPHASIS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_TUNE_DEEMPHASIS) == ((V4L2_CID_FM_RX_CLASS_BASE + 1)), "V4L2_CID_TUNE_DEEMPHASIS != (V4L2_CID_FM_RX_CLASS_BASE + 1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_TUNE_DEEMPHASIS (V4L2_CID_FM_RX_CLASS_BASE + 1)
#endif
#if defined(V4L2_CID_RDS_RECEPTION) || (defined(HAVE_DECL_V4L2_CID_RDS_RECEPTION) && HAVE_DECL_V4L2_CID_RDS_RECEPTION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_RECEPTION) == ((V4L2_CID_FM_RX_CLASS_BASE + 2)), "V4L2_CID_RDS_RECEPTION != (V4L2_CID_FM_RX_CLASS_BASE + 2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2)
#endif
#if defined(V4L2_CID_RDS_RX_PTY) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_PTY) && HAVE_DECL_V4L2_CID_RDS_RX_PTY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_RX_PTY) == ((V4L2_CID_FM_RX_CLASS_BASE + 3)), "V4L2_CID_RDS_RX_PTY != (V4L2_CID_FM_RX_CLASS_BASE + 3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_RX_PTY (V4L2_CID_FM_RX_CLASS_BASE + 3)
#endif
#if defined(V4L2_CID_RDS_RX_PS_NAME) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_PS_NAME) && HAVE_DECL_V4L2_CID_RDS_RX_PS_NAME)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_RX_PS_NAME) == ((V4L2_CID_FM_RX_CLASS_BASE + 4)), "V4L2_CID_RDS_RX_PS_NAME != (V4L2_CID_FM_RX_CLASS_BASE + 4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_RX_PS_NAME (V4L2_CID_FM_RX_CLASS_BASE + 4)
#endif
#if defined(V4L2_CID_RDS_RX_RADIO_TEXT) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_RADIO_TEXT) && HAVE_DECL_V4L2_CID_RDS_RX_RADIO_TEXT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_RX_RADIO_TEXT) == ((V4L2_CID_FM_RX_CLASS_BASE + 5)), "V4L2_CID_RDS_RX_RADIO_TEXT != (V4L2_CID_FM_RX_CLASS_BASE + 5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_RX_RADIO_TEXT (V4L2_CID_FM_RX_CLASS_BASE + 5)
#endif
#if defined(V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT) && HAVE_DECL_V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT) == ((V4L2_CID_FM_RX_CLASS_BASE + 6)), "V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT != (V4L2_CID_FM_RX_CLASS_BASE + 6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_RX_CLASS_BASE + 6)
#endif
#if defined(V4L2_CID_RDS_RX_TRAFFIC_PROGRAM) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_TRAFFIC_PROGRAM) && HAVE_DECL_V4L2_CID_RDS_RX_TRAFFIC_PROGRAM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_RX_TRAFFIC_PROGRAM) == ((V4L2_CID_FM_RX_CLASS_BASE + 7)), "V4L2_CID_RDS_RX_TRAFFIC_PROGRAM != (V4L2_CID_FM_RX_CLASS_BASE + 7)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_RX_TRAFFIC_PROGRAM (V4L2_CID_FM_RX_CLASS_BASE + 7)
#endif
#if defined(V4L2_CID_RDS_RX_MUSIC_SPEECH) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_MUSIC_SPEECH) && HAVE_DECL_V4L2_CID_RDS_RX_MUSIC_SPEECH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RDS_RX_MUSIC_SPEECH) == ((V4L2_CID_FM_RX_CLASS_BASE + 8)), "V4L2_CID_RDS_RX_MUSIC_SPEECH != (V4L2_CID_FM_RX_CLASS_BASE + 8)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RDS_RX_MUSIC_SPEECH (V4L2_CID_FM_RX_CLASS_BASE + 8)
#endif
#if defined(V4L2_CID_RF_TUNER_BANDWIDTH_AUTO) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_BANDWIDTH_AUTO) && HAVE_DECL_V4L2_CID_RF_TUNER_BANDWIDTH_AUTO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RF_TUNER_BANDWIDTH_AUTO) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 11)), "V4L2_CID_RF_TUNER_BANDWIDTH_AUTO != (V4L2_CID_RF_TUNER_CLASS_BASE + 11)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RF_TUNER_BANDWIDTH_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 11)
#endif
#if defined(V4L2_CID_RF_TUNER_BANDWIDTH) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_BANDWIDTH) && HAVE_DECL_V4L2_CID_RF_TUNER_BANDWIDTH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RF_TUNER_BANDWIDTH) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 12)), "V4L2_CID_RF_TUNER_BANDWIDTH != (V4L2_CID_RF_TUNER_CLASS_BASE + 12)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RF_TUNER_BANDWIDTH (V4L2_CID_RF_TUNER_CLASS_BASE + 12)
#endif
#if defined(V4L2_CID_RF_TUNER_RF_GAIN) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_RF_GAIN) && HAVE_DECL_V4L2_CID_RF_TUNER_RF_GAIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RF_TUNER_RF_GAIN) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 32)), "V4L2_CID_RF_TUNER_RF_GAIN != (V4L2_CID_RF_TUNER_CLASS_BASE + 32)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RF_TUNER_RF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 32)
#endif
#if defined(V4L2_CID_RF_TUNER_LNA_GAIN_AUTO) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_LNA_GAIN_AUTO) && HAVE_DECL_V4L2_CID_RF_TUNER_LNA_GAIN_AUTO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RF_TUNER_LNA_GAIN_AUTO) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 41)), "V4L2_CID_RF_TUNER_LNA_GAIN_AUTO != (V4L2_CID_RF_TUNER_CLASS_BASE + 41)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RF_TUNER_LNA_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 41)
#endif
#if defined(V4L2_CID_RF_TUNER_LNA_GAIN) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_LNA_GAIN) && HAVE_DECL_V4L2_CID_RF_TUNER_LNA_GAIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RF_TUNER_LNA_GAIN) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 42)), "V4L2_CID_RF_TUNER_LNA_GAIN != (V4L2_CID_RF_TUNER_CLASS_BASE + 42)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RF_TUNER_LNA_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 42)
#endif
#if defined(V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO) && HAVE_DECL_V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 51)), "V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO != (V4L2_CID_RF_TUNER_CLASS_BASE + 51)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 51)
#endif
#if defined(V4L2_CID_RF_TUNER_MIXER_GAIN) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_MIXER_GAIN) && HAVE_DECL_V4L2_CID_RF_TUNER_MIXER_GAIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RF_TUNER_MIXER_GAIN) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 52)), "V4L2_CID_RF_TUNER_MIXER_GAIN != (V4L2_CID_RF_TUNER_CLASS_BASE + 52)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RF_TUNER_MIXER_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 52)
#endif
#if defined(V4L2_CID_RF_TUNER_IF_GAIN_AUTO) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_IF_GAIN_AUTO) && HAVE_DECL_V4L2_CID_RF_TUNER_IF_GAIN_AUTO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RF_TUNER_IF_GAIN_AUTO) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 61)), "V4L2_CID_RF_TUNER_IF_GAIN_AUTO != (V4L2_CID_RF_TUNER_CLASS_BASE + 61)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RF_TUNER_IF_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 61)
#endif
#if defined(V4L2_CID_RF_TUNER_IF_GAIN) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_IF_GAIN) && HAVE_DECL_V4L2_CID_RF_TUNER_IF_GAIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RF_TUNER_IF_GAIN) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 62)), "V4L2_CID_RF_TUNER_IF_GAIN != (V4L2_CID_RF_TUNER_CLASS_BASE + 62)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RF_TUNER_IF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 62)
#endif
#if defined(V4L2_CID_RF_TUNER_PLL_LOCK) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_PLL_LOCK) && HAVE_DECL_V4L2_CID_RF_TUNER_PLL_LOCK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_RF_TUNER_PLL_LOCK) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 91)), "V4L2_CID_RF_TUNER_PLL_LOCK != (V4L2_CID_RF_TUNER_CLASS_BASE + 91)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_RF_TUNER_PLL_LOCK (V4L2_CID_RF_TUNER_CLASS_BASE + 91)
#endif
#if defined(V4L2_CID_DETECT_MD_MODE) || (defined(HAVE_DECL_V4L2_CID_DETECT_MD_MODE) && HAVE_DECL_V4L2_CID_DETECT_MD_MODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DETECT_MD_MODE) == ((V4L2_CID_DETECT_CLASS_BASE + 1)), "V4L2_CID_DETECT_MD_MODE != (V4L2_CID_DETECT_CLASS_BASE + 1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1)
#endif
#if defined(V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD) || (defined(HAVE_DECL_V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD) && HAVE_DECL_V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD) == ((V4L2_CID_DETECT_CLASS_BASE + 2)), "V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD != (V4L2_CID_DETECT_CLASS_BASE + 2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD (V4L2_CID_DETECT_CLASS_BASE + 2)
#endif
#if defined(V4L2_CID_DETECT_MD_THRESHOLD_GRID) || (defined(HAVE_DECL_V4L2_CID_DETECT_MD_THRESHOLD_GRID) && HAVE_DECL_V4L2_CID_DETECT_MD_THRESHOLD_GRID)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DETECT_MD_THRESHOLD_GRID) == ((V4L2_CID_DETECT_CLASS_BASE + 3)), "V4L2_CID_DETECT_MD_THRESHOLD_GRID != (V4L2_CID_DETECT_CLASS_BASE + 3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3)
#endif
#if defined(V4L2_CID_DETECT_MD_REGION_GRID) || (defined(HAVE_DECL_V4L2_CID_DETECT_MD_REGION_GRID) && HAVE_DECL_V4L2_CID_DETECT_MD_REGION_GRID)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_DETECT_MD_REGION_GRID) == ((V4L2_CID_DETECT_CLASS_BASE + 4)), "V4L2_CID_DETECT_MD_REGION_GRID != (V4L2_CID_DETECT_CLASS_BASE + 4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4)
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

extern const struct xlat v4l2_control_ids[];

# else

#  if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
#  endif
const struct xlat v4l2_control_ids[] = {

 XLAT(V4L2_CID_BRIGHTNESS),
 XLAT(V4L2_CID_CONTRAST),
 XLAT(V4L2_CID_SATURATION),
 XLAT(V4L2_CID_HUE),
 XLAT(V4L2_CID_AUDIO_VOLUME),
 XLAT(V4L2_CID_AUDIO_BALANCE),
 XLAT(V4L2_CID_AUDIO_BASS),
 XLAT(V4L2_CID_AUDIO_TREBLE),
 XLAT(V4L2_CID_AUDIO_MUTE),
 XLAT(V4L2_CID_AUDIO_LOUDNESS),
 XLAT(V4L2_CID_BLACK_LEVEL),
 XLAT(V4L2_CID_AUTO_WHITE_BALANCE),
 XLAT(V4L2_CID_DO_WHITE_BALANCE),
 XLAT(V4L2_CID_RED_BALANCE),
 XLAT(V4L2_CID_BLUE_BALANCE),
 XLAT(V4L2_CID_GAMMA),
 XLAT(V4L2_CID_EXPOSURE),
 XLAT(V4L2_CID_AUTOGAIN),
 XLAT(V4L2_CID_GAIN),
 XLAT(V4L2_CID_HFLIP),
 XLAT(V4L2_CID_VFLIP),
 XLAT(V4L2_CID_HCENTER),
 XLAT(V4L2_CID_VCENTER),
 XLAT(V4L2_CID_POWER_LINE_FREQUENCY),
 XLAT(V4L2_CID_HUE_AUTO),
 XLAT(V4L2_CID_WHITE_BALANCE_TEMPERATURE),
 XLAT(V4L2_CID_SHARPNESS),
 XLAT(V4L2_CID_BACKLIGHT_COMPENSATION),
 XLAT(V4L2_CID_CHROMA_AGC),
 XLAT(V4L2_CID_COLOR_KILLER),
 XLAT(V4L2_CID_COLORFX),
 XLAT(V4L2_CID_AUTOBRIGHTNESS),
 XLAT(V4L2_CID_BAND_STOP_FILTER),
 XLAT(V4L2_CID_ROTATE),
 XLAT(V4L2_CID_BG_COLOR),
 XLAT(V4L2_CID_CHROMA_GAIN),
 XLAT(V4L2_CID_ILLUMINATORS_1),
 XLAT(V4L2_CID_ILLUMINATORS_2),
 XLAT(V4L2_CID_MIN_BUFFERS_FOR_CAPTURE),
 XLAT(V4L2_CID_MIN_BUFFERS_FOR_OUTPUT),
 XLAT(V4L2_CID_ALPHA_COMPONENT),
 XLAT(V4L2_CID_COLORFX_CBCR),


 XLAT(V4L2_CID_MPEG_STREAM_TYPE),
 XLAT(V4L2_CID_MPEG_STREAM_PID_PMT),
 XLAT(V4L2_CID_MPEG_STREAM_PID_AUDIO),
 XLAT(V4L2_CID_MPEG_STREAM_PID_VIDEO),
 XLAT(V4L2_CID_MPEG_STREAM_PID_PCR),
 XLAT(V4L2_CID_MPEG_STREAM_PES_ID_AUDIO),
 XLAT(V4L2_CID_MPEG_STREAM_PES_ID_VIDEO),
 XLAT(V4L2_CID_MPEG_STREAM_VBI_FMT),

 XLAT(V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ),
 XLAT(V4L2_CID_MPEG_AUDIO_ENCODING),
 XLAT(V4L2_CID_MPEG_AUDIO_L1_BITRATE),
 XLAT(V4L2_CID_MPEG_AUDIO_L2_BITRATE),
 XLAT(V4L2_CID_MPEG_AUDIO_L3_BITRATE),
 XLAT(V4L2_CID_MPEG_AUDIO_MODE),
 XLAT(V4L2_CID_MPEG_AUDIO_MODE_EXTENSION),
 XLAT(V4L2_CID_MPEG_AUDIO_EMPHASIS),
 XLAT(V4L2_CID_MPEG_AUDIO_CRC),
 XLAT(V4L2_CID_MPEG_AUDIO_MUTE),
 XLAT(V4L2_CID_MPEG_AUDIO_AAC_BITRATE),
 XLAT(V4L2_CID_MPEG_AUDIO_AC3_BITRATE),
 XLAT(V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK),
 XLAT(V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK),

 XLAT(V4L2_CID_MPEG_VIDEO_ENCODING),
 XLAT(V4L2_CID_MPEG_VIDEO_ASPECT),
 XLAT(V4L2_CID_MPEG_VIDEO_B_FRAMES),
 XLAT(V4L2_CID_MPEG_VIDEO_GOP_SIZE),
 XLAT(V4L2_CID_MPEG_VIDEO_GOP_CLOSURE),
 XLAT(V4L2_CID_MPEG_VIDEO_PULLDOWN),
 XLAT(V4L2_CID_MPEG_VIDEO_BITRATE_MODE),
 XLAT(V4L2_CID_MPEG_VIDEO_BITRATE),
 XLAT(V4L2_CID_MPEG_VIDEO_BITRATE_PEAK),
 XLAT(V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION),
 XLAT(V4L2_CID_MPEG_VIDEO_MUTE),
 XLAT(V4L2_CID_MPEG_VIDEO_MUTE_YUV),
 XLAT(V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE),
 XLAT(V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER),
 XLAT(V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB),
 XLAT(V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE),
 XLAT(V4L2_CID_MPEG_VIDEO_HEADER_MODE),
 XLAT(V4L2_CID_MPEG_VIDEO_MAX_REF_PIC),
 XLAT(V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE),
 XLAT(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES),
 XLAT(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB),
 XLAT(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE),
 XLAT(V4L2_CID_MPEG_VIDEO_VBV_SIZE),
 XLAT(V4L2_CID_MPEG_VIDEO_DEC_PTS),
 XLAT(V4L2_CID_MPEG_VIDEO_DEC_FRAME),
 XLAT(V4L2_CID_MPEG_VIDEO_VBV_DELAY),
 XLAT(V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER),
 XLAT(V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE),
 XLAT(V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE),
 XLAT(V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME),
 XLAT(V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_H263_MIN_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_H263_MAX_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_MIN_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_MAX_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_I_PERIOD),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_LEVEL),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_PROFILE),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_ASO),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER),
 XLAT(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL),
 XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE),
 XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_QPEL),

 XLAT(V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_MIN_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_MAX_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_VPX_PROFILE),

 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_PROFILE),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_LEVEL),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_TIER),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR),
 XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR),
 XLAT(V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES),
 XLAT(V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR),

 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE),
 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER),
 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE),
 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE),
 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE),
 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER),
 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE),
 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM),
 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP),
 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM),
 XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP),
 XLAT(V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS),

 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_PADDING),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC),
 XLAT(V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P),

 XLAT(V4L2_CID_EXPOSURE_AUTO),
 XLAT(V4L2_CID_EXPOSURE_ABSOLUTE),
 XLAT(V4L2_CID_EXPOSURE_AUTO_PRIORITY),
 XLAT(V4L2_CID_PAN_RELATIVE),
 XLAT(V4L2_CID_TILT_RELATIVE),
 XLAT(V4L2_CID_PAN_RESET),
 XLAT(V4L2_CID_TILT_RESET),
 XLAT(V4L2_CID_PAN_ABSOLUTE),
 XLAT(V4L2_CID_TILT_ABSOLUTE),
 XLAT(V4L2_CID_FOCUS_ABSOLUTE),
 XLAT(V4L2_CID_FOCUS_RELATIVE),
 XLAT(V4L2_CID_FOCUS_AUTO),
 XLAT(V4L2_CID_ZOOM_ABSOLUTE),
 XLAT(V4L2_CID_ZOOM_RELATIVE),
 XLAT(V4L2_CID_ZOOM_CONTINUOUS),
 XLAT(V4L2_CID_PRIVACY),
 XLAT(V4L2_CID_IRIS_ABSOLUTE),
 XLAT(V4L2_CID_IRIS_RELATIVE),
 XLAT(V4L2_CID_AUTO_EXPOSURE_BIAS),
 XLAT(V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE),
 XLAT(V4L2_CID_WIDE_DYNAMIC_RANGE),
 XLAT(V4L2_CID_IMAGE_STABILIZATION),
 XLAT(V4L2_CID_ISO_SENSITIVITY),
 XLAT(V4L2_CID_ISO_SENSITIVITY_AUTO),
 XLAT(V4L2_CID_EXPOSURE_METERING),
 XLAT(V4L2_CID_SCENE_MODE),
 XLAT(V4L2_CID_3A_LOCK),
 XLAT(V4L2_CID_AUTO_FOCUS_START),
 XLAT(V4L2_CID_AUTO_FOCUS_STOP),
 XLAT(V4L2_CID_AUTO_FOCUS_STATUS),
 XLAT(V4L2_CID_AUTO_FOCUS_RANGE),
 XLAT(V4L2_CID_PAN_SPEED),
 XLAT(V4L2_CID_TILT_SPEED),

 XLAT(V4L2_CID_RDS_TX_DEVIATION),
 XLAT(V4L2_CID_RDS_TX_PI),
 XLAT(V4L2_CID_RDS_TX_PTY),
 XLAT(V4L2_CID_RDS_TX_PS_NAME),
 XLAT(V4L2_CID_RDS_TX_RADIO_TEXT),
 XLAT(V4L2_CID_RDS_TX_MONO_STEREO),
 XLAT(V4L2_CID_RDS_TX_ARTIFICIAL_HEAD),
 XLAT(V4L2_CID_RDS_TX_COMPRESSED),
 XLAT(V4L2_CID_RDS_TX_DYNAMIC_PTY),
 XLAT(V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT),
 XLAT(V4L2_CID_RDS_TX_TRAFFIC_PROGRAM),
 XLAT(V4L2_CID_RDS_TX_MUSIC_SPEECH),
 XLAT(V4L2_CID_RDS_TX_ALT_FREQS_ENABLE),
 XLAT(V4L2_CID_RDS_TX_ALT_FREQS),
 XLAT(V4L2_CID_AUDIO_LIMITER_ENABLED),
 XLAT(V4L2_CID_AUDIO_LIMITER_RELEASE_TIME),
 XLAT(V4L2_CID_AUDIO_LIMITER_DEVIATION),
 XLAT(V4L2_CID_AUDIO_COMPRESSION_ENABLED),
 XLAT(V4L2_CID_AUDIO_COMPRESSION_GAIN),
 XLAT(V4L2_CID_AUDIO_COMPRESSION_THRESHOLD),
 XLAT(V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME),
 XLAT(V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME),
 XLAT(V4L2_CID_PILOT_TONE_ENABLED),
 XLAT(V4L2_CID_PILOT_TONE_DEVIATION),
 XLAT(V4L2_CID_PILOT_TONE_FREQUENCY),
 XLAT(V4L2_CID_TUNE_PREEMPHASIS),
 XLAT(V4L2_CID_TUNE_POWER_LEVEL),
 XLAT(V4L2_CID_TUNE_ANTENNA_CAPACITOR),

 XLAT(V4L2_CID_FLASH_LED_MODE),
 XLAT(V4L2_CID_FLASH_STROBE_SOURCE),
 XLAT(V4L2_CID_FLASH_STROBE),
 XLAT(V4L2_CID_FLASH_STROBE_STOP),
 XLAT(V4L2_CID_FLASH_STROBE_STATUS),
 XLAT(V4L2_CID_FLASH_TIMEOUT),
 XLAT(V4L2_CID_FLASH_INTENSITY),
 XLAT(V4L2_CID_FLASH_TORCH_INTENSITY),
 XLAT(V4L2_CID_FLASH_INDICATOR_INTENSITY),
 XLAT(V4L2_CID_FLASH_FAULT),
 XLAT(V4L2_CID_FLASH_CHARGE),
 XLAT(V4L2_CID_FLASH_READY),

 XLAT(V4L2_CID_VBLANK),
 XLAT(V4L2_CID_HBLANK),
 XLAT(V4L2_CID_ANALOGUE_GAIN),
 XLAT(V4L2_CID_TEST_PATTERN_RED),
 XLAT(V4L2_CID_TEST_PATTERN_GREENR),
 XLAT(V4L2_CID_TEST_PATTERN_BLUE),
 XLAT(V4L2_CID_TEST_PATTERN_GREENB),

 XLAT(V4L2_CID_LINK_FREQ),
 XLAT(V4L2_CID_PIXEL_RATE),
 XLAT(V4L2_CID_TEST_PATTERN),
 XLAT(V4L2_CID_DEINTERLACING_MODE),
 XLAT(V4L2_CID_DIGITAL_GAIN),

 XLAT(V4L2_CID_DV_TX_RGB_RANGE),
 XLAT(V4L2_CID_DV_TX_IT_CONTENT_TYPE),
 XLAT(V4L2_CID_DV_RX_RGB_RANGE),
 XLAT(V4L2_CID_DV_RX_IT_CONTENT_TYPE),
 XLAT(V4L2_CID_TUNE_DEEMPHASIS),
 XLAT(V4L2_CID_RDS_RECEPTION),
 XLAT(V4L2_CID_RDS_RX_PTY),
 XLAT(V4L2_CID_RDS_RX_PS_NAME),
 XLAT(V4L2_CID_RDS_RX_RADIO_TEXT),
 XLAT(V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT),
 XLAT(V4L2_CID_RDS_RX_TRAFFIC_PROGRAM),
 XLAT(V4L2_CID_RDS_RX_MUSIC_SPEECH),
 XLAT(V4L2_CID_RF_TUNER_BANDWIDTH_AUTO),
 XLAT(V4L2_CID_RF_TUNER_BANDWIDTH),
 XLAT(V4L2_CID_RF_TUNER_RF_GAIN),
 XLAT(V4L2_CID_RF_TUNER_LNA_GAIN_AUTO),
 XLAT(V4L2_CID_RF_TUNER_LNA_GAIN),
 XLAT(V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO),
 XLAT(V4L2_CID_RF_TUNER_MIXER_GAIN),
 XLAT(V4L2_CID_RF_TUNER_IF_GAIN_AUTO),
 XLAT(V4L2_CID_RF_TUNER_IF_GAIN),
 XLAT(V4L2_CID_RF_TUNER_PLL_LOCK),

 XLAT(V4L2_CID_DETECT_MD_MODE),
 XLAT(V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD),
 XLAT(V4L2_CID_DETECT_MD_THRESHOLD_GRID),
 XLAT(V4L2_CID_DETECT_MD_REGION_GRID),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
