Граф коммитов

10157 Коммитов

Автор SHA1 Сообщение Дата
James Yu 727af7cebe VP8 for ARMv8 by using NEON intrinsics 15
Add idct_dequant_0_2x_neon.c
- idct_dequant_0_2x_neon

Change-Id: I8e129172ef1b2517cf72ff267788921f1a792586
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 19:07:33 -07:00
James Yu 08e38f06db VP8 for ARMv8 by using NEON intrinsics 14
Add sixtappredict_neon.c
- vp8_sixtap_predict16x16_neon
- vp8_sixtap_predict8x8_neon
- vp8_sixtap_predict8x4_neon
- vp8_sixtap_predict4x4_neon

Change-Id: I3b02fce48ae2e6c6099041ba5ddd7b090f1463b9
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 19:07:12 -07:00
James Yu 18e9caad47 VP8 for ARMv8 by using NEON intrinsics 13
Add shortidct4x4llm_neon.c
- vp8_short_idct4x4llm_neon

Change-Id: I5a734bbffca8dacf8633c2b0ff07b98aa2f438ba
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 19:07:05 -07:00
Johann 140262d39f Merge "VP8 for ARMv8 by using NEON intrinsics 12" 2014-05-03 19:06:55 -07:00
Johann 0b12a40296 Merge "VP8 for ARMv8 by using NEON intrinsics 11" 2014-05-03 19:05:26 -07:00
Johann 8c7e798c9b Merge "VP8 for ARMv8 by using NEON intrinsics 10" 2014-05-03 19:04:57 -07:00
Johann c1ba686064 Merge "VP8 for ARMv8 by using NEON intrinsics 09" 2014-05-03 19:04:18 -07:00
Johann 1b91fa8ac8 Merge "vp9 register checks only apply to vp9" 2014-05-03 19:03:39 -07:00
James Yu feaf766bd0 VP8 for ARMv8 by using NEON intrinsics 12
Add sad_neon.c
- vp8_sad16x16_neon
- vp8_sad16x8_neon
- vp8_sad8x8_neon
- vp8_sad8x16_neon
- vp8_sad4x4_neon

Change-Id: I08eaae49ec03fb91b394354660a5df0367cea311
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 04:54:39 -07:00
James Yu 4a8336fa9d VP8 for ARMv8 by using NEON intrinsics 11
Add mbloopfilter_neon.c
- vp8_mbloop_filter_horizontal_edge_y_neon
- vp8_mbloop_filter_horizontal_edge_uv_neon
- vp8_mbloop_filter_vertical_edge_y_neon
- vp8_mbloop_filter_vertical_edge_uv_neon

Change-Id: Ia9084e0892d4d49412d9cf2b165a0f719f2382d7
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 04:54:33 -07:00
Johann 1d65b3be2a Merge "Remove asm_offsets dependency in quantize_b_ssse3" 2014-05-03 04:21:16 -07:00
James Yu c500fc22c1 VP8 for ARMv8 by using NEON intrinsics 10
Add loopfiltersimpleverticaledge_neon.c
- vp8_loop_filter_bvs_neon
- vp8_loop_filter_mbvs_neon

Change-Id: I7cf0a161ad4ae37c881b94cc0122f895d3baae79
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 04:11:00 -07:00
James Yu 55c95f2d2c VP8 for ARMv8 by using NEON intrinsics 09
Add loopfiltersimplehorizontaledge_neon.c
- vp8_loop_filter_bhs_neon
- vp8_loop_filter_mbhs_neon

Change-Id: I77f9721b20585da8bf3869a3850ff0ae4b4bfeea
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 04:10:45 -07:00
Johann cf2262c44c Merge "VP8 for ARMv8 by using NEON intrinsics 08" 2014-05-03 04:10:18 -07:00
Johann fe437bc8f8 Merge "VP8 for ARMv8 by using NEON intrinsics 07" 2014-05-03 04:08:54 -07:00
Minghai Shang 0affa0eae5 [spatial svc] Fix one extra frame count during flush
Change-Id: Ia096aafa8aca4f9e58450c4b861393d8f0a15afe
2014-05-02 12:09:13 -07:00
Minghai Shang d899a1c08a [spatial svc] Use VPX_DL_GOOD_QUALITY for vp9_spatial_scalable_encoder
Change-Id: I759f2d7c0e75b44ff4522a5ce57328b1c92730aa
2014-05-02 11:54:45 -07:00
Vignesh Venkatasubramanian 56186c2540 Merge "third_party/libwebm: Add Android.mk" 2014-05-02 11:39:29 -07:00
Minghai Shang bb505879d6 [spatial svc] No need to code full width and height for non key frame
Change-Id: I62ab0f4346b4157a90dc5b5f73ab5e597d69c1bd
2014-05-02 11:29:05 -07:00
Dmitry Kovalev 4498194bad Cleaning up vp9_variance.c
Change-Id: Ie2b9c9881085053c191f3f7b8253e283edef573b
2014-05-02 11:10:45 -07:00
Scott LaVarnway e516a42527 Remove struct params from vp8_denoiser_filter
This eliminates the asm_offsets dependency for future
all-assembly versions of this function.

Change-Id: I3227073ecfcb8ee6e593934fab941e9081abdda0
2014-05-02 10:31:52 -07:00
Scott LaVarnway dea687f733 Merge "Improved intrinsic version of vp8_denoiser_filter_neon" 2014-05-02 09:59:59 -07:00
James Yu a5d79f43b9 VP8 for ARMv8 by using NEON intrinsics 08
Add loopfilter_neon.c
- vp8_loop_filter_horizontal_edge_y_neon
- vp8_loop_filter_horizontal_edge_uv_neon
- vp8_loop_filter_vertical_edge_y_neon
- vp8_loop_filter_vertical_edge_uv_neon

Change-Id: I50b57dedabd42d2a3c183c1738cc5346f0e71ed8
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-02 09:32:11 -07:00
James Yu 930557be10 VP8 for ARMv8 by using NEON intrinsics 07
Add iwalsh_neon.c
- vp8_short_inv_walsh4x4_neon

Change-Id: I8beda6ce11ad8ce9e80cc0a38d40161938359162
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-02 09:24:54 -07:00
Adrian Grange 8b2b7370b5 Merge "Revert "Force ARNR filtering to be centered on the ARF frame"" 2014-05-02 08:13:06 -07:00
Adrian Grange a481fcc3e0 Merge "Fix mode selection bug when ARNR filtering disabled" 2014-05-02 08:12:00 -07:00
Johann 07967b36b7 vp9 register checks only apply to vp9
Disable register checks when vp9 is not configured. Soon vp8 assembly
will move to intrinsics, obviating this check.

This will still run the check when vp9 is enabled.

Change-Id: I90f50d22cb8c15e9c07f2c8e830e08de7fce0689
2014-05-02 08:11:54 -07:00
Johann 570d43c020 Remove asm_offsets dependency in quantize_b_ssse3
Replace it with some intrinsic code and inline assembly.

Change-Id: I81b4df146db3d01039059be7dae31083e2943b97
2014-05-02 08:00:16 -07:00
Johann 7d54e0f093 Android NDK support for x86 and mips
This does not do the full toolchain setup like the arm builds. It only
allows for ndk-builds. See the instructions in tests/android/README or
the webm jnin bindings project:
https://chromium.googlesource.com/webm/bindings/+/master/JNI/README.Android

Because this support is not quite polished, the build targets must be
forced. Please use
--force-target=x86-android-gcc --disable-ssse3 --disable-sse4_1 --disable-avx2
--force-target-mips-android-gcc

Change-Id: Ie2b6623f71ac816e3965c39bf97097e9d30b6e94
2014-05-02 07:26:46 -07:00
Johann ac8c069198 Merge "Only hide assembly functions for Chrome" 2014-05-02 07:15:38 -07:00
Johann 0f1a3461d6 Merge "VP8 for ARMv8 by using NEON intrinsics 06" 2014-05-02 06:42:34 -07:00
Debargha Mukherjee 6497f2718f Merge "Switch the default 2 pass vbr variant." 2014-05-02 04:03:29 -07:00
James Yu 81ad047ee5 VP8 for ARMv8 by using NEON intrinsics 06
Add idct_dequant_full_2x_neon.c
- idct_dequant_full_2x_neon

==== Summary of apply VP8 decode patch series ====
Benchmark on Samsung Chromebook, Cortex-A15, 1.7GHz, Dual core
Toolchain: linaro-1.13.1-4.8-2014.01
Compile argument: CROSS=arm-linux-gnueabihf- ../libvpx/configure
                     --target=armv7-linux-gcc --prefix=$HOME/out
                     --enable-shared --cpu=cortex-a7
Test argument: vpxdec --summary --noblit ./tears_of_steel_1080p.webm

NEON assembly   46.68 (fps)
Apply patch 06  46.65, -0.03
Apply patch 07  46.86, +0.21
Apply patch 08  46.58, -0.28
Apply patch 09  46.57, -0.01
Apply patch 10  46.51, -0.06
Apply patch 11  46.13, -0.38
Apply patch 12  45.42, -0.71
Apply patch 13  46.06, +0.64
Apply patch 14  45.19, -0.87
Apply patch 15  45.93, +0.74
Apply patch 16  45.48, -0.45
Apply patch 17  45.84, +0.36
Apply patch 18  45.91, +0.07  <= With all NEON intrinsics patches
                 Total -0.77 fps, 1.65% performance regression

Change-Id: I77bfc9eaccfb97b8d401e949ceff8795e26ca6b7
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-02 11:57:47 +08:00
Dmitry Kovalev 53888035f9 Merge "Moving #defines to *.c from *.h." 2014-05-01 18:28:34 -07:00
Dmitry Kovalev 2cba07c660 Merge "Adding vp9_temporal_filter_init() function." 2014-05-01 18:28:21 -07:00
Dmitry Kovalev d32615c523 Merge "Replacing int_mv with MV." 2014-05-01 18:28:12 -07:00
Dmitry Kovalev a0327f5eaf Merge "Simplifying vp9_is_upper_layer_key_frame()." 2014-05-01 18:27:56 -07:00
Johann 874f7f02ef Only hide assembly functions for Chrome
Match x86_abi_support.asm configuration

Change-Id: Ic0d03a23961e6858cf5153389ec8afa0fae3307a
2014-05-01 17:48:04 -07:00
Dmitry Kovalev 25a666ef39 Moving pair_set_epi32 macro into vp9_dct32x32_sse2.c.
Change-Id: I642a7d343677bf934e9a54cf4ad78e908620e39a
2014-05-01 16:45:49 -07:00
Dmitry Kovalev 7d9d5df263 Using SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range().
Change-Id: I961d50d6fafdd37ef7f23f0a871d28e28d2084ca
2014-05-01 16:36:51 -07:00
Dmitry Kovalev 66307bf2c8 Moving costs from MACROBLOCK to VP9_COMP.
Change-Id: I61471dd0f77d1547abec13cbf9670e1c4eb9131a
2014-05-01 16:12:23 -07:00
Dmitry Kovalev e6a985153f Cleaning up vp9_context_tree.c.
Change-Id: I2d6389773e3c761cda62868735dc5dfbf267b49f
2014-05-01 15:23:35 -07:00
Dmitry Kovalev 9f44467878 Cleaning up vp9_encode_frame() function.
Change-Id: I2b618dfe753f8c6139cecadc5caf14826abb67d9
2014-05-01 15:00:25 -07:00
Dmitry Kovalev e05b92c0aa Merge "Removing half-variance asm functions which are not used." 2014-05-01 14:50:45 -07:00
Adrian Grange 0423a96469 Fix mode selection bug when ARNR filtering disabled
When ARNR filtering is disabled, by setting
arnr_max_frames=0, mode_skip_mask was being set to
-1 for the ARF frame resulting in no mode being
selected for the block.

The intent is to restrict the reference frame to the
previous ARF frame and the mode to one of ZEROMV,
NEARMV or NEARESTMV.

Change-Id: Ifc3920b153142cd01d422910c94d2f20ffb6f129
2014-05-01 14:38:58 -07:00
Paul Wilkins 307b6c22a3 Switch the default 2 pass vbr variant.
On balance Deb's  modified rate control for VBR seems
to be outperforming especially on some low motion YT
clips so I have switched this to be the default mode for
now.

Change-Id: I0713d430cad6425ac5c48fccdf332e12814ee44a
2014-05-01 11:53:40 -07:00
Dmitry Kovalev eae4a467a8 Simplifying vp9_is_upper_layer_key_frame().
Change-Id: Ib56df7cd282dadbfd202de23f0c746a93b5ce63e
2014-05-01 11:41:01 -07:00
Dmitry Kovalev 92c536b465 Adding vp9_temporal_filter_init() function.
Change-Id: I0d50354111df79b74aafcd3bb7dc14df3c14733a
2014-05-01 11:35:50 -07:00
Minghai Shang 528a5c28b3 Merge "[svc rc] RC improvement for key frames in upper layers for spatial svc." 2014-05-01 10:53:47 -07:00
Tom Finegan 1d29ce53fe Add --show-program-output option to shell tests.
When used --show-program-output shows the output from the programs run
during testing.

Change-Id: I15a47c43d1fcf0243c8df1a75d0d2a584ae1f08f
2014-04-30 16:17:25 -07:00