Age | Commit message (Collapse) | Author |
|
Set the proper number of mb_rows/cols.
Also remove warnings (unused variable) when configured with temporal-denoising disabled.
Change-Id: I8abd2372394ee55295feb87a66efd294ea6989d0
|
|
Fixed reported vs warnings/errors.
Change-Id: Ia4c44d64a69dbd9e1738c6ebb48be29582b7e1d3
|
|
|
|
C version and sse2 version, and off by default.
For the test clip used, the sse2 performance improved by ~5.6%
Change-Id: Ic2d815968849db51b9d62085d7a490d0e01574f6
|
|
Use break instead of goto for early exit. Unbreaks Visual Studio
builds.
Change-Id: I96dee43a3c82145d4abe0d6a99af6e6e1a3991b5
|
|
Change-Id: Ibd95df0adf9cc9143006ee9032b4cb2ebfd5dd1b
|
|
Change-Id: I95818754424e89f0d56c6d9c0c5709e6f84fa46a
|
|
|
|
Allow for an option to selectively apply the deblocking loop filter to the denoised
raw block, based on the denoised state (no-filter, filter with zero motion, or filter with non-zero motion)
of the current block and its upper and left denoised block.
This helps to reduce some blocking artifacts from the motion-compensated denoising.
Change-Id: I0ac4e70076df69a98c5391979e739a2681e24ae6
|
|
When building x86 assembly use lrand48 instead of the
undocumented inlined _rand function.
Android now supports rand()
https://android-review.googlesource.com/97731
but only for new versions. Original workaround:
https://gerrit.chromium.org/gerrit/15744
Change-Id: I130566837d5bfc9e54187ebe9807350d1a7dab2a
|
|
|
|
|
|
When this compiler flag is enabled, the encoder will write a denoised,
uncompressed, version of the input to denoised.yuv.
Change-Id: Ie0247f76b23219d95fe97dd70f23e097d742c249
|
|
Change-Id: I59ef7c49f72d2d40bbe5b56af11bdf5f9ae2f1b8
|
|
Change-Id: I0156d85671305326525c4644510e240021eca461
|
|
By enabling the OUTPUT_YUV_SRC compiler flag, the encoder will write the raw
input to bd.yuv.
The functionality was mostly implemented, but in its previous state did not
compile.
Change-Id: Ia331ad0f4c6e6f9f51e8d42cd33ba8cc146b3dbf
|
|
Now match the "C" version of "Fix to reduce block
artifacts from vp8 temporal denoiser."
(see change id Id9b56e59e33f3c22e79d2f89f763bdde246fdf3f)
Change-Id: I99e569bb6af4ae3532621127e12bf917a48ba08e
|
|
|
|
In the current logic, if the sse for zero motion is smaller
than the sse for new_mv (i.e., best_sse), we may still end up
using the non-zero mv for denoising (if the magnitude of new_mv is above threshold).
This can happen for very noisy content, and can lead to artifacts.
This change ensures that we always use zero_mv (over new_mv) for
denoisng if sse_zero_mv <= best_sse.
Change-Id: I8ef9294d837b077013b77a46c9a71d17c648b48a
|
|
|
|
Change-Id: I2b61c8c17ded1074dea92b4f6ad9be84d128b52a
|
|
|
|
|
|
|
|
If increase_denoising is set,
vp8_denoiser_filter_neon() produced incorrect results.
Change-Id: I645f78e48b8f6657fa8a4b69d2c4d3488a0581dc
|
|
Change-Id: I80630a7350e884ebc4fef73fb5b52ec25f908523
|
|
Fixes a bug introduced in
https://gerrit.chromium.org/gerrit/#/c/69779/13, where
uninitialized frame buffers due to corrupt and short
buffer sizes, may cause a crash.
This patch fixes the currently failing
video/processing/static_image/vp8_convert_test
Change-Id: I1b09e21482f292c11a2bfb4e570aef1d643410a7
|
|
If the denoiser filter causes too big a change in the absolute pixel difference
(between source and denoised signal), the block is not denoised, which can cause
visual block artifacts. This change applies a second adjustment to the temporal filter
to effectively allow for a (weaker) denoising for such blocks (which can keep
the absolute differnence within the tolerance range in most cases).
This helps to reduce some of the block artifacts from the denoising.
The additional cost of re-applying the filter to this set of blocks is low,
as the percentage of blocks per frame (with too big a change in absolute pixel difference)
is typically small, 2-5%.
Change-Id: Id9b56e59e33f3c22e79d2f89f763bdde246fdf3f
|
|
Renames all x86_64 specific assembly files to consistently
end in _x86_64.asm. This will be useful for build systems to
handle these files differently.
All new 64-bit specific assembly files should use the new
naming convention.
Change-Id: I36c89584967c82ffc4088b1b5044ac15d2bb7536
|
|
MMX variance code in vp8 was reading out of bounds..
TODO(JBB): The best fix would involve removing duplicate library
functions between vp8 and vp9...
Change-Id: I5722853a6a58d3b55257ff385fa54c773bf98ded
|
|
|
|
|
|
Change-Id: I96ed73e109c4f89dd06f3583cf7ecf9277401fae
|
|
These optimizations are currently disabled.
Change-Id: I19c58c9cb82d017638b86196641b9e001dfa798b
|
|
|
|
|
|
|
|
This reverts commit 7ab9a9587b96db4edce6be916c1f02297a9555ff
Nightly test http://build.webmproject.org/jenkins/view/libvpx-nightly-tests/job/libvpx%20unit%20tests%20(valgrind-2)/arch=x86_64-linux-gcc,filter=-*VP8*:*Large.*/276/console
Failed
This patch did not address all the assembly issues
some of the vp8 assembly counts on 5 arguments being passed in to this function:
one example : vp8_sad8x16_wmt
Please address or split this into vp9 and vp8 patches.
Change-Id: I78afcc171649894f887bb8ee3c66de24aaddc7ca
|
|
With the intrinsics it is no longer necessary to have a stub/helper
function.
Change-Id: I3695961c3c94f1bb750d3b7b29716e509ebba482
|
|
Allow disabling the more generic NEON code.
Use filtered option to disable rtcd code.
Change-Id: Icb4500c1a2bac16eed3c5e3ec0c35e92e6bbbb9f
|
|
commit 81ad047ee57ecb0e2c1ee4dcebda54a44ea54ae9. Revert "VP8 for ARMv8 by using NEON intrinsics 15" This reverts commit 727af7cebe3698b8493ba6c1360b0a6606c310fb."
|
|
|
|
This reverts commit 06e6d56fa138d84759e8bdfd4c721ead000051b4
Change-Id: If95598385b693945d6b144d03b6da8f6a57dac98
|
|
|
|
As a side-effect, the max_sad check is removed from the
C-implementation of VP8, for consistency with VP9, and to
ensure that the SAD tests common to VP8/VP9 pass.
That will make the VP8 C implementation of sad a little slower
but given that is rarely used in practice, the impact will be
minimal.
Change-Id: I7f43089fdea047fbf1862e40c21e4715c30f07ca
|
|
|
|
This reverts commit 81ad047ee57ecb0e2c1ee4dcebda54a44ea54ae9.
Revert "VP8 for ARMv8 by using NEON intrinsics 15"
This reverts commit 727af7cebe3698b8493ba6c1360b0a6606c310fb.
This exposes a bug in gcc 4.9 regarding register allocation. Will reland
when 4.9 is fixed.
Change-Id: I2d8a04e4edde93719280e41550f4c0765608ec4d
|
|
Allow selectively building just the intrinsics for armv8
Change-Id: I2f29b2e4508b8b8e5649c2906b3159ad1d4ec477
|
|
Some version of clang refuse 'asm volatile'
Change-Id: I79d909ac8ae3c04b608f20c6f10fa79b7f9fc8e0
|
|
|