James Yu
aeeaa67987
VP9 common for ARMv8 by using NEON intrinsics 15
...
Re-write
- vp9_lpf_horizontal_4_dual_neon
in vp9_loopfilter_16_neon.c
Change-Id: Ie14f63d352f9564ad01db3939a61d91cf6d21a31
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-16 20:00:26 -08:00
Johann
ebc1951c7c
Merge "Use defines for inline and __builtin_prefetch"
2014-12-16 18:04:04 -08:00
Johann
4f7060a431
Merge "VP9 common for ARMv8 by using NEON intrinsics 16"
2014-12-16 16:15:48 -08:00
Johann
2fdbf70d40
Use defines for inline and __builtin_prefetch
...
These were established for compatibility. Make sure to use them.
Most frequently they manifest as issues on Visual Studio builds.
Change-Id: I39d764d2eb341b999d7a6132cb44b2acfc511160
2014-12-16 15:21:19 -08:00
Frank Galligan
5fdd0f1fe0
Merge "Revert "Revert "Add support for setting byte alignment."""
2014-12-16 15:14:17 -08:00
James Yu
aa8dd897c1
VP9 common for ARMv8 by using NEON intrinsics 16
...
Add vp9_reconintra_neon.c
- vp9_v_predictor_4x4_neon
- vp9_v_predictor_8x8_neon
- vp9_v_predictor_16x16_neon
- vp9_v_predictor_32x32_neon
- vp9_h_predictor_4x4_neon
- vp9_h_predictor_8x8_neon
- vp9_h_predictor_16x16_neon
- vp9_h_predictor_32x32_neon
- vp9_tm_predictor_4x4_neon
- vp9_tm_predictor_8x8_neon
- vp9_tm_predictor_16x16_neon
- vp9_tm_predictor_32x32_neon
Change-Id: Ib5d54a4766a1b5127169045659974f33aa98376d
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-16 12:57:52 -08:00
James Yu
ba05a4c640
VP9 common for ARMv8 by using NEON intrinsics 19
...
Delete vp9_dc_only_idct_add_neon.c
The function was merged with vp9_short_idct4x4_1_add (later
vp9_idct4x4_1_add) in d2de1ca and should have been deleted then.
Change-Id: Ie58ba3dd9dc7330a8f1238dd7dd71c9ed4639b94
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-16 11:14:12 -08:00
JackyChen
e7bad92689
Fixed MFQE crash issue for highbit depth.
...
Check the flags, no MFQE for highbit now. Will add highbit support
latter.
Change-Id: I548c27593e0f47ab7f4c92b45f14fb037dc86591
2014-12-16 10:07:38 -08:00
Yaowu Xu
b60ae45f36
Merge "Prevent decoder from using uninitialized entropy context."
2014-12-16 09:30:24 -08:00
Jim Bankoski
abc5a66770
Merge "Fix the comments."
2014-12-16 06:25:01 -08:00
Johann
1d059fa23e
Merge "VP9 common for ARMv8 by using NEON intrinsics 06"
2014-12-15 14:49:33 -08:00
Johann
37ea1e1218
Merge "VP9 common for ARMv8 by using NEON intrinsics 05"
2014-12-15 14:48:53 -08:00
Frank Galligan
c4f7079ad4
Revert "Revert "Add support for setting byte alignment.""
...
This reverts commit 91471d6aad285ff10e7582e485d8adadd1986fe2.
Fixes the compile issues if post_proc is enabled.
Change-Id: Ib40a15ce2c194f9b5adfa65a17ab01ddf60f5a59
2014-12-15 12:20:37 -08:00
James Yu
4f856cd7fa
VP9 common for ARMv8 by using NEON intrinsics 06
...
Add vp9_iht8x8_add_neon.c
- vp9_iht8x8_64_add_neon
The assembly did not previously implement tx_type 0
BUG=716
Change-Id: Icfc99dd24f3d59047f9184a7d0c761ba7e3de934
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-15 12:18:06 -08:00
James Yu
6b71013277
VP9 common for ARMv8 by using NEON intrinsics 05
...
Add vp9_iht4x4_add_neon.c
- vp9_iht4x4_16_add_neon
The assembly did not previously implement tx_type 0
BUG=715
Change-Id: I60034d1568de034edba45c5cdd13f3d87dbc73b6
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-15 12:16:19 -08:00
James Zern
8d558f2ca5
Merge "vp9/MACROBLOCKD: reorder struct members"
2014-12-15 11:54:51 -08:00
Paul Wilkins
91471d6aad
Revert "Add support for setting byte alignment."
...
Fails to compile. Bad calls to vp9_alloc_frame_buffer
and vp9_realloc_frame_buffer in postproc.c
This reverts commit 399823b6f50fb7465f62822d1395e2192e7b07fc.
Change-Id: I29f0e173f8e185d3a303cfdb17813e1eccb51e3a
2014-12-15 11:54:13 +00:00
James Zern
c58c579ec4
vp9/MACROBLOCKD: reorder struct members
...
improves locality of reference
Change-Id: I0639b98bf38879f918173b3a1b25dd93090e88b4
2014-12-12 18:01:24 -08:00
Frank Galligan
9c2601eb68
Merge "Add support for setting byte alignment."
2014-12-12 15:47:11 -08:00
James Zern
89ee8923a8
Merge "Remove redundant loads on 1d16_v8 filter."
2014-12-12 14:32:52 -08:00
James Zern
f82d7fd854
Merge "Remove redundant loads on 1d8_v8 filter."
2014-12-12 14:32:26 -08:00
James Zern
4d40a046da
Merge "vp9: move encoder-only member from common"
2014-12-12 14:28:55 -08:00
James Zern
2bf4b4852f
Merge changes Id6421838,I37499329
...
* changes:
vp9: make postproc members depend on CONFIG_VP9_POSTPROC
vp9_postproc: remove redundant CONFIG_* checks
2014-12-12 14:27:56 -08:00
Frank Galligan
399823b6f5
Add support for setting byte alignment.
...
Add support for setting byte alignment on the Y, U, and V plane of the
reference buffers. The byte alignment must be a power of 2, from 32 to
1024. A value of 0 sets legacy alignment.
Change-Id: I7c1399622f7aa68e123646369216b32047dda73d
2014-12-12 13:34:36 -08:00
Frank Galligan
6a24dbd71f
Remove redundant loads on 1d16_v8 filter.
...
This CL showed about a 3% gain in performance on some systems.
Change-Id: Id27e7e0b8e69068aa364e67859436da852669250
2014-12-12 11:48:47 -08:00
Frank Galligan
44ee777905
Remove redundant loads on 1d8_v8 filter.
...
This CL showed a modest gain in performance on some systems.
Change-Id: Iad636a89a1a9804ab7a0dea302bf2c6a4d1653a4
2014-12-12 11:34:24 -08:00
James Zern
72ece1308b
vp9: move encoder-only member from common
...
allow_comp_inter_inter VP9_COMMON -> VP9_COMP
Change-Id: I6d9dc25d1cdd7e2ab62f5be69cd9fa883d21dbb6
2014-12-12 11:17:44 -08:00
James Zern
ef06de33fe
vp9: make postproc members depend on CONFIG_VP9_POSTPROC
...
Change-Id: Id64218386968cee3132269e4a0572650f20fd980
2014-12-12 11:17:17 -08:00
James Zern
890f7bedf3
vp9_postproc: remove redundant CONFIG_* checks
...
the entire module is wrapped in CONFIG_VP9_POSTPROC which is forcibly
enabled with CONFIG_INTERNAL_STATS
+ a similar change in vp9_alloccommon.c
Change-Id: I374993297a9fba5bef2f0b71f984eba42f0995a3
2014-12-12 11:17:16 -08:00
James Zern
d456ccbc9d
vp9_loopfilter_mmx: remove some unused tables
...
Change-Id: I964d25cc91c8e4864d73b142d9c7a1b39cb6cfbb
2014-12-12 11:16:24 -08:00
JackyChen
3425d6c83e
Merge "Multiframe Quality Enhancement(MFQE) in VP9."
2014-12-11 16:24:08 -08:00
Alexander Voronov
6c6a97814f
Prevent decoder from using uninitialized entropy context.
...
If decoding starts with intra-only frame, there is a possibility
of using uninitialized entropy context, what leads to undefined
behavior.
Change-Id: Icbb64b5b1bd1e5de2a4bfa2884e56bc0a20840af
2014-12-11 20:44:19 +03:00
Peter de Rivaz
5c22224e9e
Corrected optimization of 8x8 DCT code
...
The 8x8 DCT uses a fast version whenever possible.
There was a mistake in the checking code which
meant sometimes the fast version was used when it
was not safe to do so.
Change-Id: I154c84c9e2d836764768a11082947ca30f4b5ab7
(cherry picked from commit fd05fb0c21e253b4d6f92d7e0b752850ff8ab188)
2014-12-11 09:42:57 -08:00
JackyChen
7ac3e3c1d6
Multiframe Quality Enhancement(MFQE) in VP9.
...
It is the first version of MFQE in VP9. There are a few TODOs included
in this version.
Usage: Add flag --enable-vp9-postproc to config the project.
In decoder, use flag --mfqe in the command line to enable
MFQE in postproc.
Note: Need to have key frame with low quality to see the effect of this
new patch. In my experiment, I fixed the qindex to 200 in key frame.
Change-Id: I021f9ce4616ed3574c81e48d968662994b56a396
2014-12-11 09:19:39 -08:00
James Yu
3f7c12dab9
VP9 common for ARMv8 by using NEON intrinsics 18
...
Add vp9_idct32x32_add_neon.c
- vp9_idct32x32_1024_add_neon
Change-Id: Ic598b772c28bd3487a8ead7a4598a66b25f9b00f
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10 18:20:04 -08:00
James Yu
3cfed4bf76
VP9 common for ARMv8 by using NEON intrinsics 14
...
Add vp9_idct16x16_add_neon.c
- vp9_idct16x16_256_add_neon_pass1
- vp9_idct16x16_256_add_neon_pass2
- vp9_idct16x16_10_add_neon_pass1
- vp9_idct16x16_10_add_neon_pass2
Change-Id: I54d25b54a36f4371760f54e4036693aaea40a5de
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10 18:19:54 -08:00
James Yu
ce76aeb00d
VP9 common for ARMv8 by using NEON intrinsics 13
...
Add vp9_idct8x8_add_neon.c
- vp9_idct8x8_64_add_neon
- vp9_idct8x8_10_add_neon
Change-Id: I6ee7b4496765aa36ed52990f2ef73e9f24459610
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10 14:56:54 -08:00
James Yu
8c25f4af6a
VP9 common for ARMv8 by using NEON intrinsics 12
...
Add vp9_idct4x4_add_neon.c
- vp9_idct4x4_16_add_neon
Change-Id: I011a96b10f1992dbd52246019ce05bae7ca8ea4f
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10 14:49:59 -08:00
James Yu
420f58f2d2
VP9 common for ARMv8 by using NEON intrinsics 11
...
Add vp9_idct16x16_1_add_neon.c
- vp9_idct16x16_1_add_neon
Change-Id: I7c6524024ad4cb4e66aa38f1c887e733503c39df
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10 13:06:58 -08:00
James Yu
030ca4d0e5
VP9 common for ARMv8 by using NEON intrinsics 10
...
Add vp9_idct32x32_1_add_neon.c
- vp9_idct32x32_1_add_neon
Change-Id: If9ffe9a857228f5c67f61dc2b428b40965816eda
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10 13:04:29 -08:00
James Yu
2772b45ac0
VP9 common for ARMv8 by using NEON intrinsics 09
...
Add vp9_idct8x8_1_add_neon.c
- vp9_idct8x8_1_add_neon
Change-Id: I9d23e01fa96013febbf64db6c76c6c955f14e3ff
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10 12:52:33 -08:00
James Yu
9114f0afdb
VP9 common for ARMv8 by using NEON intrinsics 08
...
Add vp9_idct4x4_1_add_neon.c
- vp9_idct4x4_1_add_neon
Change-Id: Ieab9af107dbd07a4f9503bc945890c90faccb8ac
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10 12:49:28 -08:00
James Yu
01fc6f51e0
VP9 common for ARMv8 by using NEON intrinsics 07
...
Add vp9_convolve8_neon.c
- vp9_convolve8_horiz_neon
- vp9_convolve8_vert_neon
Change-Id: I0bdd99ff72d275223fe211ac7243c25a5a60cf87
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-09 20:03:07 -08:00
James Yu
893534a996
VP9 common for ARMv8 by using NEON intrinsics 04
...
Add vp9_convolve8_avg_neon.c
- vp9_convolve8_avg_horiz_neon
- vp9_convolve8_avg_vert_neon
Change-Id: I617971e37b02186fec5aca181f4f9622050ea2df
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-09 20:03:07 -08:00
James Yu
d12757f5c6
VP9 common for ARMv8 by using NEON intrinsics 03
...
Add vp9_copy_neon.c
- vp9_convolve_copy_neon
Change-Id: I291fc5423d06240876411bbceab03eae5ef585be
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-09 20:02:46 -08:00
Scott LaVarnway
617382a2e3
VP9 common for ARMv8 by using NEON intrinsics 02
...
Add vp9_avg_neon.c
- vp9_convolve_avg_neon
Change-Id: Id2c9d5bcfa37cff1a16417aba1656ff07bdf10fd
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-09 19:00:21 -08:00
hkuang
4eee74d6ed
Fix clang ioc warning due to NULL src_mi pointer.
...
The warning only happens in VP9 encoder's first pass due to src_mi
is not set up yet. But it will not fail the encoder as left_mi and
above_mi are not used in the first_pass and they will be set up again
in the second pass.
Change-Id: I12dffcd5fb1002b2b2dabb083c8726650e4b5f08
2014-12-09 14:32:48 -08:00
James Yu
5b098b1825
VP9 common for ARMv8 by using NEON intrinsics 01
...
Add vp9_loopfilter_neon.c
- vp9_lpf_horizontal_4_neon
- vp9_lpf_vertical_4_neon
- vp9_lpf_horizontal_8_neon
- vp9_lpf_vertical_8_neon
Change-Id: I97a0d7b399a431c21ee77396be3d5f5a1f7ebccb
Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-09 12:26:56 -08:00
Yunqing Wang
cddbdeabd0
Merge "SSSE3 Optimization for Atom processors using new instruction selection and ordering"
2014-12-08 13:34:54 -08:00
James Zern
c38d0490b3
Merge "Changes to assembler for NASM on mac."
2014-12-08 12:55:06 -08:00