Marco Paniconi [Fri, 30 Sep 2016 21:43:33 +0000 (21:43 +0000)]
Merge "vp9: On change_config() only call update_frame_size if needed."
Marco Paniconi [Fri, 30 Sep 2016 21:42:04 +0000 (21:42 +0000)]
Merge "vp9 real-time mode: Change loopfilter speed feature at speed 8."
James Zern [Fri, 30 Sep 2016 19:36:08 +0000 (19:36 +0000)]
Merge changes from topic '8bit-hbd-idct'
* changes:
*idct*_neon.c: add missing rtcd include
idct,msa/neon: exclude idct files from hbd build
*rtcd_defs.pl: remove empty specialize calls
James Zern [Fri, 30 Sep 2016 06:28:08 +0000 (23:28 -0700)]
*idct*_neon.c: add missing rtcd include
+ correct declarations as necessary
BUG=webm:1294
Change-Id: I719602df9a56e79188a78e7f8b31257c6d3cc11d
James Zern [Fri, 30 Sep 2016 07:43:49 +0000 (00:43 -0700)]
idct,msa/neon: exclude idct files from hbd build
these functions are incompatible currently and unreferenced in rtcd,
exclude them from the build.
BUG=webm:1294
Change-Id: I7790c195a91e1b142f56c04d2a5e305d9133b896
Linfeng Zhang [Fri, 30 Sep 2016 15:58:08 +0000 (15:58 +0000)]
Merge "Unify loopfilter function names"
Linfeng Zhang [Fri, 30 Sep 2016 15:56:30 +0000 (15:56 +0000)]
Merge "Refine vpx convolve8 NEON intrinsics optimization"
Linfeng Zhang [Fri, 30 Sep 2016 15:54:02 +0000 (15:54 +0000)]
Merge "Refine vpx_convolve_copy_neon() and vpx_convolve_avg_neon()"
James Zern [Fri, 30 Sep 2016 03:38:26 +0000 (20:38 -0700)]
*rtcd_defs.pl: remove empty specialize calls
add_proto adds a 'c' specialization
Change-Id: I0ed0c2240d45264b0e0056ce7c8f63f4a00780bc
James Zern [Fri, 30 Sep 2016 03:01:55 +0000 (03:01 +0000)]
Merge "configure: test for -Wshorten-64-to-32 in non hbd builds"
Johann Koenig [Fri, 30 Sep 2016 01:47:40 +0000 (01:47 +0000)]
Merge changes I158f631a,I0555f639
* changes:
vp8: remove mmx functions
Rename _xmm functions to _sse2
Yunqing Wang [Fri, 30 Sep 2016 00:49:06 +0000 (00:49 +0000)]
Merge "Fix an issue in vp9_first_pass for non-mulitple of 16 resolutions"
Linfeng Zhang [Wed, 28 Sep 2016 22:20:01 +0000 (15:20 -0700)]
Unify loopfilter function names
Rename vpx_lpf_horizontal_edge_8() to vpx_lpf_horizontal_16().
Rename vpx_lpf_horizontal_edge_16() to vpx_lpf_horizontal_16_dual().
Change-Id: I798ca8fbbd657d06d3db2bfb0fb3321168f49e52
Linfeng Zhang [Thu, 29 Sep 2016 19:38:37 +0000 (12:38 -0700)]
Refine vpx_convolve_copy_neon() and vpx_convolve_avg_neon()
BUG=webm:1290
Change-Id: Ia27e58521eba5a4852b50381c56746fa5767f6d6
Deepa K G [Thu, 29 Sep 2016 03:38:34 +0000 (20:38 -0700)]
Fix an issue in vp9_first_pass for non-mulitple of 16 resolutions
This patch sets the 16x16 src_diff to zero and ensures correct calculation
of this_error for block sizes smaller than 16x16.
Change-Id: I7b7c02d267433c9f22c8ac9b8d5df2f499175172
Johann Koenig [Thu, 29 Sep 2016 23:16:44 +0000 (23:16 +0000)]
Merge changes Ia3e9122f,Id33eb6c8,I956bd8ce
* changes:
Remove vp8_clear_system_state
vpx_dsp: clean up rtcd
vp8: clean up rtcd
James Zern [Thu, 29 Sep 2016 22:36:12 +0000 (22:36 +0000)]
Merge "vp9_detokenize,decode_coefs: fix signed int overflow"
Johann [Thu, 29 Sep 2016 22:21:26 +0000 (15:21 -0700)]
vp8: remove mmx functions
When they have sse2 equivalents.
Change-Id: I158f631a3bcecba57b36093ac10114b1904767a7
Johann [Thu, 29 Sep 2016 22:21:09 +0000 (15:21 -0700)]
Rename _xmm functions to _sse2
Avoid the extra level of indirection/confusion.
Change-Id: I0555f639d67835df9fb7dac0c75085e9954805f1
Johann [Thu, 29 Sep 2016 19:21:44 +0000 (12:21 -0700)]
Remove vp8_clear_system_state
Use vpx_clear_system_state instead.
Change-Id: Ia3e9122f69a2c690ddd7c7bc54f92ccb9ec18b3e
Marco [Thu, 29 Sep 2016 18:15:26 +0000 (11:15 -0700)]
vp9: On change_config() only call update_frame_size if needed.
change_config() may be called often in real-time application,
to update bitrate/framerate or qp-max/min.
No need to do update_frame_size() unless frame size has changed.
Change-Id: I23a51deade1e03adc91c468f9ffde3235298770c
Marco [Mon, 26 Sep 2016 23:52:26 +0000 (16:52 -0700)]
vp9 real-time mode: Change loopfilter speed feature at speed 8.
For real-time mode at speed 8: turn off MINIMAL_LF at speed 8,
for non-screen content mode.
Visually better, avgPSNR/SSIM on rtc set go up by ~4-5%.
Speed decrease of about ~3%.
Change-Id: I8eb69330f02e0ceece1507d43cfc8a049a1d8291
Linfeng Zhang [Thu, 29 Sep 2016 19:48:59 +0000 (12:48 -0700)]
Refine vpx convolve8 NEON intrinsics optimization
BUG=webm:1290
Change-Id: I5d7fce62270f9d76ef9ce98b3d188ad11fb21873
James Zern [Thu, 29 Sep 2016 19:11:35 +0000 (19:11 +0000)]
Merge changes I11786887,Ia91823ad
* changes:
vpx_dsp/get_prob: relocate den == 0 test
vpx_dsp/get_prob: make clip_prob branchless
Johann [Thu, 29 Sep 2016 19:06:37 +0000 (12:06 -0700)]
vpx_dsp: clean up rtcd
Remove avx2+ssse3 specialization. Disabling ssse3 now automatically
disables avx2.
Change-Id: Id33eb6c85d1c4ee57128ebe45c995eb15cfcc765
Johann [Thu, 29 Sep 2016 19:05:09 +0000 (12:05 -0700)]
vp8: clean up rtcd
Remove lines which specify the same name for a function.
Change-Id: I956bd8ce2b81a2a8feab5621d28bd2499c2b4c2d
James Zern [Thu, 29 Sep 2016 03:37:18 +0000 (20:37 -0700)]
vp9_detokenize,decode_coefs: fix signed int overflow
when decoding an invalid bitstream with --enable-vp9-highbitdepth
BUG=webm:1297
Change-Id: I401d87033b4293f2ca595bc51678aad9951ecf15
James Zern [Thu, 29 Sep 2016 00:39:05 +0000 (17:39 -0700)]
vpx_dsp/get_prob: relocate den == 0 test
to get_binary_prob(). the only other caller mode_mv_merge_probs() does
its own test on 0.
BUG=chromium:639712
Change-Id: I1178688706baeca2883f7aadbc254abb219a44ce
James Zern [Wed, 28 Sep 2016 23:36:23 +0000 (23:36 +0000)]
Merge "vp9: fix compilation for g++ 6.2.x"
Johann Koenig [Wed, 28 Sep 2016 20:54:24 +0000 (20:54 +0000)]
Merge "Hook up vp8_diamond_search_sad_sse3"
James Zern [Wed, 28 Sep 2016 19:35:16 +0000 (19:35 +0000)]
Merge "vpxdec: avoid memory leaks under most conditions"
James Zern [Wed, 28 Sep 2016 02:43:03 +0000 (19:43 -0700)]
vpx_dsp/get_prob: make clip_prob branchless
+ inline the function directly as there was only one consumer
(get_prob())
this is an attempt to reduce the amount of branches to workaround an amd
bug. this change is mildly faster or neutral across x86-64, arm.
http://support.amd.com/TechDocs/44739_12h_Rev_Gd.pdf
665 Integer Divide Instruction May Cause Unpredictable Behavior
BUG=chromium:639712
Suggested-by: Pascal Massimino <pascal.massimino@gmail.com>
Change-Id: Ia91823aded79aab469dd68095d44300e8df04ed2
Tristan Matthews [Thu, 22 Sep 2016 22:49:27 +0000 (18:49 -0400)]
vp9: fix compilation for g++ 6.2.x
Inline function called from test/dct16x16_test.cc wouldn't build due to:
invalid operands of types ‘__gnu_cxx::__enable_if<true, double>::__type
{aka double}’ and ‘int’ to binary ‘operator>>’
return (abs(ref->row) >> 3) < COMPANDED_MVREF_THRESH &&
this converts the test to abs() < COMPANDED_MVREF_THRESH << 3 which
hides the promotion issue.
Regression from commit
de993a847f8080d3128420c8ef8495642013bdb1
BUG=webm:1291
Change-Id: I73b5943d07d5b61b709d299114216a2371a8fd62
Linfeng Zhang [Wed, 28 Sep 2016 00:20:27 +0000 (00:20 +0000)]
Merge "Clean convolve_test.cc"
Debargha Mukherjee [Wed, 28 Sep 2016 00:05:37 +0000 (00:05 +0000)]
Merge "Fix for compile error with range checking"
James Zern [Thu, 7 Apr 2016 07:07:45 +0000 (00:07 -0700)]
configure: test for -Wshorten-64-to-32 in non hbd builds
provides msvc-like warnings for implicit conversions from 64-bit to
32-bit types
--enable-vp9-highbitdepth still requires some work
this also skips CXXFLAGS for now as some work would be needed to cleanup
third_party/*.cc or split it from test/*.cc where it comes to flags.
Change-Id: Ic9a095b73286eba5ed39bfc27ff69593748cbbf4
Johann [Tue, 27 Sep 2016 22:37:10 +0000 (15:37 -0700)]
Cast strto[u]l down
Change-Id: I945b2f8754cf484a08e5ba511cfd2d4a44181b08
Johann [Mon, 26 Sep 2016 23:20:32 +0000 (16:20 -0700)]
Hook up vp8_diamond_search_sad_sse3
The original commit never set any 'specialize' line:
61311e61039c300ae872ccba22304e9e60dc0205
It appears the sadx4 version of function uses sdx4df calls to speed up
the search. There are no sse3 versions of the sdx4df functions, but
there are sse2 and msa versions.
There is a neon version of vpx_sad16x16x4d but not any of the smaller
versions. Perhaps if they existed this function could be expanded to use
them.
Change-Id: I936d7d6b1a3ff6dcd5a4d2322272708c47cdec13
James Zern [Tue, 27 Sep 2016 21:29:18 +0000 (14:29 -0700)]
vpxdec: avoid memory leaks under most conditions
avoids false positives when fuzzing with ASan+LSan.
Change-Id: I0d23b530ae80e5692b6951fe6e3690ea44159a5a
Johann Koenig [Tue, 27 Sep 2016 21:13:50 +0000 (21:13 +0000)]
Merge changes from topic 'wextra'
* changes:
Expand -Wextra to more of the library
mips: clean up wextra warnings
Add compiler flag -Wsign-compare
Add compiler warning flag -Wextra and fix related warnings.
Linfeng Zhang [Tue, 20 Sep 2016 21:23:15 +0000 (14:23 -0700)]
Clean convolve_test.cc
Combine test MatchesReferenceSubpixelFilter and
MatchesReferenceAveragingSubpixelFilter.
Change-Id: I75f96befbbb118cdc6b8c6001b4cdda8d88fbbd3
Johann [Tue, 13 Sep 2016 21:01:38 +0000 (14:01 -0700)]
Expand -Wextra to more of the library
Suppress warnings in third_party/.
vp8 -Wclobbered issue is tracked here:
BUG=webm:1246
BUG=webm:1069
Change-Id: I9b94bf546d7b690c26a59ae67967facdce8ec45b
Johann [Tue, 27 Sep 2016 20:17:51 +0000 (13:17 -0700)]
mips: clean up wextra warnings
Remove unused zbin variable:
warning: unused parameter ‘zbin’
Use int for loop variables to avoid unsigned conversion:
warning: comparison between signed and unsigned integer expressions
Change-Id: Icea74b870c0ee68a8bf687e796a69392af25a8ad
Urvang Joshi [Fri, 8 Jul 2016 23:09:36 +0000 (16:09 -0700)]
Add compiler flag -Wsign-compare
Also, fix the warnings generated by this flag.
(cherry picked from commit
ebeb1155d4fa6d28e2f40c92265245f8df097fcb)
From AOM. Don't actually add -Wsign-compare. It will be covered by
-Wextra.
Switch to vpx_integer.h from
df9c9d6d4c43f02c58d4e776c53323788e013cbc
BUG=webm:1069
Change-Id: I1dc6e61caa5d56af4a55b6692ab620bb3144652a
Urvang Joshi [Thu, 14 Jul 2016 19:33:48 +0000 (12:33 -0700)]
Add compiler warning flag -Wextra and fix related warnings.
Note: some of these warnings are enabled by a combination of -Wunused
(added earlier) and -Wextra.
Cherry-picked from AOM
4790a69faaec8f03d65f64ff070f6ab4307dbb16
Expands use of (void)x; on unused variables. AOM only supports one codec
in codec_factory.h
Does not include changes to HandleDecodeResult. AOM removed
invalid_file_test.cc which does use the video parameter.
Does not enable -Wextra yet. There are more issues to fix.
BUG=webm:1069
Change-Id: I322a1366bd4fd6c0dec9e758c2d5e88e003b1cbf
Paul Wilkins [Tue, 27 Sep 2016 14:08:28 +0000 (14:08 +0000)]
Merge "Limit max arf boost and scale motion breakout for image size."
Peter de Rivaz [Tue, 27 Sep 2016 08:10:06 +0000 (09:10 +0100)]
Fix for compile error with range checking
Current version does not build with options:
--enable-vp9-highbitdepth --enable-coefficient-range-checking
Change-Id: Ic3285f1a3e0d6be88da7f2cd8fa5a631368dd03b
Marco Paniconi [Mon, 26 Sep 2016 22:05:43 +0000 (22:05 +0000)]
Merge "vp9: Reduce frame loopfilter-level for 1 pass cbr."
Johann Koenig [Mon, 26 Sep 2016 19:11:00 +0000 (19:11 +0000)]
Merge "Un-Revert "Restore vp8_sixtap_predict4x4_neon""
Johann Koenig [Mon, 26 Sep 2016 19:10:57 +0000 (19:10 +0000)]
Merge "Use shifted value for sinpi8sqrt2"
Marco [Mon, 26 Sep 2016 16:57:49 +0000 (09:57 -0700)]
vp9: Reduce frame loopfilter-level for 1 pass cbr.
Reduce the filt_guess for 1 pass cbr on inter-frames.
This reduces visual artifact seen in rtc clip (jimred.vga),
and improves metrics on rtc set.
Metrics on rtc set for cbr mode overall positive, most clips are up:
Speed 7 rtc: avgPSNR/SSIM up by: ~2.6/3.9%
Speed 8 rtc: avgPSNR/SSIM up by: ~1.3/2.5%
Change-Id: Ia4eccea1c19d65b583516df28823cd756c49464f
Linfeng Zhang [Mon, 26 Sep 2016 16:11:11 +0000 (16:11 +0000)]
Merge "Refactor lpf (size 4 and 8) NEON intrinsics optimization"
paulwilkins [Mon, 26 Sep 2016 14:35:23 +0000 (15:35 +0100)]
Limit max arf boost and scale motion breakout for image size.
Added a cap on the maximum boost for an arf based on interval length.
Fixed bug where by the image size was not accounted for in determining
two of the motion breakout thresholds.
Overall small gains of 0.2-0.4% psnr but on large image format clips with
slow zooms the gain may be as much as 20% or more (e.g. in_to_tree
at 1080P)
Change-Id: Id0a47391203026742daa9c97afac5705fd8c4dfb
Scott LaVarnway [Mon, 26 Sep 2016 12:06:50 +0000 (12:06 +0000)]
Merge "VP9: token decoder expansion"
James Zern [Sat, 24 Sep 2016 01:47:00 +0000 (01:47 +0000)]
Merge "vp9_idct: delete dead TODOs"
Johann [Tue, 2 Aug 2016 22:59:35 +0000 (15:59 -0700)]
Use shifted value for sinpi8sqrt2
The value 35468 changes sign when stored in int16_t:
implicit conversion from 'int' to 'int16_t' (aka 'short')
changes value from 35468 to -30068
This negation requires adding back the original value to compensate.
Shifting the value keeps the value positive and saves a post-vqdmulh
shift.
This technique is used in webp and idct_dequant_full_2x_neon
BUG=b/
28027557
Change-Id: I0c5ce09bea170fe08061856c2af6f841a557e0c3
Johann [Thu, 22 Sep 2016 21:48:58 +0000 (14:48 -0700)]
Un-Revert "Restore vp8_sixtap_predict4x4_neon"
This restores
d9dce2f48eed1368a44c368fa87a506bd89ffec5
Switched to using signed shift-and-narrow. Instead of saturating
negative results to 0, it was saturating them to 255.
BUG=webm:817
BUG=webm:1273
Change-Id: I571095336aa4182e3288b17924fcaaece42b0a49
Scott LaVarnway [Fri, 23 Sep 2016 12:03:52 +0000 (05:03 -0700)]
VP9: token decoder expansion
This version is based on Change 267683, but does not
use the macros.
Change-Id: I0619fa618decf8bdeef250584d75d70318b5d9a7
Scott LaVarnway [Fri, 23 Sep 2016 11:59:15 +0000 (11:59 +0000)]
Merge "VP9: pass TileWorkerData instead of MACROBLOCKD and vpx_reader."
James Zern [Fri, 23 Sep 2016 02:49:26 +0000 (02:49 +0000)]
Merge "vpx_idct32x32_34_add_sse2: rm unneeded transposes"
James Zern [Fri, 23 Sep 2016 02:18:49 +0000 (02:18 +0000)]
Merge "variance_neon: sync variance*() w/c,sse2"
Scott LaVarnway [Thu, 22 Sep 2016 20:18:36 +0000 (13:18 -0700)]
VP9: pass TileWorkerData instead of MACROBLOCKD and vpx_reader.
Change-Id: I869ef0f113c022143b531c44aefa0f1bb267052d
James Zern [Wed, 21 Sep 2016 03:22:08 +0000 (20:22 -0700)]
vpx_idct32x32_34_add_sse2: rm unneeded transposes
this change is neutral to mildly positive across various x86-64
platforms
Change-Id: I28fb5ae598fc1317b7a42c9a846ac5d57d104784
Angie Chiang [Thu, 22 Sep 2016 01:06:37 +0000 (01:06 +0000)]
Merge "Detect invalid highbd iht input"
James Zern [Thu, 22 Sep 2016 01:04:45 +0000 (18:04 -0700)]
variance_neon: sync variance*() w/c,sse2
removes some unnecessary casts and adds a few explicit uint32 ones for
larger sizes to quiet -Wshorten-64-to-32 warnings
Change-Id: I63c5fce8e62c426d5cf5c10a66a113c119a43518
James Zern [Thu, 22 Sep 2016 00:43:35 +0000 (00:43 +0000)]
Merge "vp8: remove VP8_SET_DBG* control support"
Angie Chiang [Tue, 20 Sep 2016 18:59:23 +0000 (11:59 -0700)]
Detect invalid highbd iht input
Do nothing in vp9_highbd_iht#x#_##_add_c when input magnitude is beyond
20 bits. Note that, sign bit is not included here.
In the 20 bits, we use 12 bits for input signal, 7 bits for forward
transform amplification, and 1 bit for contingency in rounding and
quantizing
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1286
Change-Id: I332c6f68df4614fc2e7d2dc4c5bb0d0cff8a245c
Johann [Wed, 21 Sep 2016 22:55:45 +0000 (15:55 -0700)]
Keep vp8 sixtap read within bounds
When filtering it needs 6 pixels: 2 prior to the source, the source, and
3 after the source.
When filtering 16 wide, that means 21. To accomplish this the SSE2 reads
[-2] to [5], [6] to [13], and [14] to [21], a total of 24 bytes (reading
in groups of 8 is easy)
The filter then shifts this last set to the top half of the register and
uses 'or' to combine it with the previous set.
Valgrind detected an issue reading pixels [19], [20] and [21]:
Address 0x7f581c2 is 434 bytes inside a block of size 441 alloc'd
Note: we only need pixels [16], [17], and [18] as context for [15].
To fix this, it now reads 8 bytes starting at [11], which re-loads [11]
through [13], but stops at [18] and does not over-read any values.
This is shifted by 5 and 'or'd with xmm1. Although the lower bits are
not cleared, they overlap directly with [11] through [13], so 'or'
produces the correct results.
Change-Id: I0c89c03afa660fc9b0108ac055d7bd403e493320
Johann [Wed, 21 Sep 2016 20:31:59 +0000 (13:31 -0700)]
predict_test: align dst buffer to 16
On 32 bit machines 'new' does not always appear to allocate sufficiently
aligned buffers, causing intermittent test failures.
Change-Id: I0db4fc73782012e4eef71dc0fb540e74fdbfcebe
James Zern [Wed, 7 Sep 2016 23:17:50 +0000 (16:17 -0700)]
vp8: remove VP8_SET_DBG* control support
the --enable-postproc-visualizer configure option remains as a no-op as
do the control names and values for compatibility
+ remove the corresponding debug flags from vpxdec: --pp-*
Change-Id: I4a001cd9962b59560d7d6bda6272d4ff32b8d37c
James Zern [Tue, 20 Sep 2016 03:34:22 +0000 (20:34 -0700)]
vp9_idct: delete dead TODOs
Change-Id: Icdd5494f557d83026dc078bce37997a76aa288fb
James Zern [Tue, 20 Sep 2016 23:17:20 +0000 (23:17 +0000)]
Merge changes from topic 'Wshorten'
* changes:
vp8: convert some uses of unsigned long to size_t
vp8/encoder: quiet some -Wshorten-64-to-32 warnings
James Zern [Tue, 20 Sep 2016 22:33:38 +0000 (22:33 +0000)]
Merge "variance_avx2: sync variance functions with c-code"
James Zern [Tue, 20 Sep 2016 22:32:58 +0000 (22:32 +0000)]
Merge "examples: quiet -Wshorten-64-to-32 warnings"
James Zern [Tue, 20 Sep 2016 22:07:09 +0000 (22:07 +0000)]
Merge "vp9_rtcd: remove non-existent highbd convolve fns"
Johann Koenig [Tue, 20 Sep 2016 21:46:50 +0000 (21:46 +0000)]
Merge "Enable ssse3 bilinear tests"
Johann Koenig [Tue, 20 Sep 2016 20:30:48 +0000 (20:30 +0000)]
Merge "Add vp8_bilinear_filter test"
Alex Converse [Tue, 20 Sep 2016 19:19:28 +0000 (19:19 +0000)]
Merge "Code class0 using vpx_read() / vpx_write()."
James Zern [Tue, 20 Sep 2016 03:01:23 +0000 (20:01 -0700)]
vp9_rtcd: remove non-existent highbd convolve fns
these were moved to vpx_dsp
Change-Id: I307b07ae05e2333277d4b7011cba36dcf8409959
James Zern [Tue, 20 Sep 2016 02:01:21 +0000 (19:01 -0700)]
examples: quiet -Wshorten-64-to-32 warnings
all around usage of strtol/strtoul
Change-Id: If907c89f107a068987aa71ddd93cee9a7389e4cd
James Zern [Tue, 20 Sep 2016 01:33:10 +0000 (18:33 -0700)]
vp8: convert some uses of unsigned long to size_t
similar to changes that were done in vp9 for encoded frame size
reporting. has the side-effect of quieting a -Wshorten-64-to-32 warning.
Change-Id: I89f74cb617fc29334ee351dc8dfaa3b8cfd4e5af
James Zern [Tue, 20 Sep 2016 01:32:12 +0000 (18:32 -0700)]
vp8/encoder: quiet some -Wshorten-64-to-32 warnings
this code is similar to other existing uses and/or vp9
Change-Id: I56e646931379759d9f7332ea6d746060007c75ee
Linfeng Zhang [Mon, 19 Sep 2016 18:37:16 +0000 (11:37 -0700)]
Refactor lpf (size 4 and 8) NEON intrinsics optimization
Also check in 8x8 8-bit transpose NEON intrinsics optimization
transpose_u8_8x8()
Change-Id: I32d321cf97ea21eab158ac4896990fc9a51681c4
James Zern [Mon, 19 Sep 2016 23:17:24 +0000 (16:17 -0700)]
variance_avx2: sync variance functions with c-code
add missing int64 -> uint32 cast; quiets -Wshorten-64-to-32 warnings
Change-Id: I4850b36e18dc8b399108342be4bfe0b684aefb78
Johann Koenig [Mon, 19 Sep 2016 22:49:22 +0000 (22:49 +0000)]
Merge "Remove -fno-strict-aliasing flag"
Johann [Sat, 27 Aug 2016 01:13:07 +0000 (18:13 -0700)]
Remove -fno-strict-aliasing flag
The referenced bug was fixed by saving neon registers. That this had any
effect was coincidental.
Both chromium and Android build with clang and neither uses this flag.
Change-Id: I470247d6fd9226fc207b42a187105581a94badc3
Nathan E. Egge [Thu, 8 Sep 2016 21:25:49 +0000 (17:25 -0400)]
Code class0 using vpx_read() / vpx_write().
The vp9_mv_class0_tree is a balanced tree with two leafs and can
simply be coded as a boolean with probability class0[0].
Change-Id: If294dac825a5f945371092c74aa8e3f84cd962b6
(cherry picked from commit
be8a8ab62ebdd111c6f2e9a33b15630570671eba)
Alex Converse [Mon, 19 Sep 2016 17:04:47 +0000 (10:04 -0700)]
Zero the whole rd_counts struct rather than the each member
Change-Id: I495aa9cec2b2b8f1ae69bdab8b3feeca76358472
James Zern [Sat, 17 Sep 2016 18:00:31 +0000 (11:00 -0700)]
loopfilter_mb_neon: remove unused load_8x8()
quiets a -Wunused-function warning for arm targets
Change-Id: I293a7e3d3d7d61d6af2fbedad5e8c25126c418b6
Linfeng Zhang [Sat, 17 Sep 2016 00:33:30 +0000 (00:33 +0000)]
Merge "Refactor lpf (size 16) NEON intrinsics optimization"
James Zern [Fri, 16 Sep 2016 17:30:44 +0000 (17:30 +0000)]
Merge "vpx_codec_control: return incapable for unmatched control"
Linfeng Zhang [Thu, 15 Sep 2016 23:49:47 +0000 (16:49 -0700)]
Refactor lpf (size 16) NEON intrinsics optimization
Extract shared code so later lpf size 4 and 8 functions can reuse.
Change-Id: Ibb43ef1fd8651bd2e32fcc4c56cf6fa7ca237401
James Zern [Fri, 16 Sep 2016 03:40:21 +0000 (20:40 -0700)]
vpx_subpixel_8t_intrin_avx2: tolerate unversioned clang
assume __clang_major__==0 has the latest version of
_mm256_broadcastsi128_si256. fixes builds with custom clang toolchains.
BUG=b/
30970831
Change-Id: I90becd56278e4716bd46e2ba9d910af977e8dfa6
James Zern [Fri, 16 Sep 2016 07:11:33 +0000 (07:11 +0000)]
Merge changes from topic 'clang-format'
* changes:
apply clang-format
.clang-format: update to 3.8.1
Johann [Fri, 9 Sep 2016 01:46:14 +0000 (18:46 -0700)]
Enable ssse3 bilinear tests
The code only has issues when xoffset == 0 and yoffset == 0 which
represents a simple copy. Presumably this case does not need to be
handled because the issue has existed since 2010.
BUG=webm:1287
Change-Id: Ic47e2653f3b729e99b40e53d8d2d8d1501edaaa9
Johann [Sat, 3 Sep 2016 01:42:40 +0000 (18:42 -0700)]
Add vp8_bilinear_filter test
Build out the sixtap_predict test because the filters are
interchangeable. Add verbose failures and border checking.
Change-Id: I962f50041750dca6f8d0cd35a943424cf82ddcb1
James Zern [Fri, 16 Sep 2016 06:13:41 +0000 (06:13 +0000)]
Merge "Revert "Restore vp8_sixtap_predict4x4_neon""
Johann Koenig [Fri, 16 Sep 2016 06:12:49 +0000 (06:12 +0000)]
Revert "Restore vp8_sixtap_predict4x4_neon"
This reverts commit
d9dce2f48eed1368a44c368fa87a506bd89ffec5.
Appears to be failing the SixtapPredict tests in some configurations and possibly test vectors as well.
Change-Id: Ica6aa83ebac47d0a76e451846e7da67b1c17a7d7
Johann Koenig [Fri, 16 Sep 2016 05:33:50 +0000 (05:33 +0000)]
Merge "Restore vp8_bilinear_predict4x4_neon"
Johann Koenig [Fri, 16 Sep 2016 04:41:22 +0000 (04:41 +0000)]
Merge "zero structures completely"