Age | Commit message (Collapse) | Author |
|
|
|
Removed functions:
* vp9_sad_16x16_mmx
* vp9_sad_8x16_mmx
* vp9_sad_16x8_mmx
* vp9_sad_8x8_mmx
* vp9_sad_4x4_mmx
Change-Id: Ic5174b93b64d65d846f0c11e72cab149e9472bc3
|
|
Adds config parameter vp9_highbitdepth, to support highbitdepth profiles.
Also includes most vpx level high bit-depth functions. However
encode/decode in the highbitdepth profiles will not work until
the rest of the code is in place.
Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
|
|
Removed functions:
* vp9_mse16x16_mmx
* vp9_get_mb_ss_mmx
* vp9_get4x4var_mmx
* vp9_get8x8var_mmx
* vp9_variance4x4_mmx
* vp9_variance8x8_mmx
* vp9_variance16x16_mmx
* vp9_variance16x8_mmx
* vp9_variance8x16_mmx
They all have SSE2 equivalent.
Change-Id: I3796f2477c4f59b35b4828f46a300c16e62a2615
|
|
|
|
Change-Id: Ia3be6b5a18e1ff6cc5c5f4d37e4a5d0972388308
|
|
Change-Id: I6d77a7c775c0482fd1f9bb03ea6f336dd2973fa0
|
|
|
|
|
|
|
|
In the current implementation of the encoder,
frame buffers may come from the wider set of
12 such buffers, and is not restricted to the
8 allowed as reference frames. This is only
an implementation detail and does not affect
the constraint of having a total of 8 reference
buffers overall.
Change-Id: I075f777146c2df49c275d89232933f8127235175
|
|
The test to determine if the mode info buffers need
to be resized when the frame size changes was
incorrect, as per bug 837.
By storing the size of the allocated data structure,
a simple test determines whether to allocate more
memory when the frame size changes.
Change-Id: I1544698f2882cf958fc672485614f2f46e9719bd
|
|
|
|
|
|
'ref_frame_map' is initialized to -1. avoids using an invalid index if
VP9_GET_REFERENCE/VP8_COPY_REFERENCE controls are issued after a decode
error.
Change-Id: I4599762c4d0b07a5943a72bf4a86ccb596cc062a
|
|
Change-Id: I4dc2cb255f4fe30998b6ee61184895dee9f5da8e
|
|
Replaced encoder and decoder functions to get a pointer
to a reference frame with a common function, vp9_get_ref_frame,
and simplified it.
Change-Id: Icb206fcce8caace3bfd1db3dbfa318dde79043ee
|
|
This was shadowing the use of error_resilient_mode, but with
the opposite sense.
Change-Id: Ie4d30263a304fe4b3e94f0c7741db6888cc6afd8
|
|
in the sub_pixel_*variance* function the dst is aligned to 16 bytes and not
to 32 bytes - now load unaligned data
Change-Id: I2e0b9745543697efc56fefa32857ea10117af135
|
|
A bug in Microsoft compiler was found in the function
vp9_filter_block1d16_v8_avx2 and a workaround applied.
the bug occur when there was 4 consecutive maddubs + min + adds
intrinsic instructions.
Change-Id: I83499faeb70971e650e5663fd2490360ddb1a51b
|
|
in the function sad32x32x4d and sad64x64x4d the source is aligned to 16 bytes
and not to 32 bytes - the load is now unaligned.
Change-Id: I922fdba56d0936b5cf72e4503519f185645a168c
|
|
|
|
|
|
Specifies the bit-depth, color sampling and colorspace
for intra only frames for profiles > 0
Also adds checks to ensure that profile 1 and 3 are
exclusively used for non 420 streams.
Change-Id: Icfb15fa1acccbce8f757c78fa8a2f60591360745
|
|
This commit adds a configure time option used to enable strict error
checking in decoder to make sure intermediate stage cofficients of
inverse transforms are within valid range of signed 16 bit integer.
For valid VP9 input streams, intermediate stage coefficients should
always stay within the range of a signed 16 bit integer. Coefficients
can go out of this range for invalid/corrupt VP9 streams. However,
strictly checking this range for every intermediate coefficient can
be a burden for decoder, therefore such validation is only enabled
with configure option --enable-coefficient-range-checking.
Change-Id: I47d47c8c4e48a922c3d223ca59064f51b3f0f5ed
|
|
Change-Id: Ic37624d807884e71f08b50fd04892f03f2708ba7
|
|
This configuration has moved to vp9_rtcd_defs.pl
Change-Id: I71a31dbb8d79df226b60dd834324a5af69956c51
|
|
Change-Id: Ie3e478ef4fa565225d9e19a14d2f40aad966c2b6
|
|
Change-Id: I1b3c5337f018dde27dc819ab18bd081d169a91e8
|
|
Change-Id: I2e2765b851fb0a1b15351c2aa0e079197cbee373
|
|
|
|
|
|
Change-Id: I5b050122e6ed183a5b33c1f38e4fbf63b6721062
|
|
|
|
|
|
vp9_variance8x8(), and vp9_get8x8var().
On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~1.2%.
Change-Id: I8a66ac2a0f550b407caa27816833bdc563395102
|
|
|
|
Change-Id: I3be8911121ef9a5f39f6c1a2e28f9e00972e0624
|
|
Change-Id: I991e36aa3cfa62aae6d27b253297dd9ca9e8bc12
|
|
Change-Id: Iaa40b472f6c1c48bb3bb47332b6fcf36d7f3c10e
|
|
On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~3.2%
Change-Id: I8862497264142171b7efc32df1a67714a23539f4
|
|
vp9_variance32x32(), and vp9_get32x32var().
Change-Id: I8137e2540e50984744da59ae3a41e94f8af4a548
|
|
On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~12.4%
Change-Id: Id29d215acf58bb108489e218a259adf74b4768d7
|
|
vp9_variance16x16(), and vp9_get16x16var().
On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~16.7%.
Change-Id: Ib163aa99f56e680194aabe00dacdd7f0899a4ecb
|
|
On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~3.7%.
Change-Id: I428c72c40df82c6d537955e320a8debf99343004
|
|
Remove all the redundant dct functions (dct4x4, dct8x8)
in avx2 except dct32x32 those functions were copied originally from dct_sse2
Change-Id: I742576fbf5175f3ac09f2076976a9247b259323e
|
|
This commit turns on the existing vp9_get_prob function using
64 bit in the intermediate step. It fixes the ioc issue for 4K
above frame sizes (issue 828).
Change-Id: I9f627f3beca2c522f73b38fd2a3e7eefdff01a7c
|
|
Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca
|
|
|
|
Separates HBD profile int two profiles (2 and 3) consistent with the
highbitdepth branch. This patch is ported from the original highbitdepth
branch patch: https://gerrit.chromium.org/gerrit/#/c/70460/
Two of the invalid file tests needed to be updated.
Change-Id: I6a4acd2f7a60b1fb4cbcc8e0dad4eab4248431e3
|