Age | Commit message (Collapse) | Author |
|
this function is currently only used with range checked timestamp
values, but this documents the function's expectations in case it's used
elsewhere
Change-Id: I9de314fc500a49f34f8a1df3598d64bc5070248e
|
|
this prevents redefinition warnings if a toolchain sets one
BUG=b/117240165
Change-Id: Ib5d8c303cd05b4dbcc8d42c71ecfcba8f6d7b90c
|
|
- Save the initial user-specified timestamp and rebase all further
timestamps by this value. This makes libvpx internal timestamps to
always start from zero, regardless of the user's timestamps.
- Calculate reduced timestamp conversion ratio and use it to convert
user's timestamps to libvpx internal timestamps and back. The effect
of this is that integer overflow due to multiplication doesn't
happen for a much longer time.
BUG=webm:701
Change-Id: Ic6f5eacd9a7c21b95707d31ee2da77dc8ac7dccf
|
|
Change-Id: I045b4cf625d428109688303ced5433d824df2790
|
|
on CONFIG_BITSTREAM_DEBUG. this avoids an object file containing no
symbols which may cause warnings on some platforms.
Change-Id: I02af97d6970de949466c29f50d272733d97ee8d2
|
|
Change-Id: I339899cff65c7ef563f9411f2d7af9a32a08a705
|
|
usage was removed with:
c1b024b48 Modify map read/write to sync logic in row_mt case
Change-Id: I515fe397083079a4f11702e67c322fd04bdcf410
|
|
This reverts commit 06983668cf41f66765528db044419f954e5a5d64.
Fixes Visual Studio build errors introduced by earlier row mt commit
BUG=webm:1587
Change-Id: I792df86e8254cd6b2a511955b691af619a569cd0
|
|
_beginthread() is not declared on __STRICT_ANSI__ mode.
-----
[CXX] test/quantize_test.cc.o
In file included from ./vp8/common/threading.h:194:0,
from ./vp8/encoder/onyx_int.h:24,
from test/quantize_test.cc:24:
./vpx_util/vpx_thread.h: In function 'int pthread_create(TID*, const void*, void* (*)(void*), void*)':
./vpx_util/vpx_thread.h:259:20: error: '_beginthread' was not declared in this scope
tid = (pthread_t)_beginthread(thread_start, NULL, 1024 * 1024, targ);
^~~~~~~~~~~~
./vpx_util/vpx_thread.h:259:20: note: suggested alternative: 'thread'
tid = (pthread_t)_beginthread(thread_start, NULL, 1024 * 1024, targ);
^~~~~~~~~~~~
thread
-----
Change-Id: I774a071162b3876a7f3253ce7c5749f1b0b45818
|
|
Take the original loopfilter multi-thread optimization
(dafe064289a917977439ab6f4f002b9946496084) along with the fixes for bugs
1558 and 1562.
BUG=webm:1558
BUG=webm:1562
Change-Id: Ibbf6bd13f4ffff0e79184ccfd6b85a49e067a6d8
|
|
This reverts commit bf6299010e815e111d7326530c249e9d99611f34.
segfaults, causes an assertion failure with corrupt input:
get_uv_tx_size: Assertion `mi->sb_type < BLOCK_8X8 ||
ss_size_lookup[mi->sb_type][pd->subsampling_x][pd->subsampling_y] !=
BLOCK_INVALID
BUG=webm:1562
Change-Id: I05a711cad3d8e7f1a8e64422b4356bdf4edb3d12
|
|
use the recommended format [1] of:
<PROJECT>_<PATH>_<FILE>_H_
[1] https://google.github.io/styleguide/cppguide.html#The__define_Guard
"All header files should have #define guards to prevent multiple
inclusion. The format of the symbol name should be
<PROJECT>_<PATH>_<FILE>_H_."
Change-Id: I2e8ab0b32fb23c30fa43cff5fec12d043c0d2037
|
|
This reverts commit 753fd86e86ac727dccac88376260b8f54502f2a3.
This also has the fix for the DoS reported in bug 1558.
BUG=webm:1558
Change-Id: I65ea84e0c11d6bd40d8cb0587dfe934b3ac11dce
|
|
This reverts commit dafe064289a917977439ab6f4f002b9946496084.
Corrupted files may cause the decoder to hang as row progress in the
loopfilter is used to progress each thread.
BUG=webm:1558
Change-Id: I0674ce9af14d3fb7b2da8124e7b600616c8e734a
|
|
Adding LPF within the tileworker hook. This means that LPF will be done
immediately after decode, without waiting for all threads to sync.
Performance Improvement -
Platform Resolution 2 Threads 4 Threads
X86 720p 7.24% 22.04%
1080p 5.29% 17.02%
ARM 720p 4.61% 8.75%
1080p 5.55% 12.03%
x86 Improvement measured on Intel Core i7-6700 CPU @ 2.10GHz set
in performance with turbo mode off
ARM Improvement measured on Nexus 6 Snapdragon 805 Quad-core @ 2.65 GHz
Change-Id: Ifa73c71b40db3fa7fa16f54f4e3aa06d1258caae
|
|
Change-Id: Ie78676e4df75f3f870ee2de0c87a8167b7ec68e0
|
|
Allow*OnASingleLine appears to no longer apply to
typedef structs.
Change-Id: If10db1c30c74ee31dad1a0b1926964e850f15fd2
|
|
This header doesn't build on g++ v6 as it's a C and not C++ header
(_Atomic is not a keyword in C++11). Since the C and C++ invocations
cannot be guaranteed to point to the same underlying atomic_int
implementation, remove support for them and use compiler intrinsics
instead.
BUG=webm:1461
Change-Id: Ie1cd6759c258042efc87f51f036b9aa53e4ea9d5
|
|
Fixes issue on iPad Pro 10.5 (and probably other places) where threads
are not properly synchronized. On x86 this data race was benign as load
and store instructions are atomic, they were being atomic in practice as
the program hasn't been observed to be miscompiled.
Such guarantees are not made outside x86, and real problems manifested
where libvpx reliably reproduced a broken bitstream for even just the
initial keyframe. This was detected in WebRTC where this device started
using multithreading (as its CPU count is higher than earlier devices,
where the problem did not manifest as single-threading was used in
practice).
This issue was not detected under thread-sanitizer bots as mutexes were
conditionally used under this platform to simulate the protected read
and write semantics that were in practice provided on x86 platforms.
This change also removes several mutexes, so encoder/decoder state is
lighter-weight after this change and we do not need to initialize so
many mutexes (this was done even on non-thread-sanitizer platforms where
they were unused).
Change-Id: If41fcb0d99944f7bbc8ec40877cdc34d672ae72a
|
|
Change-Id: Ib3546032a27c715bf509c0e24d26a189bc829da8
|
|
_beginthreadex does not align the stack on 16-byte boundary as expected
by gcc.
On x86 targets, the force_align_arg_pointer attribute may be applied to
individual function definitions, generating an alternate prologue and
epilogue that realigns the run-time stack if necessary. This supports
mixing legacy codes that run with a 4-byte aligned stack with modern
codes that keep a 16-byte stack for SSE compatibility.
https://gcc.gnu.org/onlinedocs/gcc/x86-Function-Attributes.html
Change-Id: Ie4e4ab32948c238fa87054d5664189972ca6708e
Signed-off-by: Aleksey Vasenev <margtu-fivt@ya.ru>
|
|
Change-Id: Ie7eab608e2906b9a2b3533db95292ebc430ad377
|
|
BUG=b/29583578
original webp change:
commit d2afe974f9d751de144ef09d31255aea13b442c0
Author: James Zern <jzern@google.com>
Date: Mon Nov 23 20:41:26 2015 -0800
thread: use CreateThread for windows phone
_beginthreadex is unavailable for winrt/uwp
Change-Id: Ie7412a568278ac67f0047f1764e2521193d74d4d
100644 blob 93f7622797f05f6acc1126e8296c481d276e4047 src/utils/thread.c
100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h
Change-Id: Iade8fff6367b45534986c77ebe61abeb45bce0f8
|
|
BUG=b/29583578
original webp change:
commit 0fd0e12bfe83f16ce4f1c038b251ccbc13c62ac2
Author: James Zern <jzern@google.com>
Date: Mon Nov 23 20:40:26 2015 -0800
thread: use WaitForSingleObjectEx if available
Windows XP and up
Change-Id: Ie1a46a82722b8624437c8aba0aa4566a4b0b3f57
100644 blob d58f74e5523dbc985fc531cf5f0833f1e9157cf0 src/utils/thread.c
100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h
Change-Id: If165c38b378c6e0c55e17a1b071efd3ec3e7dcdd
|
|
BUG=b/29583578
original webp change:
commit 63fadc9ffacc77d4617526a50c696d21d558a70b
Author: James Zern <jzern@google.com>
Date: Mon Nov 23 20:38:46 2015 -0800
thread: use InitializeCriticalSectionEx if available
Windows Vista / Server 2008 and up
Change-Id: I32c5b4e5384d614c5a821ef511293ff014c67966
100644 blob f84207d89b3a6bb98bfe8f3fa55cad72dfd061ff src/utils/thread.c
100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h
Change-Id: I9ce49b3a86857267e504cd8ceab503b7b441d614
|
|
BUG=b/29583578
original webp change:
commit 110ad5835ecd66995d0e7f66dca1b90dea595f5a
Author: James Zern <jzern@google.com>
Date: Mon Nov 23 19:49:58 2015 -0800
thread: use native windows cond var if available
Vista / Server 2008 and up. no speed difference observed.
Change-Id: Ice19704777cb679b290dc107a751a0f36dd0c0a9
100644 blob 4fc372b7bc6980a9ed3618c8cce5b67ed7b0f412 src/utils/thread.c
100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h
Change-Id: Iede7ae8a7184e4b17a4050b33956918fc84e15b5
|
|
+ drop the blob hash, the updated reference will be updated in the
commit message
BUG=b/29583578
Change-Id: Ifabbe52a2f07ac29e1881f5c8a62d7f3eb3c2c04
|
|
With correction of a type of a thread function for new threading
codes.
Change-Id: Ic6dc9f530698800d1cfe2da327848e8f8b62e31f
|
|
Canonical builtin checks for clang are to use
__has_builtin. Much less fragile than version checks.
https://code.google.com/p/webm/issues/detail?id=1082
Change-Id: I8151fb75899acdf1a935c23aad9441da99a9abcd
|
|
when configuring with mips32-android-gcc HAVE_MIPS32 would be set, but the
ndk does not set -mips32r2 for APP_ABI=mips which results in BSwap32 failing
to build; refine the check in endian_inl.h
Change-Id: I22893fe61f29111eb902d961b500b2174596268d
|
|
Eliminates the byte by byte read from bool decoder, by reading
in a size_t and then shifting it into place.
Change-Id: I0ed8c7b6f942847e79cc90105dc1d2b5b3deb0d6
|
|
This reverts commit 9b4f9f45eee4d63cef3cd10f24923ed0bdd5ab7b.
Change-Id: I23545ac8c7464127f7466fc6a58de517874fe0cf
|
|
Eliminates the byte by byte read from bool decoder, by reading
in a size_t and then shifting it into place.
Change-Id: Id89241977103fc3b973e4ed172a5cbf246998e5d
|
|
Change the dir name to include more util tools.
Change-Id: Id5b16062803ce5eed872fe2edb36d7e56b32eed8
|