Dmitry Kovalev
f9fb3b8e0e
Replacing 'struct vpx_fixed_buf' with 'vpx_fixed_buf_t’.
...
Change-Id: Ibbbc5b39429d4b753f0a966b9d84d1d7bf823650
2014-08-22 11:56:31 -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
Scott LaVarnway
94ae0430d2
vp8: Add temporal denoising for UV-channel.
...
C version and sse2 version, and off by default.
For the test clip used, the sse2 performance improved by ~5.6%
Change-Id: Ic2d815968849db51b9d62085d7a490d0e01574f6
2014-06-26 11:45:42 -07:00
Johann
0d3ed089f1
sse4 regular quantize
...
Change-Id: Ibd95df0adf9cc9143006ee9032b4cb2ebfd5dd1b
2014-06-18 14:26:16 -07:00
Johann
79afb5eb41
Use lrand48 on Android
...
When building x86 assembly use lrand48 instead of the
undocumented inlined _rand function.
Android now supports rand()
https://android-review.googlesource.com/97731
but only for new versions. Original workaround:
https://gerrit.chromium.org/gerrit/15744
Change-Id: I130566837d5bfc9e54187ebe9807350d1a7dab2a
2014-06-12 19:57:25 -07:00
Dmitry Kovalev
1f0b2f95af
Removing vp8/common/pragmas.h.
...
Change-Id: I80630a7350e884ebc4fef73fb5b52ec25f908523
2014-05-23 13:03:15 -07:00
Deb Mukherjee
e272273443
Renames x86_64 specific asm files
...
Renames all x86_64 specific assembly files to consistently
end in _x86_64.asm. This will be useful for build systems to
handle these files differently.
All new 64-bit specific assembly files should use the new
naming convention.
Change-Id: I36c89584967c82ffc4088b1b5044ac15d2bb7536
2014-05-21 13:55:56 -07:00
Jim Bankoski
bb2041d8de
Fix valgrind read out of bounds error.
...
MMX variance code in vp8 was reading out of bounds..
TODO(JBB): The best fix would involve removing duplicate library
functions between vp8 and vp9...
Change-Id: I5722853a6a58d3b55257ff385fa54c773bf98ded
2014-05-19 12:46:22 -07:00
Johann
ed83c2a94c
Merge "vp8: Add increase_denoising parameter to denoiser."
2014-05-16 18:32:39 -07:00
Johann
7302a9b158
Merge "Correct HAVE_NEON_ASM define"
2014-05-16 16:48:49 -07:00
Marco Paniconi
6da66e1114
vp8: Add increase_denoising parameter to denoiser.
...
Change-Id: I96ed73e109c4f89dd06f3583cf7ecf9277401fae
2014-05-16 15:06:59 -07:00
Johann
f625b2ac93
Correct HAVE_NEON_ASM define
...
These optimizations are currently disabled.
Change-Id: I19c58c9cb82d017638b86196641b9e001dfa798b
2014-05-16 08:20:13 -07:00
Johann
c511d79c08
Merge "Remove intermediate step in vp8_dequantize_b"
2014-05-16 07:33:52 -07:00
Johann
1bec51d666
Merge "Build armv7a-only code"
2014-05-15 12:26:24 -07:00
Jim Bankoski
ec82d2dfec
Merge "Revert "Remove Wextra warnings from vp9_sad.c""
2014-05-15 11:54:23 -07:00
Jim Bankoski
a16794dd31
Revert "Remove Wextra warnings from vp9_sad.c"
...
This reverts commit 7ab9a9587b96db4edce6be916c1f02297a9555ff
Nightly test http://build.webmproject.org/jenkins/view/libvpx-nightly-tests/job/libvpx%20unit%20tests%20(valgrind-2)/arch=x86_64-linux-gcc,filter=-*VP8*:*Large.*/276/console
Failed
This patch did not address all the assembly issues
some of the vp8 assembly counts on 5 arguments being passed in to this function:
one example : vp8_sad8x16_wmt
Please address or split this into vp9 and vp8 patches.
Change-Id: I78afcc171649894f887bb8ee3c66de24aaddc7ca
2014-05-15 08:31:20 -07:00
Johann
2f6f955a17
Remove intermediate step in vp8_dequantize_b
...
With the intrinsics it is no longer necessary to have a stub/helper
function.
Change-Id: I3695961c3c94f1bb750d3b7b29716e509ebba482
2014-05-14 12:24:18 -07:00
Johann
4dcc6d9707
Build armv7a-only code
...
Allow disabling the more generic NEON code.
Use filtered option to disable rtcd code.
Change-Id: Icb4500c1a2bac16eed3c5e3ec0c35e92e6bbbb9f
2014-05-14 12:23:33 -07:00
Johann
c6b8fce22a
Merge "Revert "VP8 for ARMv8 by using NEON intrinsics 06" This reverts commit 81ad047ee57ecb0e2c1ee4dcebda54a44ea54ae9. Revert "VP8 for ARMv8 by using NEON intrinsics 15" This reverts commit 727af7cebe3698b8493ba6c1360b0a6606c310fb."
2014-05-14 11:30:25 -07:00
Marco Paniconi
f017b0d21c
Merge "Revert "Revert "Remove struct params from vp8_denoiser_filter"""
2014-05-14 11:00:56 -07:00
Marco Paniconi
96d1946e87
Revert "Revert "Remove struct params from vp8_denoiser_filter""
...
This reverts commit 06e6d56fa138d84759e8bdfd4c721ead000051b4
Change-Id: If95598385b693945d6b144d03b6da8f6a57dac98
2014-05-14 10:55:53 -07:00
Deb Mukherjee
7ab9a9587b
Remove Wextra warnings from vp9_sad.c
...
As a side-effect, the max_sad check is removed from the
C-implementation of VP8, for consistency with VP9, and to
ensure that the SAD tests common to VP8/VP9 pass.
That will make the VP8 C implementation of sad a little slower
but given that is rarely used in practice, the impact will be
minimal.
Change-Id: I7f43089fdea047fbf1862e40c21e4715c30f07ca
2014-05-14 03:17:31 -07:00
Johann
920f803f2e
Revert "VP8 for ARMv8 by using NEON intrinsics 06"
...
This reverts commit 81ad047ee57ecb0e2c1ee4dcebda54a44ea54ae9.
Revert "VP8 for ARMv8 by using NEON intrinsics 15"
This reverts commit 727af7cebe3698b8493ba6c1360b0a6606c310fb.
This exposes a bug in gcc 4.9 regarding register allocation. Will reland
when 4.9 is fixed.
Change-Id: I2d8a04e4edde93719280e41550f4c0765608ec4d
2014-05-13 13:21:17 -07:00
Johann
ce23931a3f
Only build neon assembly for armv7 targets
...
Allow selectively building just the intrinsics for armv8
Change-Id: I2f29b2e4508b8b8e5649c2906b3159ad1d4ec477
2014-05-12 08:52:02 -07:00
Frank Galligan
ae1bbf7f81
Merge "Revert "Remove struct params from vp8_denoiser_filter""
2014-05-07 16:21:46 -07:00
Frank Galligan
06e6d56fa1
Revert "Remove struct params from vp8_denoiser_filter"
...
This reverts commit e516a42527098a26798dbb3663a5bcdd38793839
Change-Id: I7c78712acc737ad5f580181cdab3aa76b23f3ca5
2014-05-07 16:19:20 -07:00
Johann
4bffb75ba3
Merge "Revert "VP8 for ARMv8 by using NEON intrinsics 10""
2014-05-07 06:47:48 -07:00
Johann
3a695015ad
Merge "arm: Use a correct neon vector type for 64 bit integers"
2014-05-07 06:34:25 -07:00
Martin Storsjo
d5d82a5e1a
arm: Add a no-op define of __builtin_prefetch for MSVC
...
Both GCC and RVCT/ARMCC support __builtin_prefetch, but MSVC
doesn't.
Change-Id: I44e1eecead61bc88d8fdfd3fef03d76d4f5afe08
2014-05-07 10:43:24 +03:00
Martin Storsjo
82a83c4fe0
arm: Use a correct neon vector type for 64 bit integers
...
This fixes building with MSVC.
Change-Id: I763ba8855c8083d82c8b477d3a297e310e93a335
2014-05-07 10:22:40 +03:00
Johann
677fb5123e
Revert "VP8 for ARMv8 by using NEON intrinsics 10"
...
This reverts commit c500fc22c1bb2a3ae5c318bfb806f7e9bd57ce25
There is an issue with gcc 4.6 in the Android NDK:
loopfiltersimpleverticaledge_neon.c: In function 'vp8_loop_filter_bvs_neon':
loopfiltersimpleverticaledge_neon.c:176:1: error: insn does not satisfy its constraints:
Change-Id: I95b6509d12f075890308914cc691b813d2e5cd9f
2014-05-06 14:28:00 -07:00
Johann
928ff03889
Revert "VP8 for ARMv8 by using NEON intrinsics 08"
...
This reverts commit a5d79f43b963ced59b462206faf3b7857bdeff7b
There is an issue with gcc 4.6 in the Android NDK:
loopfilter_neon.c: In function 'vp8_loop_filter_vertical_edge_y_neon':
loopfilter_neon.c:394:1: error: insn does not satisfy its constraints:
Change-Id: I2b8c6ee3fa595c152ac3a5c08dd79bd9770c7b52
2014-05-06 13:20:24 -07:00
Adrian Grange
6b4efa493a
Merge changes Ibfa447fe,I771809ba
...
* changes:
Fix generic-gnu target build
Fix rounding in ARNR calculation
2014-05-05 15:41:10 -07:00
Johann
34843e9784
Merge "VP8 for ARMv8 by using NEON intrinsics 16"
2014-05-05 13:09:43 -07:00
Johann
ad42b09f2f
Merge "VP8 for ARMv8 by using NEON intrinsics 15"
2014-05-05 13:09:12 -07:00
Adrian Grange
93a8a1eb8c
Fix generic-gnu target build
...
Added macro to conditionally compile some of the
post-processing functions only when CONFIG_POSTPROC
is defined.
This was causing the build for the generic-gnu target
to fail.
Change-Id: Ibfa447feceb7a0528135025f105be48f97e9965c
2014-05-05 11:00:43 -07:00