Age | Commit message (Collapse) | Author |
|
* changes:
clang-format v5.0.0 vp9/
remove spurious comments
clang-format v5.0.0 vp8/
clang-format v5.0.0 vpx_dsp/
clang-format v5.0.0 mem_ops.h
clang-format v5.0.0 vpx_util/vpx_atomic.h
clang-format v5.0.0 y4minput.c
clang-format v5.0.0 vpxenc.c
clang-format v5.0.0 examples/
clang-format v5.0.0 test/
|
|
These don't appear to make any sense given their context. The
commit log also does not reveal anything.
Discovered due to spurious clang-format indenting:
https://bugs.llvm.org/show_bug.cgi?id=35930
Change-Id: I732a66056ba4c05e3e132a2f236fe10f7a282900
|
|
For the vp8 simulcast/multi-res-encoder:
Add flags to keep track of the disabling/skipping of
streams for the multi-res-encoder. And if the lower spatial
stream is skipped for a given stream, disable the motion
vector reuse for that stream.
Also remove the condition of forcing same frame type
across all streams.
This fix allows for the skipping/disabling of the base
or middle layer streams.
Change-Id: Idfa94b32b6d2256932f6602cde19579b8e50a8bd
|
|
At least the changes that don't conflict with 4.0.1
Change-Id: I9b6a7c14dadc0738cd0f628a10ece90fc7ee89fd
|
|
swap '{' and c-style comments removing a few redundant ones along the
way; covers most leftovers from the clang-tidy run against an
x86_64-linux config.
Change-Id: I67a45596f80a12389faca49c5be440875092a7df
|
|
Disable cyclic refresh if ROI is used and add flag to properly handle
the static_thresh deltas.
Remove the ROI test for cyclic refresh (it's allowed but disabled if ROI
is used).
Add an example in vpx_temporal_svc_encoder.c. Turned off by default.
BUG=webm:1470
Change-Id: Ief9ba1d7f967bc00511b412b491c3f70943bfbda
|
|
Makes main thread wait for the filter level to be picked to avoid a race
between the LPF thread and update_reference_frames(). This also
re-enables the failing tests under thread_sanitizer where this data race
was detected.
BUG=webm:1460
Change-Id: I7f5797142ea0200394309842ce3e91a480be4fbc
|
|
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 legacy vp8/9_write_yuv_frame to vpx_write_yuv_files.
Delete some flags that can be enabled during build.
To enable writing denoised YUV, use the following command line:
CFLAGS='-DOUTPUT_YUV_DENOISED' ./configure
--enable-vp9-temporal-denoising
For skinmap, use CFLAGS='-DOUTPUT_YUV_SKINMAP'
Change-Id: I236974ac8b3cf279d20c4dc7f6162d8b480b6528
|
|
For 1 pass CBR mode:
Apply the logic for dropping (and re-adjusting rate control)
due to large overshoot to the case of non-screen content when
drop_frames_allowed is enabled.
For the non-screen content case: add additional condition that
rate correction factor is close to minimum state, and flag to
constrain the frequency of the dropping.
Also handle the case of temporal layers and multi-res encoding.
Add some flags/counters to the layer context for temporal layers.
For multi-res: drop due to overshoot is checked on lowest stream,
and if overshoot is detected we force drops on all upper streams
for that frame.
This feature is to avoid large frame sizes on big content
changes following low content period.
No change in behavior for screen_content_mode = 2.
Change-Id: I797ab236cbbf3b15cad439e9a227fbebced632e6
|
|
Neutral on RTC metrics and speed on Pixel.
Change-Id: I26b907483fe133e6e4c1009d147631f0d0e0f2fb
|
|
Use the computed skinmap.
Change-Id: I8aabb5922ef5190ec85b9e01807cb79b4803b925
|
|
|
|
Get ready for other uses (i.e. cyclic refresh).
Then use it when needed.
Change-Id: Id0519a9921045e5fb7f3badb54e9f04e903f28f9
|
|
quiets -Wmissing-prototypes
Change-Id: Iffa77467720affe030de5335e9335232b9e70af1
|
|
quiets -Wmissing-prototypes
Change-Id: Ic24164aa1f86fe99a493a633d64606e6f44ecdc1
|
|
quiets -Wmissing-prototypes in encodeframe.c
Change-Id: Ic216d0bdd6130eac44f2183639a715b2f1088ebe
|
|
quiets -Wmissing:prototypes
Change-Id: I835a80eddca2b16280780e18558c321df3272c43
|
|
BUG=webm:1438
Change-Id: I5feb31c254d02e116e624cfe702e73ba5a1f7aca
|
|
some build systems have trouble with duplicate basenames.
vpx_dsp/skin_detection.[hc] were added in:
658e85425 Merge skin detection code in vp8/9.
BUG=webm:1438
Change-Id: Ieaa70b40bda409ec23e6d179b47a930ac6243b05
|
|
Change-Id: Ib3546032a27c715bf509c0e24d26a189bc829da8
|
|
BUG=webm:1438
Change-Id: Ie3dc034c7dbb498a0b088a767b1936ddeed4df14
|
|
For both vp8 and vp9.
BUG=webm:1437
Change-Id: Ifd06f68a876ade91cc2cc27c574c4641b77cce28
|
|
Change-Id: Ica1b4e918aa759cd0ce65920f9d88452bbf9e3b4
|
|
10.""
This reverts commit 3704807805895850671261fa4470f1ce41dd2ac9.
Reason for revert: <INSERT REASONING HERE>
Does not look to be the cause of the test failures.
Original change's description:
> Revert "vp8: Real-time mode: reduce mode_check_freq thresh for speed 10."
>
> This reverts commit 4a7424adba7a65766a92635dc67b6e7d94646693.
>
> Reason for revert: <INSERT REASONING HERE>
> Possibly causing test failures in roll into chromium.
>
> Original change's description:
> > vp8: Real-time mode: reduce mode_check_freq thresh for speed 10.
> >
> > Reduces quality regression at speed 10 for real-time mode.
> >
> > Change-Id: I9f624bea9ca262dab32ce9de7d6d91175d6becc8
> >
>
> TBR=marpan@google.com,builds@webmproject.org,jianj@google.com
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Change-Id: I1defcb74e78a5a3bd29b7d1b21a96a79fa26a457
>
TBR=marpan@google.com,builds@webmproject.org,jianj@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I13d86a2a68b8aa8c0c7465e6e58cff0e00bc7862
|
|
This reverts commit 4a7424adba7a65766a92635dc67b6e7d94646693.
Reason for revert: <INSERT REASONING HERE>
Possibly causing test failures in roll into chromium.
Original change's description:
> vp8: Real-time mode: reduce mode_check_freq thresh for speed 10.
>
> Reduces quality regression at speed 10 for real-time mode.
>
> Change-Id: I9f624bea9ca262dab32ce9de7d6d91175d6becc8
>
TBR=marpan@google.com,builds@webmproject.org,jianj@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I1defcb74e78a5a3bd29b7d1b21a96a79fa26a457
|
|
Reduces quality regression at speed 10 for real-time mode.
Change-Id: I9f624bea9ca262dab32ce9de7d6d91175d6becc8
|
|
BUG=webm:1402
Change-Id: Ibe9ecb1b559a4b989f6ccedbd097e369f6edde1e
|
|
Change-Id: I75e4a9e0b37bd4586f26c8d6c1fa27f3f6ff1bce
|
|
Clears up static clang analysis warning regarding divide by zero.
Trying to explain to the compiler how it's impossible to avoid
incrementing num_blocks at least once is difficult.
Change-Id: Ibaae43be572e5cd7a689b440dcd341c17d33443b
|
|
Where clang static analysis or gcc -Wmaybe-uninitialized warns of
uninitialized values, assign 0 to ints, MB_MODE_COUNT to
MB_PREDICTION_MODE, and B_MODE_COUNT to B_PREDICTION_MODE.
Assert that the modes have been changed from the invalid value by
the end of the function.
Change-Id: Ib11e1ffb08f0a6fe4b6c6729dc93b83b1c4b6350
|
|
Reapply this patch:
ff0107f Amend and improve VP8 multithreading implementation
Amended the patch to add a unit test, and fix an asan error.
BUG=webm:851
Change-Id: I6572c03256169c64e80248bf5a5e99f59a2fc93c
|
|
Change-Id: I2d45a6eb3aaca97eb61e8e7ef9e5114221091244
|
|
In 1 pass CBR, with error_resilience off, allow for
special logic to change the default gf behaviour.
In this CL: boost is turned off and the gf period
is set to a multiple of cyclic refresh period.
Change only affect 1 pass CBR mode, i.e, when the flag
gf_update_onepass_cbr is set.
Including the previous change (3ec8e11: to allow cyclic refresh
for error_resilience off), comparing metrics on RTC set for
error_resilience off vs on: avgPSNR/SSIM up by ~6%.
Change-Id: Id5b3fb62a4f04de5a805bd1b418f2b349574e0bc
|
|
This reverts commit a7456144ce0ab98e015548dd7cda4165ad2a800c.
Change-Id: I400987fb26a09e9b9ea42c91f48ea12f7bc37356
|
|
This reverts commit 891a87dccddfbb9fd625f4b32aa17ae3501f30a6.
Change-Id: I067b3b6a3cfb5bc760166999948b8087d4c5cb80
|
|
after:
955b3b6 vp8: Allow for cyclic refresh even if error_resilience it off.
Change-Id: Iba189b18c84be8f5140754280c6801cfc387cfcd
|
|
cyclic_refresh was tied to error_resilience mode.
Allow it to be on also for 1 pass CBR mode even if
error_resilience is off.
Other option to use new control for this, but prefer to avoid
that for now.
Change-Id: I3625b292ee059a890e31338b514e211bf0ab5c3e
|
|
|
|
BUG=b/31780679
Change-Id: I2b2a43b154eeacb4f51a11f6362cc535cfe318da
|
|
Use vpx_clear_system_state instead.
Change-Id: Ia3e9122f69a2c690ddd7c7bc54f92ccb9ec18b3e
|
|
similar to changes that were done in vp9 for encoded frame size
reporting. has the side-effect of quieting a -Wshorten-64-to-32 warning.
Change-Id: I89f74cb617fc29334ee351dc8dfaa3b8cfd4e5af
|
|
this code is similar to other existing uses and/or vp9
Change-Id: I56e646931379759d9f7332ea6d746060007c75ee
|
|
|
|
|
|
This corrects a formatting error introduced in:
I1e9d548ce445d29002f0c59ebfd3957a6f15e702
where spaces were used as delimiters instead of tabs.
The corresponding fix for vp10 is in
Ica3d625d6672b3c47e0e208b45eede29b9004030.
Change-Id: Ibc4eb8fd82e6b926ba259a679dc98557cadba9b1
|
|
Allow loopfilter to continue until encode_frame is completed.
Change-Id: I7bbccc3d409e263aab6a6ff24588d8b2a964a96e
|
|
This function only exists as a shortcut to subpixel variance with
predefined offsets. xoffset = 4 for horizontal, yoffset = 4 for vertical
and both for "hv"
Removing this allows the existing optimizations for the variance
functions to be called. Instead of having only sse2 optimizations, this
gives sse2, ssse3, msa and neon.
BUG=webm:1273
Change-Id: Ieb407b423b91b87d33c4263c6a1ad5e673b0efd6
|
|
This reverts commit c2fe9acceda922ca1d9f0d6185b340560b93597a.
This change break linux browser test in chromium:
https://build.chromium.org/p/chromium.webrtc/builders/Linux%20Tester
Change-Id: I226782fad480c17a99ec6c785ad93cf4ab88f0ae
|
|
Change-Id: I5bdfea7f51df1f1fa5d9c1597e96988acce6c2f2
|