]> granicus.if.org Git - libvpx/log
libvpx
8 years agovp9: fix compilation for g++ 6.2.x
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

8 years agoMerge "Detect invalid highbd iht input"
Angie Chiang [Thu, 22 Sep 2016 01:06:37 +0000 (01:06 +0000)]
Merge "Detect invalid highbd iht input"

8 years agoMerge "vp8: remove VP8_SET_DBG* control support"
James Zern [Thu, 22 Sep 2016 00:43:35 +0000 (00:43 +0000)]
Merge "vp8: remove VP8_SET_DBG* control support"

8 years agoDetect invalid highbd iht input
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

8 years agoKeep vp8 sixtap read within bounds
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

8 years agopredict_test: align dst buffer to 16
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

8 years agovp8: remove VP8_SET_DBG* control support
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

8 years agoMerge changes from topic 'Wshorten'
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

8 years agoMerge "variance_avx2: sync variance functions with c-code"
James Zern [Tue, 20 Sep 2016 22:33:38 +0000 (22:33 +0000)]
Merge "variance_avx2: sync variance functions with c-code"

8 years agoMerge "examples: quiet -Wshorten-64-to-32 warnings"
James Zern [Tue, 20 Sep 2016 22:32:58 +0000 (22:32 +0000)]
Merge "examples: quiet -Wshorten-64-to-32 warnings"

8 years agoMerge "vp9_rtcd: remove non-existent highbd convolve fns"
James Zern [Tue, 20 Sep 2016 22:07:09 +0000 (22:07 +0000)]
Merge "vp9_rtcd: remove non-existent highbd convolve fns"

8 years agoMerge "Enable ssse3 bilinear tests"
Johann Koenig [Tue, 20 Sep 2016 21:46:50 +0000 (21:46 +0000)]
Merge "Enable ssse3 bilinear tests"

8 years agoMerge "Add vp8_bilinear_filter test"
Johann Koenig [Tue, 20 Sep 2016 20:30:48 +0000 (20:30 +0000)]
Merge "Add vp8_bilinear_filter test"

8 years agoMerge "Code class0 using vpx_read() / vpx_write()."
Alex Converse [Tue, 20 Sep 2016 19:19:28 +0000 (19:19 +0000)]
Merge "Code class0 using vpx_read() / vpx_write()."

8 years agovp9_rtcd: remove non-existent highbd convolve fns
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

8 years agoexamples: quiet -Wshorten-64-to-32 warnings
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

8 years agovp8: convert some uses of unsigned long to size_t
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

8 years agovp8/encoder: quiet some -Wshorten-64-to-32 warnings
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

8 years agovariance_avx2: sync variance functions with c-code
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

8 years agoMerge "Remove -fno-strict-aliasing flag"
Johann Koenig [Mon, 19 Sep 2016 22:49:22 +0000 (22:49 +0000)]
Merge "Remove -fno-strict-aliasing flag"

8 years agoRemove -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

8 years agoCode class0 using vpx_read() / vpx_write().
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)

8 years agoZero the whole rd_counts struct rather than the each member
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

8 years agoloopfilter_mb_neon: remove unused load_8x8()
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

8 years agoMerge "Refactor lpf (size 16) NEON intrinsics optimization"
Linfeng Zhang [Sat, 17 Sep 2016 00:33:30 +0000 (00:33 +0000)]
Merge "Refactor lpf (size 16) NEON intrinsics optimization"

8 years agoMerge "vpx_codec_control: return incapable for unmatched control"
James Zern [Fri, 16 Sep 2016 17:30:44 +0000 (17:30 +0000)]
Merge "vpx_codec_control: return incapable for unmatched control"

8 years agoRefactor lpf (size 16) NEON intrinsics optimization
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

8 years agovpx_subpixel_8t_intrin_avx2: tolerate unversioned clang
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

8 years agoMerge changes from topic 'clang-format'
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

8 years agoEnable ssse3 bilinear tests
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

8 years agoAdd vp8_bilinear_filter test
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

8 years agoMerge "Revert "Restore vp8_sixtap_predict4x4_neon""
James Zern [Fri, 16 Sep 2016 06:13:41 +0000 (06:13 +0000)]
Merge "Revert "Restore vp8_sixtap_predict4x4_neon""

8 years agoRevert "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

8 years agoMerge "Restore vp8_bilinear_predict4x4_neon"
Johann Koenig [Fri, 16 Sep 2016 05:33:50 +0000 (05:33 +0000)]
Merge "Restore vp8_bilinear_predict4x4_neon"

8 years agoMerge "zero structures completely"
Johann Koenig [Fri, 16 Sep 2016 04:41:22 +0000 (04:41 +0000)]
Merge "zero structures completely"

8 years agoRestore vp8_bilinear_predict4x4_neon
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

8 years agoMerge "Restore vp8_sixtap_predict4x4_neon"
Johann Koenig [Fri, 16 Sep 2016 04:12:07 +0000 (04:12 +0000)]
Merge "Restore vp8_sixtap_predict4x4_neon"

8 years agozero structures completely
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

8 years agovp8 postproc: expand CONFIG_POSTPROC guard
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

8 years agoaltref test: comment out 'pass'
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

8 years agoMerge "vp9 frame parallel test: Initialize cfg differently"
Johann Koenig [Thu, 15 Sep 2016 23:46:56 +0000 (23:46 +0000)]
Merge "vp9 frame parallel test: Initialize cfg differently"

8 years agovp9: Small code cleanup.
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

8 years agoapply clang-format
clang-format [Thu, 15 Sep 2016 22:07:46 +0000 (15:07 -0700)]
apply clang-format

Change-Id: I501597b7c1e0f0c7ae2aea3ee8073f0a641b3487

8 years ago.clang-format: update to 3.8.1
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

8 years agoRestore vp8_sixtap_predict4x4_neon
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

8 years agovp9 frame parallel test: Initialize cfg differently
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

8 years agoMerge "Documentation for building unit tests for Android"
Johann Koenig [Thu, 15 Sep 2016 19:17:13 +0000 (19:17 +0000)]
Merge "Documentation for building unit tests for Android"

8 years agoDocumentation 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

8 years agoMerge "cosmetics,vp8: join some lines, fix table format"
James Zern [Wed, 14 Sep 2016 00:41:51 +0000 (00:41 +0000)]
Merge "cosmetics,vp8: join some lines, fix table format"

8 years agovp8 decoder: cast decoding_thread_count to int
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

8 years agovp9 frame parallel test: Initialize cfg to 0
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

8 years agovp9cx_set_ref.c: remove unused 'cfg' parameter
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

8 years agowebmenc: remove unused 'fps' parameter
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

8 years agovpx_codec_control: return incapable for unmatched control
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

8 years agocosmetics,vp8: join some lines, fix table format
James Zern [Fri, 9 Sep 2016 23:39:34 +0000 (16:39 -0700)]
cosmetics,vp8: join some lines, fix table format

Change-Id: Idcf3b68f0e59bd74c9d332bbd4a7c1484ddb691a

8 years agovp8: Set the skin model to mode 1.
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

8 years agoMerge "vp8: Remove TSAN warning around end of encode."
James Zern [Fri, 9 Sep 2016 03:08:18 +0000 (03:08 +0000)]
Merge "vp8: Remove TSAN warning around end of encode."

8 years agovp8: 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

8 years agoMerge "vpx_dsp: added vpx_highbd_idct32x32_1_add_sse2()"
James Zern [Thu, 8 Sep 2016 01:05:17 +0000 (01:05 +0000)]
Merge "vpx_dsp: added vpx_highbd_idct32x32_1_add_sse2()"

8 years agovpx_mem.c: remove unnecessary inline
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

8 years agovpx_dsp: added vpx_highbd_idct32x32_1_add_sse2()
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

8 years agoFix missing write to opsnr in internal stats
Sarah Parker [Sat, 3 Sep 2016 19:15:32 +0000 (12:15 -0700)]
Fix missing write to opsnr in internal stats

Change-Id: I21c8ad0b5ed7f8d843cae45c18f5727bceb8f859

8 years agoMerge "invalid_file_test: quiet -Wunused-const-variable warnings"
James Zern [Sat, 3 Sep 2016 01:14:54 +0000 (01:14 +0000)]
Merge "invalid_file_test: quiet -Wunused-const-variable warnings"

8 years agoinvalid_file_test: quiet -Wunused-const-variable warnings
James Zern [Fri, 2 Sep 2016 02:52:27 +0000 (19:52 -0700)]
invalid_file_test: quiet -Wunused-const-variable warnings

present when --disable-vp8(-decoder) or --disable-vp9(-decoder) was used

Change-Id: I31ebb7a55c6f1af3c744982f56b78e80116cc845

8 years agovp8_cx_iface: quiet -Wshorten-64-to-32 warning
James Zern [Fri, 2 Sep 2016 02:50:04 +0000 (19:50 -0700)]
vp8_cx_iface: quiet -Wshorten-64-to-32 warning

set_reference_and_update(): use the correct type for flags,
vpx_enc_frame_flags_t

Change-Id: I257da784537ff18686f6db8665f99af6ea6a86ba

8 years agoget_cpu_count: quiet -Wshorten-64-to-32 warnings
James Zern [Fri, 2 Sep 2016 02:48:04 +0000 (19:48 -0700)]
get_cpu_count: quiet -Wshorten-64-to-32 warnings

sysconf returns a long; cast (unsigned) dwNumberOfProcessors to int for
good measure

Change-Id: I1f181d7bd9a060c0898db41f66a5065394afdc4e

8 years agoMerge changes from topic 'Wundef'
Johann Koenig [Fri, 2 Sep 2016 01:39:17 +0000 (01:39 +0000)]
Merge changes from topic 'Wundef'

* changes:
  Enable -Wundef by default
  Define VP8_TEMPORAL_ALT_REF to !CONFIG_REALTIME_ONLY
  Remove CONFIG_DEBUG guards from assert()
  Remove unused function vpx_de_mblock
  Fix -Wundef warning for OUTPUT_FPF
  Fix -Wundef warning for __SANITIZE_ADDRESS__

8 years agoMerge "Fix formatting in internal stats for vp8 and vp9"
Yaowu Xu [Thu, 1 Sep 2016 23:55:23 +0000 (23:55 +0000)]
Merge "Fix formatting in internal stats for vp8 and vp9"

8 years agoMerge "Casts to remove some warnings."
Yaowu Xu [Thu, 1 Sep 2016 23:37:04 +0000 (23:37 +0000)]
Merge "Casts to remove some warnings."

8 years agoMerge "Refactor uv tx size with lookup arrays"
Debargha Mukherjee [Thu, 1 Sep 2016 16:46:32 +0000 (16:46 +0000)]
Merge "Refactor uv tx size with lookup arrays"

8 years agoMerge "Modified resize loop constraints."
Paul Wilkins [Thu, 1 Sep 2016 15:59:29 +0000 (15:59 +0000)]
Merge "Modified resize loop constraints."

8 years agoCasts to remove some warnings.
paulwilkins [Thu, 1 Sep 2016 09:01:33 +0000 (10:01 +0100)]
Casts to remove some warnings.

Added casts to remove warnings:
BUG=webm:1274

In regards to the safety of these casts they are of two types:-

- Normalized bits per (16x16) MB stored in a 32 bit int (This is safe as bits
per MB even with << 9 normalization cant overflow 32 bits. Even raw 12
bits hdr source even would only be  29 bits :- (4+4+12+9) and the encoder
imposes much stricter limits than this on max bit rate.

- Cast as part of variance calculations.  There is an internal cast up to 64 bit
for the Sum X Sum calculation, but after normalization dividing by the number
of points the result will always be <= the SSE value.

Change-Id: I4e700236ed83d6b2b1955e92e84c3b1978b9eaa0

8 years agoEnable -Wundef by default
Johann [Thu, 1 Sep 2016 05:17:38 +0000 (22:17 -0700)]
Enable -Wundef by default

BUG=webm:1069

Change-Id: I43728f9fd007542718a55d5fdcbc63a8d2f86682

8 years agoDefine VP8_TEMPORAL_ALT_REF to !CONFIG_REALTIME_ONLY
Johann [Thu, 1 Sep 2016 05:38:27 +0000 (22:38 -0700)]
Define VP8_TEMPORAL_ALT_REF to !CONFIG_REALTIME_ONLY

Previously VP8_TEMPORAL_ALT_REF was only defined for non-realtime-only
builds. However, its value was checked with #if, not #ifdef.

Fixes -Wundef warnings.

BUG=webm:1069

Change-Id: If78d8731298f3f0d3662ffa25f973e7adaf67152

8 years agoRemove CONFIG_DEBUG guards from assert()
Johann [Sat, 27 Aug 2016 01:08:35 +0000 (18:08 -0700)]
Remove CONFIG_DEBUG guards from assert()

When 'NDEBUG' is set, assert() generates no code.

Change-Id: Icf61cfc1a8f6e5f0770b3626d8c73ae968df1108

8 years agoRemove unused function vpx_de_mblock
Johann [Sat, 27 Aug 2016 01:06:19 +0000 (18:06 -0700)]
Remove unused function vpx_de_mblock

vpx_config.h was not included so CONFIG_POSTPROC was never defined.

Change-Id: I777de499823afa286734549a8e7f4a93e7ad97f3

8 years agoFix -Wundef warning for OUTPUT_FPF
Johann [Sat, 27 Aug 2016 00:53:50 +0000 (17:53 -0700)]
Fix -Wundef warning for OUTPUT_FPF

BUG=webm:1069

Change-Id: I3d13d07cf0934e6e262c8033bd77d7197d03ce21

8 years agoFix -Wundef warning for __SANITIZE_ADDRESS__
Johann [Sat, 27 Aug 2016 00:52:47 +0000 (17:52 -0700)]
Fix -Wundef warning for __SANITIZE_ADDRESS__

BUG=webm:1069

Change-Id: Iad8811939a910a8f31cf5788220712a255ddf36a

8 years agoMerge "Rename test/lpf_8_test.cc to test/lpf_test.cc"
Linfeng Zhang [Wed, 31 Aug 2016 22:46:06 +0000 (22:46 +0000)]
Merge "Rename test/lpf_8_test.cc to test/lpf_test.cc"

8 years agoRename test/lpf_8_test.cc to test/lpf_test.cc
Linfeng Zhang [Wed, 31 Aug 2016 22:14:42 +0000 (15:14 -0700)]
Rename test/lpf_8_test.cc to test/lpf_test.cc

It actually tests all sizes lpf functions.

Change-Id: Ie31798f90165e6e0c13cbac0e0ab9648ab568bce

8 years agoUpdate NEON transpose functions.
Linfeng Zhang [Wed, 31 Aug 2016 21:58:40 +0000 (14:58 -0700)]
Update NEON transpose functions.

Unify coding style.

Change-Id: I5826f40c02c882df7353391e0c9dd6cef6bd4b97

8 years agoRefactor uv tx size with lookup arrays
Debargha Mukherjee [Tue, 30 Aug 2016 19:52:29 +0000 (12:52 -0700)]
Refactor uv tx size with lookup arrays

Change-Id: Ife6a3d301c5faaba89d16d188d638631083511f7

8 years agoMerge "Update vpx_lpf_vertical_16_dual_neon() intrinsics"
Linfeng Zhang [Wed, 31 Aug 2016 19:41:25 +0000 (19:41 +0000)]
Merge "Update vpx_lpf_vertical_16_dual_neon() intrinsics"

8 years agoModified resize loop constraints.
paulwilkins [Mon, 8 Aug 2016 14:08:21 +0000 (15:08 +0100)]
Modified resize loop constraints.

Using a tighter resize constraint on undershoot seems to help
results (especially SSIM) as significant undershoot on a frame
seems to have more of a damaging impact than overshoot.

This patch has been tuned so that in local testing using the
derf set it is encode speed neutral for speed  setting 2.

Average quality result for speed 2 (psnr,ssim) were  as follows:-

 lowres  0.039,  0.453
 midres  0.249, 0.853
 hdres  0.159, 0.659
 NetFlix -0.241, 0.360

Change-Id: Ie8d3a0d7d6f7ea89d9965d1821be17f8bda85062

8 years agolibyuv: update to de944ed8c74909ea6fbd743a22efe1e55e851b83
Jim Bankoski [Tue, 30 Aug 2016 21:24:35 +0000 (14:24 -0700)]
libyuv: update to de944ed8c74909ea6fbd743a22efe1e55e851b83

Fixes windows build issue:
==> tests::VS10_x64 is broken
         LINK : warning C4742: 'kYvuI601Constants' has different alignment in 'third_party\libyuv\source\row_common.cc' and 'third_party\libyuv\source\planar_functions.cc': 32 and 2 [.build-x86_64-win64-vs10\vpxdec.vcxproj]
         LINK : warning C4744: 'kYvuI601Constants' has different type in 'third_party\libyuv\source\row_common.cc' and 'third_party\libyuv\source\planar_functions.cc': '__declspec(align(32)) struct (224 bytes)' and 'struct (224 bytes)' [.build-x86_64-win64-vs10\vpxdec.vcxproj]
         LINK : warning C4742: 'kYuvI601Constants' has different alignment in 'third_party\libyuv\source\row_common.cc' and 'third_party\libyuv\source\planar_functions.cc': 32 and 2 [.build-x86_64-win64-vs10\vpxdec.vcxproj]
         LINK : warning C4744: 'kYuvI601Constants' has different type in 'third_party\libyuv\source\row_common.cc' and 'third_party\libyuv\source\planar_functions.cc': '__declspec(align(32)) struct (224 bytes)' and 'struct (224 bytes)' [.build-x86_64-win64-vs10\vpxdec.vcxproj]
         LINK : warning C4742: 'kYvuI601Constants' has different alignment in 'third_party\libyuv\source\row_common.cc' and 'third_party\libyuv\source\planar_functions.cc': 32 and 2 [.build-x86_64-win64-vs10\vpxenc.vcxproj]
         LINK : warning C4744: 'kYvuI601Constants' has different type in 'third_party\libyuv\source\row_common.cc' and 'third_party\libyuv\source\planar_functions.cc': '__declspec(align(32)) struct (224 bytes)' and 'struct (224 bytes)' [.build-x86_64-win64-vs10\vpxenc.vcxproj]
         LINK : warning C4742: 'kYuvI601Constants' has different alignment in 'third_party\libyuv\source\row_common.cc' and 'third_party\libyuv\source\planar_functions.cc': 32 and 2 [.build-x86_64-win64-vs10\vpxenc.vcxproj]
         LINK : warning C4744: 'kYuvI601Constants' has different type in 'third_party\libyuv\source\row_common.cc' and 'third_party\libyuv\source\planar_functions.cc': '__declspec(align(32)) struct (224 bytes)' and 'struct (224 bytes)' [.build-x86_64-win64-vs10\vpxenc.vcxproj]
         LINK : error C2220: warning treated as error - no 'executable' file generated [.build-x86_64-win64-vs10\vpxdec.vcxproj]
         LINK : error C2220: warning treated as error - no 'executable' file generated [.build-x86_64-win64-vs10\vpxenc.vcxproj]

Change-Id: Ic3c4fff9209f5a52ff8f8ff321548d49ba09ec06

8 years agoUpdate vpx_lpf_vertical_16_dual_neon() intrinsics
Linfeng Zhang [Mon, 29 Aug 2016 22:20:09 +0000 (15:20 -0700)]
Update vpx_lpf_vertical_16_dual_neon() intrinsics

Process 16 samples together.

Change-Id: If6ee8e3377aa2786417f2fc411ba7d87ea8b6799

8 years agoMerge "Adjust coefficient optimization and tx_domain rd speed features."
Paul Wilkins [Tue, 30 Aug 2016 16:54:39 +0000 (16:54 +0000)]
Merge "Adjust  coefficient optimization  and tx_domain rd speed features."

8 years agoMerge "Update vpx_lpf_horizontal_edge_16_neon() intrinsics"
Linfeng Zhang [Mon, 29 Aug 2016 21:37:07 +0000 (21:37 +0000)]
Merge "Update vpx_lpf_horizontal_edge_16_neon() intrinsics"

8 years agoMerge "vp8: Move loopfilter synchronization to end of encode_frame call."
Marco Paniconi [Mon, 29 Aug 2016 05:52:39 +0000 (05:52 +0000)]
Merge "vp8: Move loopfilter synchronization to end of encode_frame call."

8 years agoUpdate vpx_lpf_horizontal_edge_16_neon() intrinsics
Linfeng Zhang [Wed, 24 Aug 2016 18:13:54 +0000 (11:13 -0700)]
Update vpx_lpf_horizontal_edge_16_neon() intrinsics

Process 16 samples together.

Change-Id: I9cfbe04c9d25d8b89f63f48f519e812746db754d

8 years agoMerge "vpx_mem,align_addr: use ~ to create mask"
James Zern [Sat, 27 Aug 2016 21:27:45 +0000 (21:27 +0000)]
Merge "vpx_mem,align_addr: use ~ to create mask"

8 years agovpx_mem,align_addr: use ~ to create mask
James Zern [Sat, 27 Aug 2016 17:34:40 +0000 (10:34 -0700)]
vpx_mem,align_addr: use ~ to create mask

removes the need for an intermediate cast to int, which was missing in
the call added in:
69c5ba1 vpx_mem: Refactor code

quiets a visual studio warning:
C4146: unary minus operator applied to unsigned type, result still
unsigned

Change-Id: I76c4003416759c6c76b78f74de7c0d2ba5071216

8 years agovp9_alt_ref_aq_set_nsegments: harmonize fn signature
James Zern [Sat, 27 Aug 2016 18:16:03 +0000 (11:16 -0700)]
vp9_alt_ref_aq_set_nsegments: harmonize fn signature

Change-Id: I5f232664652a8dc3a71e43b8b1fa05ddb4a84ecc

8 years agoMove vp9_alt_ref_aq_private.h to vp9_alt_ref_aq.c
Yury Gitman [Fri, 26 Aug 2016 00:43:33 +0000 (17:43 -0700)]
Move vp9_alt_ref_aq_private.h to vp9_alt_ref_aq.c

+ add a temporary dummy element to ALT_REF_AQ to avoid a warning about
an empty struct

Change-Id: Ib6e5c39ff62ad96eb4e3686d4882228a42b3843f

8 years agoMerge changes Ia81004d6,I74b80fb6,I38fcb62b,I2da9cd5d
James Zern [Fri, 26 Aug 2016 23:52:04 +0000 (23:52 +0000)]
Merge changes Ia81004d6,I74b80fb6,I38fcb62b,I2da9cd5d

* changes:
  vpx_mem: add basic size check
  vpx_mem: normalize function names
  vpx_realloc correction.
  vpx_mem: Refactor code

8 years agoMerge changes I353da4a2,I423f2153
James Zern [Fri, 26 Aug 2016 23:48:08 +0000 (23:48 +0000)]
Merge changes I353da4a2,I423f2153

* changes:
  vp8_decoder_create_threads: check sem/pthread returns
  vp8_create_decoder_instances: add missing setjmp

8 years agoMerge "Remove halfpix specialization"
Johann Koenig [Fri, 26 Aug 2016 21:28:01 +0000 (21:28 +0000)]
Merge "Remove halfpix specialization"

8 years agoMerge "add_noise,vpx_setup_noise: correct 'char_dist' type"
James Zern [Fri, 26 Aug 2016 18:47:39 +0000 (18:47 +0000)]
Merge "add_noise,vpx_setup_noise: correct 'char_dist' type"

8 years agoMerge "libyuv: update to c244a3e9"
James Bankoski [Fri, 26 Aug 2016 18:06:06 +0000 (18:06 +0000)]
Merge "libyuv: update to c244a3e9"

8 years agoMerge "Fix VS build warnings in vp9_alt_ref_aq files"
Jingning Han [Fri, 26 Aug 2016 17:19:12 +0000 (17:19 +0000)]
Merge "Fix VS build warnings in vp9_alt_ref_aq files"