/* 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_VP8_PROFILE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VP8_PROFILE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VP8_PROFILE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VP8_PROFILE) == ((V4L2_CID_MPEG_BASE+511)), "V4L2_CID_MPEG_VIDEO_VP8_PROFILE != (V4L2_CID_MPEG_BASE+511)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VP8_PROFILE (V4L2_CID_MPEG_BASE+511)
#endif
#if defined(V4L2_CID_MPEG_VIDEO_VP9_PROFILE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VP9_PROFILE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VP9_PROFILE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((V4L2_CID_MPEG_VIDEO_VP9_PROFILE) == ((V4L2_CID_MPEG_BASE+512)), "V4L2_CID_MPEG_VIDEO_VP9_PROFILE != (V4L2_CID_MPEG_BASE+512)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define V4L2_CID_MPEG_VIDEO_VP9_PROFILE (V4L2_CID_MPEG_BASE+512)
#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_VP8_PROFILE),
 XLAT(V4L2_CID_MPEG_VIDEO_VP9_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 */
