Johann
4a37e3e2a0
buffer.h: zero-init all values
...
Change-Id: I18d90658bcd4365d49adcadd6954090b3b399aa8
2017-06-07 11:27:26 -07:00
Johann
f08581c1d0
buffer.h: use size_t
...
Change-Id: Ieca3f1ef23cd1d7b844ea3ecb054007ed280b04f
2017-06-07 11:24:27 -07:00
Johann
de4cb716ee
buffer.h: split out init
...
Change-Id: Idfbd2e01714ca9d00525c5aeba78678b43fb0287
2017-06-06 15:02:50 -07:00
Johann
8659764a07
buffer.h: Use T for values
...
Change-Id: I2da4110e843b6e361028b921c24b6ca2ea9077d9
2017-06-06 12:05:14 -07:00
James Zern
4753c23983
Merge "ppc: Add vpx_sad64/32/16x64/32/16_avg_vsx"
2017-06-06 02:19:41 +00:00
Johann Koenig
755b3daf90
Merge "comp_avg_pred neon: used by sub pixel avg variance"
2017-05-31 18:17:28 +00:00
Johann
f695b30ac2
comp_avg_pred neon: used by sub pixel avg variance
...
BUG=webm:1423
Change-Id: I33de537f238f58f89b7a6c1c2d6e8110de4b8804
2017-05-30 22:47:34 +00:00
Jerome Jiang
a5ab38093f
Merge "Fix vp8 race when build --enable-vp9-highbitdepth."
2017-05-30 05:47:44 +00:00
Jerome Jiang
0afa2dad76
Fix vp8 race when build --enable-vp9-highbitdepth.
...
Split vp8/vp9 implementations on yv12_copy_frame_c.
Remove high-bitdepth codes from vp8_yv12_extend_frame_borders_c.
Clean up vp8 codes usage in vp9.
BUG=webm:1435
Change-Id: Ic68e79e9d71e1b20ddfc451fb8dcf2447861236d
2017-05-26 09:45:01 -07:00
Johann Koenig
de1a9c77a7
Merge changes Iaab2b9a1,Idfb458d3
...
* changes:
sub pel avg variance neon: 4x block sizes
sub pel variance neon: 4x block sizes
2017-05-24 18:33:53 +00:00
Johann Koenig
b11a37f540
Merge changes I31fa6ef8,I228c6f29
...
* changes:
sub pel avg variance neon: add neon optimizations
sub pel variance neon: normalize variable names
2017-05-24 18:32:02 +00:00
James Zern
566f6d75bd
partial_idct_test,InitInput: fix rollover in mult
...
promote coeff to signed 64-bit to avoid exceeding integer bounds when
squaring the value
Change-Id: If77bef6bc0a6a4c39ca3013e5e2ddb426a1c6e1f
2017-05-24 15:27:38 +02:00
Linfeng Zhang
36f1b183e4
Update InitInput() in test/partial_idct_test.cc
...
Make it work in high bit depth.
BUG=webm:1412
Change-Id: Ic5cfd410a69709f01e2924774356a108a349d273
2017-05-23 14:24:23 -07:00
Johann
f6fcd3410d
sub pel avg variance neon: 4x block sizes
...
BUG=webm:1423
Change-Id: Iaab2b9a183fdb54aae5f717aba95d90dc36a9e3b
2017-05-22 14:40:05 -07:00
Johann
188d58eaa9
sub pel variance neon: 4x block sizes
...
Add optimizations for blocks of width 4
BUG=webm:1423
Change-Id: Idfb458d36db3014d48fbfbe7f5462aa6eb249938
2017-05-22 14:40:01 -07:00
Johann
9b0d306a2f
sub pel avg variance neon: add neon optimizations
...
These are missing an optimized version of vpx_comp_avg_pred
BUG=webm:1423
Change-Id: I31fa6ef842e98f7ff3ea079ffed51ae33178e2ed
2017-05-22 13:58:43 -07:00
Linfeng Zhang
c167345ffb
Add vpx_highbd_idct{4x4,8x8,16x16}_1_add_sse2
...
BUG=webm:1412
Change-Id: Ia338a6057d36f9ed7eaa9cbd4dfbf0c3cbdc6468
2017-05-22 11:24:21 -07:00
Johann Koenig
e7cac13016
Merge changes Ib8dd96f7,Ie9854b77
...
* changes:
neon variance: process 4x blocks
use memcpy for unaligned neon stores
2017-05-22 17:48:33 +00:00
Johann Koenig
3c603eadb4
Merge "neon fdct: 4x4 implementation"
2017-05-19 17:08:58 +00:00
Johann
7b742da63e
neon variance: process 4x blocks
...
Continue processing sets of 16 values. Plenty of improvement for 4x8
(doubles the speed) but only about 30% for 4x4.
BUG=webm:1422
Change-Id: Ib8dd96f75d474f0348800271d11e58356b620905
2017-05-17 17:35:01 -07:00
Marco Paniconi
a2dfbbd7d6
Merge "vp9: Modify ChangingDropFrameThresh unittest."
2017-05-17 18:42:51 +00:00
Marco
4733df333f
vp9: Modify ChangingDropFrameThresh unittest.
...
Add another (lower) bitrate to the test, to cover
frame drop behavior at low bitrate range.
Change-Id: Iaad003974159daf3d2d65ef3a6575a3e72e498d6
2017-05-17 09:38:21 -07:00
Linfeng Zhang
3210ca6d60
Update partial idct testing code
...
Add PartialIDctTest::PrintDiff() to help debugging.
In RunQuantCheck, try all combinations of +/-mask_ input for 4x4 idct.
Update PartialIDctTest::InitInput().
Change-Id: I13fd163954a4c1a3a6cfeb5e4a4d3d0e7ff901f4
2017-05-17 09:28:32 -07:00
Johann
105503b839
neon fdct: 4x4 implementation
...
Approximately twice as fast as C implementation.
BUG=webm:1424
Change-Id: I3c0307fb08ddc23df42545cd089a78e2ed5c9d3f
2017-05-17 07:38:18 -07:00
Alexandra Hájková
bcbc3929ae
ppc: Add vpx_sad64/32/16x64/32/16_avg_vsx
...
Change-Id: Ic9639b1331d8c5cbc207c2a036891ff0137fc56f
2017-05-13 13:13:15 +00:00
James Zern
ac8f58f6ab
Merge changes I1b54a7a5,I3028bdad,I59788cd9
...
* changes:
ppc: Add get_mb_ss_vsx
ppc: Add get4x4sse_cs_vsx
ppc: Add comp_avg_pred_vsx
2017-05-12 15:24:59 +00:00
Luca Barbato
143b21e362
ppc: Add get_mb_ss_vsx
...
Change-Id: I1b54a7a5bb642e4b836d786ea1ae506eed025e3f
2017-05-12 17:23:00 +02:00
Luca Barbato
6d225eb5f9
ppc: Add get4x4sse_cs_vsx
...
Change-Id: I3028bdadf653665d18e781d28e9625f62804b3d8
2017-05-12 17:23:00 +02:00
Luca Barbato
a7f8bd451b
ppc: Add comp_avg_pred_vsx
...
Change-Id: I59788cd98231e707239c2ad95ae54f67cfe24e10
2017-05-12 17:22:55 +02:00
Alexandra Hájková
f48532e271
ppc: Add vpx_sad64x32/64_vsx
...
Change-Id: I84e3705fa52f75cb91b2bab4abf5cc77585ee3e2
2017-05-12 16:10:16 +02:00
Alexandra Hájková
0b15bf1e54
ppc Add vpx_sad32x16/32/64_vsx
...
Change-Id: I3c4f9d595275669580413a71b3c3c810e7ddcacd
2017-05-12 16:10:11 +02:00
James Zern
a12ea1d5e9
Merge "ppc: Add vpx_sad16x8/16/32_vsx"
2017-05-12 13:33:51 +00:00
Marco
c5a4376aed
vp9: SVC: allow for setting the interp_filter in non-rd pickmode.
...
For SVC 1 pass non-rd pickmode, the interpolation filter for the
upsampling of the golden (spatial) reference was not being explicitly
set and instead was takin gwhatever value was set in the previous
mode/block (which would be either EIGHTTAP or EIGHTAP_SMOOTH).
Fix it to the default EIGHTTAP for now, to be updated/selected
adaptively in a later change.
Minor adjustmemt to rate targeting thresholds in datarate unittests.
Change-Id: I52085048674072c6cfb7163e11e9a2658d773826
2017-05-11 11:45:09 -07:00
Alexandra Hájková
cc7f0c0f3e
ppc: Add vpx_sad16x8/16/32_vsx
...
Change-Id: I60619d28fffd9809f93b1af510a50e1aa02519a9
2017-05-10 19:57:30 +00:00
Johann Koenig
d713ec3c46
Merge changes I92eb4312,Ibb2afe4e
...
* changes:
subpel variance neon: add mixed sizes
sub pixel variance neon: use generic variance
2017-05-10 18:19:52 +00:00
Linfeng Zhang
870cf4356c
Update test/partial_idct_test.cc
...
Makes more sense to call the corresponding partial idct C function
instead of the full idct C function as the reference.
Change-Id: Ibb7681dd063edd6307ba582c10c26c4c6a4b78c6
2017-05-09 13:07:47 -07:00
Johann Koenig
1814463864
Merge changes Id602909a,Ib0e85608
...
* changes:
neon variance: process two rows of 8 at a time
neon variance: add small missing sizes
2017-05-08 17:34:20 +00:00
Linfeng Zhang
2c3a2ad6f1
Merge changes I0cfe4117,I3581d80d,Ida62c941
...
* changes:
Split dsp/x86/inv_txfm_sse2.c
Update highbd idct functions arguments to use uint16_t dst
Clean CONVERT_TO_BYTEPTR/SHORTPTR in idct
2017-05-08 16:15:57 +00:00
Jerome Jiang
3453c8d6c4
Merge "vp9: Neon optimization for denoiser. Add unit tests."
2017-05-06 01:28:32 +00:00
Jerome Jiang
83a2bfd7dc
Merge "Change target bitrate thresh in denoiser test."
2017-05-06 01:28:15 +00:00
Jerome Jiang
fff358fb06
Change target bitrate thresh in denoiser test.
...
An intended behavior change disabling exhaustive searches in speed
feature causes VP9/DatarateTestVP9LargeDenoiser.4threads test failure.
Change the threshold to make it pass.
BUG=webm:1429
Change-Id: Ibcbe2314c6b2525799894f5d7204fc8eb4ec2a1e
2017-05-05 16:50:19 -07:00
Jerome Jiang
069eedb3a0
vp9: Neon optimization for denoiser. Add unit tests.
...
Denoiser on Neon is 5x faster than C code.
BUG=webm:1420
Change-Id: I805ab64f809ff2137354116be6213e7ec29c1dcb
2017-05-05 16:40:52 -07:00
Johann
2346a6da4a
subpel variance neon: add mixed sizes
...
Add support for everything except block sizes of 4.
Performance is better but numbers will improve again when the variance
optimizations land.
BUG=webm:1423
Change-Id: I92eb4312b20be423fa2fe6fdb18167a604ff4d80
2017-05-04 15:30:01 -07:00
Johann
462e29703c
fdct 8x8 neon: minor comment cleanup
...
Simplify HBD/non distinction in test.
Document why transpose_neon.h is not used
Change-Id: I17659414206ddbb8c2f1ef0d9f4a17f1745d5a52
2017-05-04 15:14:23 -07:00
Johann
cb9133c72f
neon variance: add small missing sizes
...
Some of the mixed sizes were missing. They can be implemented trivially
using the existing helper function.
When comparing the previous 16x8 and 8x16 implementations, the helper
function is about 10% faster than the 16x8 version. The 8x16 is very
close, but the existing version appears to be faster.
BUG=webm:1422
Change-Id: Ib0e856083c1893e1bd399373c5fbcd6271a7f004
2017-05-04 08:59:42 -07:00
Linfeng Zhang
d5de63d2be
Update highbd idct functions arguments to use uint16_t dst
...
BUG=webm:1388
Change-Id: I3581d80d0389b99166e70987d38aba2db6c469d5
2017-05-03 13:59:16 -07:00
Linfeng Zhang
081b39f2b7
Clean CONVERT_TO_BYTEPTR/SHORTPTR in idct
...
BUG=webm:1388
Change-Id: Ida62c941f2b836d6c9e27b427a7d5008ab6dc112
2017-05-03 13:58:31 -07:00
Yi Luo
a3452996a1
High bit depth inter prediction horizontal/vertical filters AVX2
...
User level speed improvement on i7-6700, cpu-used=1,
x86_64 Linux, bitrate, 1080p, 8Mbps, 4K, 16Mbps:
- Decoder:
1080p: ~4%
4K: ~5%
- Encoder:
1080p: ~1%
4K: ~3%
Change-Id: I51b48f9c5de0d62487d5a11aa579c97bd03dd640
2017-05-03 12:18:01 -07:00
James Zern
5599e4275a
Merge changes Ia5293d94,I90d481d3,Ia509d622,I54549b03,I89b635d6
...
* changes:
ppc: Add convolve8_vsx and convolve8_avg_vsx
ppc: Add convolve8_avg_vert_vsx
ppc: Add convolve8_vert
ppc: Add convolve8_horiz_avg
ppc: Add convolve8_horiz
2017-05-03 03:31:19 +00:00
Luca Barbato
e2ad89092d
ppc: Add convolve8_vsx and convolve8_avg_vsx
...
Change-Id: Ia5293d948003a7fff5a7cbad6e83d8a72717c857
2017-05-02 20:27:47 -07:00