James Zern
f58011ada5
vpx_mem: remove vpx_memset
...
vestigial. replace instances with memset() which they already were being
defined to.
Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
2015-04-28 20:00:59 -07:00
James Zern
f274c2199b
vpx_mem: remove vpx_memcpy
...
vestigial. replace instances with memcpy() which they already were being
defined to.
Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c
2015-04-28 19:59:41 -07:00
Johann
14ef4aeafb
Reorganize *_rtcd() calling conventions
...
Change-Id: Ib1e17d8aae9b713b87f560ab5e49952ee2bfdcc2
2015-04-15 11:12:05 -04:00
James Zern
970acffa8f
multiframe_quality_enhance_block: remove dead stores
...
Change-Id: I33ca9cddfdd54c3d8a23c1cb978986a537a20bf2
2015-04-03 16:15:51 -07:00
James Zern
7b4f727959
vp8_print_modes_and_motion_vectors: remove dead stores
...
Change-Id: I438cbf4970fa2220fb73b0b41a29e654836d4e3b
2015-04-03 16:08:37 -07:00
Johann
bc98e93b53
Remove PPC build support
...
There are no functional optimizations for AltiVec/PPC
Change-Id: I6877a7a9739017fe36fc769be22679c65ea99976
2015-04-02 09:13:59 -07:00
Johann
eabb793f3b
Use correct buffer size in vp8 subpixel variance
...
In vp8_sub_pixel_variance8x8_neon the temp2 buffer is only initialized
to kHeight8 * kWidth8. However, in the case that xoffset != 0 and
yoffset == 0, var_filter_block2d_bil_w8 is called with output_width
kHeight8PlusOne.
Thanks to cmugurel for diagnosing and yulius for the patch.
Change-Id: Ib71ffd96ffad963c92b8b7ca23f303942785b8e0
https://code.google.com/p/webrtc/issues/detail?id=4190
2015-02-03 09:11:05 -08:00
Jim Bankoski
f4eab151c5
Revert "remove vp8 unused uvstride parm in simple loop filter"
...
This reverts commit 392a2c43c7
Failing nexus build tests:
http://build.chromium.org/p/client.libvpx/builders/Nexus%207%20Builder/builds/224
Change-Id: I95ae2c894b70cef9c757334fcab7fdeca9003e9c
2014-12-21 21:35:07 -08:00
Jim Bankoski
2c5dc477bf
Merge "remove vp8 unused uvstride parm in simple loop filter"
2014-12-21 16:49:45 -08:00
Johann
80b344dec5
Silence -Werror=unused-parameter
...
Cast away remaining issues so that new ones don't get lost in the noise.
Change-Id: Iacd6999b0686ce80f9835730d68db6382690fa92
2014-12-16 12:47:08 -08:00
Marco
af898b56bb
Various updates to vp8.
...
Change-Id: Icc7a816491897107764e4c936288e9000e6319b8
2014-12-03 16:01:28 -08:00
Johann
6eec73a747
Remove asm offset dependencies
...
The obj_int_extract code is no longer worth maintaining. It creates
significant issues when adapting for different build systems and no
longer offers as significant of a performance benefit due to
improvements in intrinsics.
Source files will remain until the various third-party builds are updated.
The neon fast quantizer has been moved to intrinsics. The armv6 version
has been removed because so few remaining targets require it.
Compilers and processors have improved significantly since the
pack_tokens code was written. The assembly is no longer faster than the
C code.
pack_tokens were the only optimizations for the armv5te targets so the targets
will be removed after the test infrastructure has been updated.
BUG=710
Change-Id: Ic785b167cd9f95eeff31c7c76b7b736c07fb30eb
2014-11-06 16:00:01 -08:00
Johann
2134eb2f05
Remove pair quantization
...
The intrinsics version of the pair quant is slower than running it
individually.
Change-Id: I7b4ea8599d4aab04be0a5a0c59b8b29a7fc283f4
2014-10-31 13:42:55 -07:00
Johann
7ae75c3d52
vp8 quantization -> intrinsics
...
Use intrinsics for neon quantization. Slight loss (<5%) of performance
compared to the assembly. Roughly 10x faster on arm64 because that was
running C code before.
Change-Id: I7cf5242d8f29b7eab5bca6a1c20c89c9fc9ca66d
2014-10-31 13:42:13 -07:00
Johann
f6be2f3c87
Clarify GCC version check
...
The version check was incorrectly matching some versions of clang
which reported as gcc 4.2
Change-Id: I686d3576e71883fe1463206b56ab5e2aa9bb68a8
2014-09-25 11:53:45 -07:00
Marco
06fce6b640
vp8: Update to the adaptive denoising mode.
...
Allow for option to apply spatial blur for temporal
denoising, under the aggressive denoising mode.
Change-Id: I41c5fdc0b6cf32d8f8d1d4236b25fa5aa406e89e
2014-09-19 09:06:16 -07:00
Johann
6d44dad4aa
Merge "vp8: common: postproc: fix signed overflow of statement of (X +c) >= X when '-Werror=strict-overflow' is set."
2014-09-17 10:18:23 -07:00
Johann
8caba8565a
Merge "vp8/vp9: neon: msvc: move the 'ifdef _MSC_VER' bit to vpx_ports/mem.h. fix compiling warning."
2014-09-15 15:53:12 -07:00
Scott LaVarnway
fe2cc873dc
VP8 encoder for ARMv8 by using NEON intrinsics 1
...
Add vp8_mse16x16_neon.c
- vp8_mse16x16_neon
- vp8_get4x4sse_cs_neon
Change-Id: I108952f60a9ae50613f0ce3903c2c81df19d99d0
Signed-off-by: James Yu <james.yu@linaro.org>
2014-09-15 12:04:09 -07:00
Jia Jia
0ae866bd19
vp8/vp9: neon: msvc: move the 'ifdef _MSC_VER' bit to vpx_ports/mem.h.
...
fix compiling warning.
Change-Id: If8706a9046436f704c597e4275a6810c76ba7daa
2014-09-14 01:43:54 +08:00
Jia Jia
f265dde305
vp8: common: postproc: fix signed overflow of statement of (X +c) >= X when '-Werror=strict-overflow' is set.
...
Change-Id: I2f78417cc100973c732426f7b6bd10d7304a1a5f
2014-09-14 01:04:05 +08:00
Johann
23bed46ddd
Move vp8_variance_halfpixvar16x16_*_neon definitions
...
These functions moved from 'neon_asm' to 'neon' in
9293d267d2
Change-Id: I9cb5626c3eec96876a73fb18f2bfc982a5858edb
2014-09-09 08:21:36 -07:00
Jia Jia
395f2e874b
vp8 encoder: remove vp8_yv12_copy_partial_frame_neon
...
Use generic C implementation instead of neon-specific code
Change-Id: Ib322b4ece9cdbd4de76a9eed3d2e9fd1d8542406
2014-09-08 08:59:24 -07:00
Jia Jia
c97f5e8b86
vp8 common: change 'HAVE_NEON_ASM' to 'HAVE_NEON' for compiling functions of NEON intrinsics.
...
Change-Id: I975e5eac16f8b623ff589f0ec072cdaff2183b04
2014-09-05 12:24:05 +00:00
James Zern
35fadf1d25
bilinearpredict_neon: fix type conversion warnings
...
make bifilter4_coeff[][] uint8_t, no values exceed this range and
they're loaded with vdup_n_u8().
Change-Id: I921983e9edd828d29820e40ac30a7801dbe0fb4f
2014-09-04 20:50:42 -07:00
James Zern
f61e00c79d
Merge "arm: Fix building vp8_subpixelvariance_neon.c with MSVC"
2014-09-04 11:00:53 -07:00
Scott LaVarnway
ec94967ffe
Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 10""
...
This reverts commit 677fb5123e
Compiles with 4.6.
Change-Id: I7f87048911b6bc28a61741d95501fa45ee97b819
2014-09-04 08:51:20 -07:00
Martin Storsjo
0002da32e6
arm: Fix building vp8_subpixelvariance_neon.c with MSVC
...
Use the right return values - vget_low_s64 returns int64x1_t, not
a normal int64_t.
Also make __builtin_prefetch a no-op on MSVC for this file.
Change-Id: I4d2fce01d0ba106b98d3d53b137803119c2c2c08
2014-09-04 09:49:30 +03:00
Scott LaVarnway
dcbfacbb98
Neon version of vp8_build_intra_predictors_mby_s() and
...
vp8_build_intra_predictors_mbuv_s().
This patch replaces the assembly version with an intrinsic
version.
On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~2.6%.
Change-Id: I9ef65bad929450c0215253fdae1c16c8b4a8f26f
2014-09-03 13:41:27 -07:00
Scott LaVarnway
9293d267d2
VP8 for ARMv8 by using NEON intrinsics 17
...
Add vp8_subpixelvariance_neon.c
- vp8_sub_pixel_variance16x16_neon_func
- vp8_variance_halfpixvar16x16_h_neon
- vp8_variance_halfpixvar16x16_v_neon
- vp8_variance_halfpixvar16x16_hv_neon
- vp8_sub_pixel_variance8x8_neon
Change-Id: I3e5d85b2eafc26be0eef6a777789b80e4579257b
Signed-off-by: James Yu <james.yu@linaro.org>
2014-09-03 13:33:44 -07:00
Johann
5b788c0cbe
Merge "Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 06" This reverts commit 81ad047ee5
. Revert "VP8 for ARMv8 by using NEON intrinsics 15" This reverts commit 727af7cebe3698b8493ba6c1360b0a6606c310fb.""
2014-09-03 13:27:11 -07:00
Johann
4d10506d84
Merge "Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 08"""
2014-09-02 09:28:14 -07:00
Scott LaVarnway
652ef29d09
Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 08""
...
This reverts commit 928ff03889
Compiles with 4.6 now.
Change-Id: Ib455da1098bb0e0623248be07579882a425fcbd1
2014-08-29 13:29:36 -07:00
Dmitry Kovalev
f9fb3b8e0e
Replacing 'struct vpx_fixed_buf' with 'vpx_fixed_buf_t’.
...
Change-Id: Ibbbc5b39429d4b753f0a966b9d84d1d7bf823650
2014-08-22 11:56:31 -07:00
Johann
911e96a4eb
Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 06" This reverts commit 81ad047ee5
. Revert "VP8 for ARMv8 by using NEON intrinsics 15" This reverts commit 727af7cebe3698b8493ba6c1360b0a6606c310fb."
...
This reverts commit 920f803f2e
Change-Id: I410d9036214a1b18427cca70b4bc6d8239740737
2014-08-20 09:41:50 -07:00
James Yu
eed005b076
VP8 encoder for ARMv8 by using NEON intrinsics 6
...
Add shortfdct_neon.c
- vp8_short_fdct4x4_neon
- vp8_short_fdct8x4_neon
Change-Id: I90152c803b484f5fab839473d632c50af0524e68
Signed-off-by: James Yu <james.yu@linaro.org>
2014-08-20 09:25:29 -07:00
James Yu
6d6fdd9c3d
VP8 encoder for ARMv8 by using NEON intrinsics 3
...
Add subtract_neon.c
- vp8_subtract_b_neon
- vp8_subtract_mby_neon
- vp8_subtract_mbuv_neon
Change-Id: If9a17a093478552e3e3276eeaa3f098b9021d08c
Signed-off-by: James Yu <james.yu@linaro.org>
2014-08-20 09:20:55 -07:00
Scott LaVarnway
8013aaa10b
VP8 encoder for ARMv8 by using NEON intrinsics 2
...
Add vp8_shortwalsh4x4_neon.c
- vp8_short_walsh4x4_neon
Change-Id: Ica5f584be608c9e636f62db14f563757e94be09b
Signed-off-by: James Yu <james.yu@linaro.org>
2014-08-20 09:19:23 -07:00
Marco Paniconi
8db245b6a1
Add an adaptive denoising mode.
...
On key frame, will always start with normal denoising mode,
but based on a computed noise metric (normalized mse on source diff)
may switch to aggressive mode (and back down again).
Change-Id: I20330b2dcf3056287be37223302b2cab5fc103eb
2014-08-14 17:29:51 -07:00
Marco Paniconi
354a2e612d
vp8: Code cleanup for control of denoiser mode.
...
Change-Id: Icb9918dd38d15061d62852e6a2d905e8ceb2c1ac
2014-08-08 16:15:28 -07:00
Marco Paniconi
91801176fe
vp8: Add an aggressive denoising mode.
...
Change-Id: Ie4686e1b15af6bcc8d59d585bbeb996f38224522
2014-07-29 11:16:45 -07:00
Johann
018fd12cf6
Disable vp8_sixtap_predict4x4_neon
...
Crashing on iOS encodes
BUG=817
Change-Id: I2c50f8d359563d15a8b8002b6091184c0f9818af
2014-07-18 14:08:52 -07:00
James Zern
7d7779738f
Merge changes I58a5af33,Ied9b0392
...
* changes:
vp8_bilinear_predict4x4_neon: init src vectors
vp8_sixtap_predict4x4_neon: init src vectors
2014-07-15 18:02:11 -07:00
Marco Paniconi
21042c7154
vp8: Allow for on/off control of UV temporal denoiser.
...
Use noise_sensitivity level for enabling UV denoiser.
Change-Id: Ib208786a6fdf654981bcd96a3cf44e8e678025c1
2014-07-15 09:51:03 -07:00
James Zern
74ed33cf6e
vp8_bilinear_predict4x4_neon: init src vectors
...
quiets uninitialized warnings on the first load.
Change-Id: I58a5af337087d96b4eaea8991a0f85c4ba58aebe
2014-07-11 00:05:25 -07:00
James Zern
5e30127c7a
vp8_sixtap_predict4x4_neon: init src vectors
...
quiets uninitialized warnings on the first load.
Change-Id: Ied9b03928537a9ed2cd414b9e8a0be00191b0f32
2014-07-10 23:48:47 -07:00
Scott LaVarnway
8341fa8cb4
Merge "Neon version of vp8_denoiser_filter_uv()"
2014-07-07 09:41:07 -07:00
Scott LaVarnway
a4b7ae7e82
Neon version of vp8_denoiser_filter_uv()
...
The encoder performance improved by 5% (vs "C")
for the test clip used.
Change-Id: I866b35eb2a06092edce7b37fc409562d0dacd7e7
2014-06-27 11:03:58 -07:00
Marco Paniconi
21f8d6a1c9
vp8: bugfix in postproc vp8_de_noise.
...
Set the proper number of mb_rows/cols.
Also remove warnings (unused variable) when configured with temporal-denoising disabled.
Change-Id: I8abd2372394ee55295feb87a66efd294ea6989d0
2014-06-27 09:25:14 -07:00
Marco Paniconi
91ccad2179
Merge "vp8: Add temporal denoising for UV-channel."
2014-06-26 13:03:50 -07:00