diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2021-10-15 12:05:32 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2021-10-15 12:09:11 +0200 |
commit | ae74e78909ae0bc476112fb43b9580e969879dcd (patch) | |
tree | 49144c84e18719a7ca54a243effc319ea128ab70 /thirdparty/libvpx/vpx_ports/bitops.h | |
parent | e2bfb27efb858c4a1314d314386531cbcdfcf335 (diff) |
Remove WebM support (and deps libvpx and opus)
We've had many issues with WebM support and specifically the libvpx library
over the years, mostly due to its poor integration in Godot's buildsystem,
but without anyone really interested in improving this state.
With the new GDExtensions in Godot 4.0, we intend to move video decoding to
first-party extensions, and this would likely be done using something like
libvlc to expose more codecs.
Removing the `webm` module means we can remove libsimplewebm, libvpx and
opus, which we were only used for that purpose. Both libvpx and opus were
fairly complex pieces of the buildsystem, so this is a nice cleanup.
This also removes the compile-time dependency on `yasm`.
Fixes lots of compilation or non-working WebM issues which will be linked
in the PR.
Diffstat (limited to 'thirdparty/libvpx/vpx_ports/bitops.h')
-rw-r--r-- | thirdparty/libvpx/vpx_ports/bitops.h | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/thirdparty/libvpx/vpx_ports/bitops.h b/thirdparty/libvpx/vpx_ports/bitops.h deleted file mode 100644 index 84ff3659fe..0000000000 --- a/thirdparty/libvpx/vpx_ports/bitops.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2010 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_PORTS_BITOPS_H_ -#define VPX_PORTS_BITOPS_H_ - -#include <assert.h> - -#include "vpx_ports/msvc.h" - -#ifdef _MSC_VER -# include <math.h> // the ceil() definition must precede intrin.h -# if _MSC_VER > 1310 && (defined(_M_X64) || defined(_M_IX86)) -# include <intrin.h> -# define USE_MSC_INTRINSICS -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -// These versions of get_msb() are only valid when n != 0 because all -// of the optimized versions are undefined when n == 0: -// https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html - -// use GNU builtins where available. -#if defined(__GNUC__) && \ - ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ >= 4) -static INLINE int get_msb(unsigned int n) { - assert(n != 0); - return 31 ^ __builtin_clz(n); -} -#elif defined(USE_MSC_INTRINSICS) -#pragma intrinsic(_BitScanReverse) - -static INLINE int get_msb(unsigned int n) { - unsigned long first_set_bit; - assert(n != 0); - _BitScanReverse(&first_set_bit, n); - return first_set_bit; -} -#undef USE_MSC_INTRINSICS -#else -// Returns (int)floor(log2(n)). n must be > 0. -static INLINE int get_msb(unsigned int n) { - int log = 0; - unsigned int value = n; - int i; - - assert(n != 0); - - for (i = 4; i >= 0; --i) { - const int shift = (1 << i); - const unsigned int x = value >> shift; - if (x != 0) { - value = x; - log += shift; - } - } - return log; -} -#endif - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // VPX_PORTS_BITOPS_H_ |