Age | Commit message (Collapse) | Author |
|
Make partition decisions using machine learning models. The goal is to
achieve better coding quality than the variance-based parititioning
without much encoding speed loss.
To enable this experiment, use --enable-ml-var-partition for config.
When eanbled, the variance-based partitioning is replaced by this ML
based partitioing for speed 6 and above in real time mode(except low
resolution or high bit-depth).
Current coding gains(average PSNR):
speed 6 speed 7 speed 8
rtc 2.04% 2.65% 3.90%
ytlivehr 3.11% 4.53% 11.57%
hdres(rtc mode) 5.10%
Further testing and tuning is needed to see if the speed and quality
tradeoff is reasonable.
Change-Id: I0da5a2fbc22c3261832b32920ee36d9b19d417af
|
|
The experiment aims at making non-greedy mv search decision
Change-Id: I3d77048ce106771fe003f250d07b7ddf0112536f
|
|
Linking c++ libraries built with gcc 6 and gcc 7 on arm
generates some warnings because of incompatibilities between those
compilers:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728
libvpx does not generate a c++ library. C++ is only used for examples and tests.
Change-Id: I3d5d5ef3fb66743bff26a833d6641898975e9f71
|
|
Change-Id: Ib49e1d79ba4c1c5d5147ab437f744a31429a059c
|
|
+ bump ios minimum to 7.0; 6.0 does not have full c++11 support
Change-Id: If838b036e7327fda514cd2e8156eeda122cf6c73
|
|
This reverts commit d32a55ffc40bba75ed8b770b282836a9d248d6a9.
Use the correct 'check_add_cxxflags' invocation.
Change-Id: I97d8062c9218b81a24268ec5998e847b1a0efeda
|
|
|
|
This reverts commit 595edb9669e27927726523c3f463d0eb6ea73f30.
Incorrect check_add_cxxflags invocation prevented libwebm from
building. Correcting it causes build failures on jenkins and mac.
Original change's description:
> update libwebm
>
> Clears "auto_ptr deprecated" warnings when building with
> clang v6.0.0
>
> Requires C++11 support.
>
> Change-Id: I5ea2744e73deeaa4e7b2599bacf0b6c9cf355a54
TBR=jzern@google.com,johannkoenig@google.com,builds@webmproject.org
Change-Id: I7340d912a121de035997cbd8ad77a150ee38189a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
|
|
This commit replace a hard coded macro with a macro defined by
a configure command.
Change-Id: Ib31354d61865314ed43e2c429c72b4ef2c8fa2a7
|
|
Clears "auto_ptr deprecated" warnings when building with
clang v6.0.0
Requires C++11 support.
Change-Id: I5ea2744e73deeaa4e7b2599bacf0b6c9cf355a54
|
|
Remove big endian PowerPC 64 from configure, as this build is problematic and
not supported. PowerPC 64 will be limited to little endian (ppc64le).
BUG=webm:1525
BUG=webm:1508
Change-Id: Id6a86d5913192549e03ac8f77879ba7526b752c8
|
|
fails at configure time rather than compile time unless using
--enable-external-build
Change-Id: I966ee1000e28fdcc3f4a29759789b056faee0010
|
|
When doing both check_header and check_lib, the check_header call
will already enable pthread_h if the header was found. This was
overlooked when the pthread linking check was amended into a header
check and a separate linking check in 9b7d4cce635e.
This brings back the same result as the original check in 38dc27cc6.
Change-Id: I0efb38f5780f7c79e2eb2b14290d6094096ea222
|
|
check_lib can be a stub that always returns true - make sure to
still use check_headers as before 38dc27cc6.
Change-Id: I5d471de56b16c015a0b686fa6c6caefa35bb89b4
|
|
This avoids enabling pthreads if only pthreads-w32 is available.
pthreads-w32 provides pthread.h but has a link library with a
different name (libpthreadGC2.a).
Generally, always using win32 threads when on windows would be
sensible.
However, libstdc++ can be configured to use pthreads (winpthreads), and
in these cases, standard C++ headers can pollute the namespace with
pthreads declarations, which break the win32 threads headers that
declare similar symbols - leading us to prefer pthreads on windows
whenever available (see d167a1ae and bug 1132).
Change-Id: Icd668ccdaf3aeabb7fa4e713e040ef3d67546f00
|
|
This configuration doesn't require any extra custom settings, since
it only uses neon intrinsics that are handled automatically by the
compiler (no external assembly).
Change-Id: I35415c68f483a430c0672e060a7bbd09a3469512
|
|
This builds for windows on arm, with llvm-mingw. The target triplet
is named -gcc since that's how similar existing targets are named,
even though it technically runs clang (via frontends named
"$CROSS-gcc").
Assemble using $CC -c since there's no standalone assembler
available (except perhaps llvm-mc).
Change-Id: I2c9a319730afef73f811bad79f488dcdc244ab0d
|
|
Change-Id: Ifda11caaf992d10f2d93d6cd1d07b79b6047be05
|
|
Add darwin17 target
Change-Id: I349a2f6a0396c59269f567a03ae813e3e59ccefa
|
|
The largest frame is currently in choose_partitioning:
warning: stack frame size of 44156 bytes in function 'choose_partitioning'
but adding HBD amplifies other things:
warning: stack frame size of 51480 bytes in function 'dec_build_inter_predictors'
Add some padding for sanitizer and variances between compilers.
BUG=webm:1498
Change-Id: I0d94d4f94d25dafafca9d7484881c2ce5f8de371
|
|
INLINE is defined as __forceinline for vs* configs, but is the
normal, compiler-discretion inline for gcc/clang configs. This
makes many functions very large when building for windows targets,
much larger than they are elsewhere.
Use '__inline' as a consistent definition to get consistent function
sizes. Although Visual Studio documentation says that 'inline' is
only available in C+ code. This is probably incorrect, since Visual
Studio 2017 accepts C99 'inline' even when passed /TC. Nevertheless,
this commit uses the recommended '__inline' for consistency.
Thanks to David Major for the diagnosis.
Change-Id: Ib0b31a3afcea77822c84fe3c6cd452add66d825a
|
|
The added AVX-512 support requires the subset of AVX-512 added in Skylake-X.
Change-Id: I39666b00d10bf96d06c709823663eb09b89265b7
|
|
This avoids an endless build loop at vpx_version.h
creation time when diff is not present.
Change-Id: I16ae386dbdaf14f9a2b85e4c5d1aaa6c08f52a45
|
|
enable loongson mmi optimization: ../configure --enable-mmi
Change-Id: I7792c3adeac1d5b573917d7857bba6c1cc05fea5
|
|
This reintroduces the fix:
https://chromium-review.googlesource.com/c/422807/
and later reverted here:
https://chromium-review.googlesource.com/c/447843/
BUG=webm:1355
This time behind a compile time flag :
configure --disable-always_adjust_bpm
configure --enable-always_adjust_bpm
This should make side by side testing easier and let users of the
lib pick which way they want to go.
Change-Id: I7d7b37b83015dc001810af84c132cbc1e71ba8d6
|
|
Change-Id: I36de79c58461907deaea70d6131da9119bc0bc69
|
|
BUG=webm:1428
Change-Id: Iba98aef1159724d106cf39b94d7b69843d76cd48
|
|
Change-Id: I4041f3fc4aabc7a2251c44c75a477b659284c3cf
|
|
this belonged to vp10 with the changes now migrated to av1.
Change-Id: Ie30ead3e7b71f465bc14136e1b6f156ea978c43f
|
|
Change-Id: Iec2430966f54e2e5ba79f6bb703f47adde46479f
|
|
Add ppc, ppc64 and ppc64le on all_platforms and ARCH_LIST
Add VSX flags and check for -mvsx
Define empty setup_rtcd_internal
Add Altivec detection based on:
http://freevec.org/function/altivec_runtime_detection_linux
Detect VSX at runtime when enabled
Change-Id: I304f4d8c5fee0ff19b6483cd2e9cc50d6ddec472
Signed-off-by: Rafael de Lucena Valle <rafaeldelucena@gmail.com>
|
|
BUG=webm:1367
Change-Id: I3000b6d9f93ec49ca86d08151348d33d86bf0034
|
|
Change-Id: Icc3e5aaa6636ffe17dc9da5f7a80afaccbde509a
|
|
provides msvc-like warnings for implicit conversions from 64-bit to
32-bit types
--enable-vp9-highbitdepth still requires some work
this also skips CXXFLAGS for now as some work would be needed to cleanup
third_party/*.cc or split it from test/*.cc where it comes to flags.
Change-Id: Ic9a095b73286eba5ed39bfc27ff69593748cbbf4
|
|
Suppress warnings in third_party/.
vp8 -Wclobbered issue is tracked here:
BUG=webm:1246
BUG=webm:1069
Change-Id: I9b94bf546d7b690c26a59ae67967facdce8ec45b
|
|
The referenced bug was fixed by saving neon registers. That this had any
effect was coincidental.
Both chromium and Android build with clang and neither uses this flag.
Change-Id: I470247d6fd9226fc207b42a187105581a94badc3
|
|
BUG=webm:1258
Change-Id: Iea142f7b0df0e047720e8c5362464932de57d564
|
|
BUG=webm:1069
Change-Id: I43728f9fd007542718a55d5fdcbc63a8d2f86682
|
|
Change-Id: I1fa81cc9cabf362a185fc3a53f1e58de533a41e5
|
|
supported by clang, gcc-4.9+
Change-Id: I893766de7307fef9a8b68c0cfae137c9d3b0dbe8
|
|
Change-Id: I7f6cb446cd3ac57ac39835cf065d9501a66acd5b
|
|
BUG=b:29583530
Change-Id: I59a1192142e89a6a36b906f65a491a734e603617
|
|
inadvertently lost in the final patchset of:
078dff7 configure: remove old visual studio support (<2010)
this prevents an empty CONFIG_VS_VERSION and avoids make failure
Change-Id: I529d52eca59329e2715309efd63d80f0e1fed462
|
|
BUG=b/29583530
Change-Id: If08ce6ca352f377ac4db6b9b1909b507bba6d872
|
|
Allows building simple targets with sane default flags.
For example, using the Android arm64 toolchain from the NDK:
https://developer.android.com/ndk/guides/standalone_toolchain.html
./build/tools/make-standalone-toolchain.sh --arch=arm64 \
--platform=android-24 --install-dir=/tmp/arm64
CROSS=/tmp/arm64/bin/aarch64-linux-android- \
~/libvpx/configure --target=arm64-linux-gcc --disable-multithread
BUG=webm:1143
Change-Id: I06f5a7564f5382cf1a4bad41aef4308566c53adf
|
|
|
|
development has moved to the nextgenv2 branch and a snapshot from here
was used to seed aomedia
BUG=b/29457125
Change-Id: Iedaca11ec7870fb3a4e50b2c9ea0c2b056a0d3c0
|
|
Change-Id: I38f7684969f12a624980f4e06698379a49e61bdf
|
|
Each time a codec is enabled or disabled with the umbrella
--enable-vpN flag, set the encoder and decoder configurations as well.
This was done as a post-processing step but doing that lost the order of
the arguments.
BUG=webm:1205
Change-Id: Ic629bfdd06acc04bc5a7227309f36bba54dad8b1
|
|
Also allows use of --enable-shared when configuring for Mac OS X,
producing a bare .dylib.
Enabling the shared framework bumps the iOS deployment target to 8.0,
the minimum required to support dynamic framework deployment in apps.
When not using --enable-shared, a static library for iOS 6.0+ will still
be built.
Minimum version settings have been moved into ios-version.sh so they
can be updated in a single place.
As with the static build, unless header search paths are manually
tweaked, users must add a VPX prefix on includes, such as:
#include <VPX/vpx/vpx_decoder.h>
A module map for headers is not yet included as inttypes.h is not
modular; this means that VPX cannot be used directly in Swift code,
but can still be pulled in through an Objective-C wrapper.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1092
Change-Id: I28fb06ce65e48ed167a88c14a7bfb2861989317e
|