]>
granicus.if.org Git - libvpx/log
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
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"
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"
Johann [Fri, 2 Sep 2016 22:21:35 +0000 (15:21 -0700)]
Restore vp8_bilinear_predict4x4_neon
This function was removed when clang started introducing alignment hints
which caused the 32 bit vld1_lane_u32/vst1_lane_u32 to fail:
https://llvm.org/bugs/show_bug.cgi?id=24421
The load has been rendered safe with an implementation ~indiscernible
performance-wise that uses _u8 and over-reads just a touch.
It is still ~5x faster than C in the unaligned case and doing both
filters.
BUG=webm:892
BUG=webm:1273
Change-Id: Icf7167189391b46202f47233bb585c24c42bcc36
Johann Koenig [Fri, 16 Sep 2016 04:12:07 +0000 (04:12 +0000)]
Merge "Restore vp8_sixtap_predict4x4_neon"
Johann [Fri, 16 Sep 2016 00:44:24 +0000 (17:44 -0700)]
zero structures completely
Use vp[89]_zero when possible.
Expand the {} set when neither is available or nearby.
Change-Id: Ifc1f46f60100916cd798bf7be3a10f09321c99bd
Johann [Thu, 15 Sep 2016 22:59:42 +0000 (15:59 -0700)]
vp8 postproc: expand CONFIG_POSTPROC guard
postproc.c is overloaded and used for both postproc and internal stats.
If only --enable-internal-stats is specified there are issues with
non-existent struct members and unused functions.
Change-Id: I82367f1ffce659c3918c9f964dbce94a716fbb89
Johann [Tue, 13 Sep 2016 21:22:26 +0000 (14:22 -0700)]
altref test: comment out 'pass'
All the other test which do not use 'pass' (which appears to be almost
all of them) do this.
Cleans -Wextra/-Wunused-parameter:
unused parameter ‘pass’
Change-Id: I1ff3acf3f3d1e831f94dcb00ea36337afe0aefe0
Johann Koenig [Thu, 15 Sep 2016 23:46:56 +0000 (23:46 +0000)]
Merge "vp9 frame parallel test: Initialize cfg differently"
Marco [Thu, 15 Sep 2016 22:14:46 +0000 (15:14 -0700)]
vp9: Small code cleanup.
Remove the experiment LIMIT_QP_ONEPASS_VBR_LAG, as its
not currently used and no plan to use in near future.
Change-Id: Ib069f8d7225195be04b765d0ab477510dfba6a3b
clang-format [Thu, 15 Sep 2016 22:07:46 +0000 (15:07 -0700)]
apply clang-format
Change-Id: I501597b7c1e0f0c7ae2aea3ee8073f0a641b3487
James Zern [Thu, 8 Sep 2016 03:56:01 +0000 (20:56 -0700)]
.clang-format: update to 3.8.1
based on --style=Google with the following differences:
3a4
> # Generated with clang-format 3.8.1
13c14
< AllowShortCaseLabelsOnASingleLine: false
---
> AllowShortCaseLabelsOnASingleLine: true
41c42
< ConstructorInitializerAllOnOneLineOrOnePerLine: true
---
> ConstructorInitializerAllOnOneLineOrOnePerLine: false
44,45c45,46
< Cpp11BracedListStyle: true
< DerivePointerAlignment: true
---
> Cpp11BracedListStyle: false
> DerivePointerAlignment: false
73c74
< PointerAlignment: Left
---
> PointerAlignment: Right
75c76
< SortIncludes: true
---
> SortIncludes: false
SortIncludes will like be enabled in a future commit
Change-Id: I5c404f44081b65354e7f526411c91fbbe31ac5af
Johann [Fri, 2 Sep 2016 18:29:20 +0000 (11:29 -0700)]
Restore vp8_sixtap_predict4x4_neon
This function was removed when clang started introducing alignment hints
which caused the 32 bit vld1_lane_u32/vst1_lane_u32 to fail:
https://llvm.org/bugs/show_bug.cgi?id=24421
The load has been rendered safe with an implementation ~indiscernible
performance-wise that uses _u8 and over-reads just a touch.
The store, when unaligned, has a version that is ~25% slower but safe
when xoffset = 0 (second pass filter only). When the first pass filter
(or both) are in play, the new version is almost identical in speed.
Worst case performance (both filters, unaligned stores) is roughly 3-4x
faster than C.
BUG=webm:817
BUG=webm:1273
Change-Id: I1e490e94453e0872151fe0dafb05557463f6247d
Johann [Thu, 15 Sep 2016 19:19:25 +0000 (12:19 -0700)]
vp9 frame parallel test: Initialize cfg differently
Use the canonical 'vpx_codec_dec_cfg_t()' as opposed to 'vp9_zero()'
which just hammered everything to 0.
Change-Id: Id820efef700ad92a625797f8fd58e465b15eeca4
Johann Koenig [Thu, 15 Sep 2016 19:17:13 +0000 (19:17 +0000)]
Merge "Documentation for building unit tests for Android"
Johann [Wed, 7 Sep 2016 22:18:40 +0000 (15:18 -0700)]
Documentation for building unit tests for Android
BUG=webm:1258
Change-Id: Iea142f7b0df0e047720e8c5362464932de57d564
James Zern [Wed, 14 Sep 2016 00:41:51 +0000 (00:41 +0000)]
Merge "cosmetics,vp8: join some lines, fix table format"
Johann [Tue, 13 Sep 2016 21:20:19 +0000 (14:20 -0700)]
vp8 decoder: cast decoding_thread_count to int
For some reason allocated_decoding_thread_count is signed, but decoding_thread_count is not.
Cleans -Wextra/-Wsign-compare:
comparison between signed and unsigned integer expressions
Change-Id: Id0ada78100acff27c1c4ed7493c563d13c55cdcd
Johann [Tue, 13 Sep 2016 21:12:03 +0000 (14:12 -0700)]
vp9 frame parallel test: Initialize cfg to 0
Use vp9_zero() to set every element.
Cleans -Wextra/-Wmissing-field-initializers:
missing initializer for member ‘vpx_codec_dec_cfg::w’
missing initializer for member ‘vpx_codec_dec_cfg::h’
Change-Id: I5b41ce7d55a912e29b1d4c3e840cea80e8510fbe
Johann [Tue, 13 Sep 2016 21:05:03 +0000 (14:05 -0700)]
vp9cx_set_ref.c: remove unused 'cfg' parameter
Cleans -Wextra/-Wunused-parameter warning:
warning: unused parameter ‘cfg’
Change-Id: I84eae57a50306cb66c625bb648b0a330678818db
Johann [Tue, 13 Sep 2016 21:03:23 +0000 (14:03 -0700)]
webmenc: remove unused 'fps' parameter
Cleans -Wextra/-Wunused-parameter warning:
warning: unused parameter ‘fps’
Change-Id: Ia5f9338f11ae8d0708a87c6d4e7d7e924fc3b19b
James Zern [Sat, 10 Sep 2016 00:37:13 +0000 (17:37 -0700)]
vpx_codec_control: return incapable for unmatched control
VPX_CODEC_INCAPABLE rather than the more generic VPX_CODEC_ERROR
Change-Id: Id1ed7fb23a2910192713c6b2389c0b7320201f52
James Zern [Fri, 9 Sep 2016 23:39:34 +0000 (16:39 -0700)]
cosmetics,vp8: join some lines, fix table format
Change-Id: Idcf3b68f0e59bd74c9d332bbd4a7c1484ddb691a
Marco [Fri, 9 Sep 2016 16:03:22 +0000 (09:03 -0700)]
vp8: Set the skin model to mode 1.
This change was reverted before due to a hangouts encode-time
regression investigation. But since then this change has been
cleared of causing any noticeable regression.
This mode reduces some false detection, and uses the
same model as in vp9.
Change-Id: I9c82a748c5f601d0aca9f61ee218abfbd58c62bd
James Zern [Fri, 9 Sep 2016 03:08:18 +0000 (03:08 +0000)]
Merge "vp8: Remove TSAN warning around end of encode."
Alexander Potapenko [Tue, 6 Sep 2016 16:50:38 +0000 (18:50 +0200)]
vp8: Remove TSAN warning around end of encode.
Tsan warns when run in one pass and there is a recode
loop.
Change-Id: Ice2ecb2270f09ebd49efbd49c0e4f77d32e23c0f
James Zern [Thu, 8 Sep 2016 01:05:17 +0000 (01:05 +0000)]
Merge "vpx_dsp: added vpx_highbd_idct32x32_1_add_sse2()"
James Zern [Wed, 7 Sep 2016 17:51:33 +0000 (10:51 -0700)]
vpx_mem.c: remove unnecessary inline
these aren't overly speed critical, best to leave it to the compiler.
Change-Id: I231c14abee5b845d7b8e8454832f2feb22c6ce45
Scott LaVarnway [Wed, 7 Sep 2016 12:58:29 +0000 (05:58 -0700)]
vpx_dsp: added vpx_highbd_idct32x32_1_add_sse2()
Change-Id: I140d93aebadb0eaf6220881e61a0451450081227
Sarah Parker [Sat, 3 Sep 2016 19:15:32 +0000 (12:15 -0700)]
Fix missing write to opsnr in internal stats
Change-Id: I21c8ad0b5ed7f8d843cae45c18f5727bceb8f859