Rather than having the adjustment in the leaf functions, do the
adjustment in the top-level function. Optimising compilers would
figure this out themselves as far as the functions are inlined, but
probably no further and this patch gives a slightly reduced object
code size.
Change-Id: I104750962f613fa665391c9b2a9e99bcc6f47f93
As part of 9cf0c9cde7 the buffering was made
to better handle 4:2:2, but that causes regressions in the tests, so we're
backing out part of it for now.
Change-Id: I9ca4cfeb159aa65514613989e3dcbc30f86ec5b2
Only 1 sample needs to be collected. Max of 8 neighbors are
used.
In LS estimation, the projection samples (sx, sy)->(dx, dy) are
intentionally smoothed by assuming 3 shifted versions
(sx, sy+n)->(dx, dy+n), (sx+n, sy)->(dx+n, dy), (sx+n,
sy+n)->(dx+n, dy+n) also contribute to the estimation.
For example, instead of using A[0] = sx^2, we use the sum of
squares of source x of four points, A[0] += 4sx^2+4*n*sx+n^2.
But computational cost wise, it does not add much overhead. Coding
gain is mostly same as the old version. If no smoothing is added,
will lose 0.3% on lowres.
Change-Id: I04be32cffa525f7dc8ee583c0bf211d7bdc6e609
Take all sub8x8 neighbors as 8x8 blocks and use mv assigned to
the last block.
Change of performance in AWCY
HL improved by 0.01%
LL improved by 0.06%
Change-Id: I55d3c5401222396d871f9157b62b3de29e5390b0
Also rebalance the iterations depending on the bitdepth, since this
made the high bitdepth tests very slow.
Change-Id: If02c52900875c01f662bc8ecf3b509d3b94529c5
Use a unified is_8x8_block_skip() to find if an 8x8 block is coded
in skip mode. This covers cases w/o cb4x4 mode turned on.
Change-Id: I94b72ca7cf0fadbb61bfaa8b97f482feb94fd0f2
Respect od_dering.c file as codec independent process. Take out
the changes the assume dependency on AV1 common data. No coding
stats change.
Change-Id: Ic4a9e6356469e0667f9765302a5e8b872589fc5d
The only reason for clpf_simd_kernels.h was to share the contents with
clpf_rdo_simd.h and clpf_simd.h, but clpf_rdo_simd.h is now removed.
Change-Id: I9132b2f397101069ab7d04065a215c662985e6ce
The high bitdepth was a direct translation of the low bit code, but
the tricks to keep 9 bit differences saturated within 8 bit are
redundant in high bitdepth, so the these were replaced with simpler
and more readable code.
Change-Id: I0710a1f1b9dcde8039d3dfa0f74cd2ea2b3bae27
A similar cleanup happened before, but the empty statements have since
reappeared. I added a check in 'specialize' subroutine to die whenever
such an empty specialize call is found, so that config+make would fail.
Change-Id: I300ca0f0b077c0aeca8096d6460d8fb1c364d9b9
When ext-inter and ref-mv are both enabled, this patch
allows the NEAR_NEARMV and NEW_NEWMV modes to pick from
the extended reference mv list, just like the NEARMV and
NEWMV modes can.
Change-Id: Ibcc9e19dba7779422c1c9589d5498159e83bf61e
performance characteristics in test environments vary, speed tests
should be for local performance testing. these can still be run with:
--gtest_filter=*TestSpeed* --gtest_also_run_disabled_tests
Change-Id: I96a05fe72336b7654ae832d3d2114dacc8203aa5
performance characteristics in test environments vary, speed tests
should be for local performance testing. these can still be run with:
--gtest_filter=*TestSpeed* --gtest_also_run_disabled_tests
Change-Id: I4c00ca6970ba7dc8387ee509e695ec922810c3ae
While building the decoder-only AV1, the unit tests need to be the ones
that only call decoder functions.
BUG=aomedia:395
Change-Id: Iac7b464aa222a177c06b2e037faa6717305cd59d
Handles a rare divisin by 0 case.
Also adds a check on global motion parameters to disable
if the parameters obtained are outside the range that the
shear supports. This fixes a rare assert failure.
Also changes the recode loop threshold somewhat.
Change-Id: I4c6e74b914ac653cd9caa0563d78b0a19a2a8627
Only blend with the first N neighbors at each side. If the size of
one dimenstion is 8/16/32/64, the max # of neighbors to overlap
with is 1/2/3/4.
Previously we disable obmc mode if there are too many neighbors.
Change of performance in AWCY, compared to disabling obmc if
at any side there are more than 2 overlappable neighbors.
HL improved by 0.02%
LL improved by 0.09%
Change-Id: I93d9a65c6c4aabf0b4a4946e2253d3e2ef21a662
This reverts commit c538d6815e.
Reason for revert: should be av1_fwd_txfm(), instead of fwd_txfm()
Change-Id: I58657e54eb0a1c20c930b32cd53b6d05493eb8f4