diff options
author | James Zern <jzern@google.com> | 2020-01-17 23:15:19 -0800 |
---|---|---|
committer | James Zern <jzern@google.com> | 2020-01-17 23:17:46 -0800 |
commit | bc9b7f50bb0241f774fab701d66fa5a02157ad27 (patch) | |
tree | 88032c974bb5f42fd3b77986ac38c564b81d1692 | |
parent | 49aa77c61fc1d2dc369594fb19c3165f9c56bd18 (diff) | |
download | libvpx-bc9b7f50bb0241f774fab701d66fa5a02157ad27.tar libvpx-bc9b7f50bb0241f774fab701d66fa5a02157ad27.tar.gz libvpx-bc9b7f50bb0241f774fab701d66fa5a02157ad27.tar.bz2 libvpx-bc9b7f50bb0241f774fab701d66fa5a02157ad27.zip |
add static_assert.h
unify COMPILE_TIME_ASSERT definitions and rename to VPX_STATIC_ASSERT
Change-Id: Id51150c204e0c4eaf355ee45b20915113209d524
-rw-r--r-- | vp8/vp8_cx_iface.c | 21 | ||||
-rw-r--r-- | vp9/vp9_cx_iface.c | 21 | ||||
-rw-r--r-- | vpx_ports/static_assert.h | 30 | ||||
-rw-r--r-- | vpx_ports/vpx_ports.mk | 1 |
4 files changed, 37 insertions, 36 deletions
diff --git a/vp8/vp8_cx_iface.c b/vp8/vp8_cx_iface.c index 07ea52c05..8f7617abf 100644 --- a/vp8/vp8_cx_iface.c +++ b/vp8/vp8_cx_iface.c @@ -16,6 +16,7 @@ #include "vpx/internal/vpx_codec_internal.h" #include "vpx_version.h" #include "vpx_mem/vpx_mem.h" +#include "vpx_ports/static_assert.h" #include "vpx_ports/system_state.h" #include "vpx_ports/vpx_once.h" #include "vpx_util/vpx_timestamp.h" @@ -131,22 +132,6 @@ static vpx_codec_err_t update_error_state( if (!!((p)->memb) != (p)->memb) ERROR(#memb " expected boolean"); \ } while (0) -#if defined(_MSC_VER) -#define COMPILE_TIME_ASSERT(boolexp) \ - do { \ - char compile_time_assert[(boolexp) ? 1 : -1]; \ - (void)compile_time_assert; \ - } while (0) -#else /* !_MSC_VER */ -#define COMPILE_TIME_ASSERT(boolexp) \ - do { \ - struct { \ - unsigned int compile_time_assert : (boolexp) ? 1 : -1; \ - } compile_time_assert; \ - (void)compile_time_assert; \ - } while (0) -#endif /* _MSC_VER */ - static vpx_codec_err_t validate_config(vpx_codec_alg_priv_t *ctx, const vpx_codec_enc_cfg_t *cfg, const struct vp8_extracfg *vp8_cfg, @@ -751,8 +736,8 @@ static void pick_quickcompress_mode(vpx_codec_alg_priv_t *ctx, /* Convert duration parameter from stream timebase to microseconds */ uint64_t duration_us; - COMPILE_TIME_ASSERT(TICKS_PER_SEC > 1000000 && - (TICKS_PER_SEC % 1000000) == 0); + VPX_STATIC_ASSERT(TICKS_PER_SEC > 1000000 && + (TICKS_PER_SEC % 1000000) == 0); duration_us = duration * (uint64_t)ctx->timestamp_ratio.num / (ctx->timestamp_ratio.den * (TICKS_PER_SEC / 1000000)); diff --git a/vp9/vp9_cx_iface.c b/vp9/vp9_cx_iface.c index baea0ece1..0709c6428 100644 --- a/vp9/vp9_cx_iface.c +++ b/vp9/vp9_cx_iface.c @@ -15,6 +15,7 @@ #include "vpx/vpx_encoder.h" #include "vpx_dsp/psnr.h" #include "vpx_ports/vpx_once.h" +#include "vpx_ports/static_assert.h" #include "vpx_ports/system_state.h" #include "vpx_util/vpx_timestamp.h" #include "vpx/internal/vpx_codec_internal.h" @@ -160,22 +161,6 @@ static vpx_codec_err_t update_error_state( if (!!((p)->memb) != (p)->memb) ERROR(#memb " expected boolean"); \ } while (0) -#if defined(_MSC_VER) -#define COMPILE_TIME_ASSERT(boolexp) \ - do { \ - char compile_time_assert[(boolexp) ? 1 : -1]; \ - (void)compile_time_assert; \ - } while (0) -#else // !_MSC_VER -#define COMPILE_TIME_ASSERT(boolexp) \ - do { \ - struct { \ - unsigned int compile_time_assert : (boolexp) ? 1 : -1; \ - } compile_time_assert; \ - (void)compile_time_assert; \ - } while (0) -#endif // _MSC_VER - static vpx_codec_err_t validate_config(vpx_codec_alg_priv_t *ctx, const vpx_codec_enc_cfg_t *cfg, const struct vp9_extracfg *extra_cfg) { @@ -968,8 +953,8 @@ static void pick_quickcompress_mode(vpx_codec_alg_priv_t *ctx, // Convert duration parameter from stream timebase to microseconds. uint64_t duration_us; - COMPILE_TIME_ASSERT(TICKS_PER_SEC > 1000000 && - (TICKS_PER_SEC % 1000000) == 0); + VPX_STATIC_ASSERT(TICKS_PER_SEC > 1000000 && + (TICKS_PER_SEC % 1000000) == 0); duration_us = duration * (uint64_t)ctx->timestamp_ratio.num / (ctx->timestamp_ratio.den * (TICKS_PER_SEC / 1000000)); diff --git a/vpx_ports/static_assert.h b/vpx_ports/static_assert.h new file mode 100644 index 000000000..f632d9f1e --- /dev/null +++ b/vpx_ports/static_assert.h @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2020 The WebM project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef VPX_VPX_PORTS_STATIC_ASSERT_H_ +#define VPX_VPX_PORTS_STATIC_ASSERT_H_ + +#if defined(_MSC_VER) +#define VPX_STATIC_ASSERT(boolexp) \ + do { \ + char vpx_static_assert[(boolexp) ? 1 : -1]; \ + (void)vpx_static_assert; \ + } while (0) +#else // !_MSC_VER +#define VPX_STATIC_ASSERT(boolexp) \ + do { \ + struct { \ + unsigned int vpx_static_assert : (boolexp) ? 1 : -1; \ + } vpx_static_assert; \ + (void)vpx_static_assert; \ + } while (0) +#endif // _MSC_VER + +#endif // VPX_VPX_PORTS_STATIC_ASSERT_H_ diff --git a/vpx_ports/vpx_ports.mk b/vpx_ports/vpx_ports.mk index ef17f0ad2..53fbd1e80 100644 --- a/vpx_ports/vpx_ports.mk +++ b/vpx_ports/vpx_ports.mk @@ -14,6 +14,7 @@ PORTS_SRCS-yes += vpx_ports.mk PORTS_SRCS-yes += bitops.h PORTS_SRCS-yes += mem.h PORTS_SRCS-yes += msvc.h +PORTS_SRCS-yes += static_assert.h PORTS_SRCS-yes += system_state.h PORTS_SRCS-yes += vpx_timer.h |