This fixes issue 667.
In the case where the frame was an odd number of pixels
wide or high, the border was being extended by one col
or row too far.
The calculation of color plane dimensions was modified
to use those already computed at the time the frame
buffer was allocated.
Also freed the temporary scaling buffer in vpxdec to
prevent a memory leak.
Change-Id: I195bc81d84c0fc5d8260c1232200d62399e4b51f
Although no mismatch was indicated for 8/16 wide sub-pixel filters
in issue 661, they had similar problems that could cause mismatch
potentially. This patch fixed calculations in HORIZx8/16
and VERTx8/16.
Change-Id: Ib85412d690bea5609a51f0e50e7c858406b8ff9e
Separate the rounding and right shift operations of forward transform
from those of inverse transform. Take out the assertion check from
inverse transforms. If the transform coefficients were constructed to
cause intermediate steps of inverse transform overflow, the codec will
just let it overflow without breaking the decoding flow.
Change-Id: Ia7ce15dfd1a73b4abbaa78cbc74ec718523c5b1b
In commit "3d50da5397d20abc932d81453b26cde758293a40", the stack
pointer was modified while aligning the stack, and it needed to
be pop out at the end.
Change-Id: I39e4adc6b8aa3379854dd264d41aa6f0f15c7953
This patch fixed issue 661: "Decoder produces mismatched outputs
with ssse3 enabled and disabled." In sub-pixel filters, a pixel
value was multiplied by a filter coefficient, and the results
were added up. The order of adding up these multiplications had to
be arranged carefully to prevent incorrect overflowing.
Change-Id: Ia78663dfe74a2d46900f1c6fb07c21fac273892f
VS2010 only supports avx. There is currently no avx code
in libvpx so don't create a special case for it.
Change-Id: I39a11410367712b98bc6122c5a42fabffcdb94cf
Upstream changes to account for differences in clang
syntax for Chromium iOS builds.
Since most of these are incompatible with XCode clang,
hide them behind a flag.
Change-Id: Idafcbcd4eb01b1ada6277da2d2edfd6c04b579fd
* Change from thumb mode to arm mode improves test time significantly
* Direct inclusion of test.mk allows for unit test configuration via
configure script
Change-Id: Id58d3ba8289374528756a672459d8334afe20e2a
Simplifies the code by implementing band mapping with static arrays.
A lot of the code complexity introduced in a previous patch
disappears.
Change-Id: Ia3fac36e594fb5ad2d55ae141c58bba4c55c2d28
This commit enables the unit tests for 4x4 DCT and ADST transforms.
It covers tests of round-trip error check, coefficient match check,
coefficient overflow check, and inverse accuracy check.
Change-Id: Ibfea928ee48f0ebc088b7fdb0bf2d89a14161299
The switch to the rate-correction damping factor
in https://gerrit.chromium.org/gerrit/#/c/67536/ was not conditioned on CBR mode.
Change-Id: I2326704e8ac030a4f7b592dd3fedb94c7dd0644d
The step that sums three input samples could potentially cause the
intermediate result go beyond 16 bit limit, when operating as the
second 1-D transform. This commit fixes the issue.
Change-Id: Iaf512449ac2d25ddd8a806d760afab362c62a516
Overall change (using dual buffer scheme for superblocks of both inter
and intra modes) reduces speed 2 runtime:
bluesky_1080p at 6000kbps: 263553ms -> 257441ms
riverbed_1080p at 8000kbps: 233230ms -> 225308ms.
Change-Id: Idf8d70f768a4b0d97b2a8506372c57b7b4022119