platform/upstream/libvpx.git
8 years agovp9: Fix to quality regression issue for 1 pass.
Marco [Wed, 11 May 2016 19:18:53 +0000 (12:18 -0700)]
vp9: Fix to quality regression issue for 1 pass.

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1217

Issue introduced in https://chromium-review.googlesource.com/#/c/339162/.
The factor on avg_frame_qindex[INTER_FRAME] in that CL, used for q-basis to
set active_best, can cause the QP to decrease too slowly or get stuck
in some cases when max-q=63.

Removing that factor fixes the regression in issue#1217.

Change-Id: I97fe28dca3c2bc2d852b1775f39c62164e032d4f

8 years agoMerge changes I412c24aa,I28a8bbf0
Alex Converse [Wed, 11 May 2016 20:03:21 +0000 (20:03 +0000)]
Merge changes I412c24aa,I28a8bbf0

* changes:
  mcomp: Remove an obsolete undef.
  mcomp: Remove an obsolete comment.

8 years agoMerge "Added a measure of rc drift."
Yaowu Xu [Wed, 11 May 2016 18:02:00 +0000 (18:02 +0000)]
Merge "Added a measure of rc drift."

8 years agoMerge "Fixed 8K two pass encoder crash."
Paul Wilkins [Wed, 11 May 2016 16:25:25 +0000 (16:25 +0000)]
Merge "Fixed 8K two pass encoder crash."

8 years agoAdded a measure of rc drift.
paulwilkins [Mon, 9 May 2016 11:04:09 +0000 (12:04 +0100)]
Added a measure of rc drift.

Added actual and absolute rate miss values to the opsnr.stt
stats output line.

Changes to the borg graphing may be needed before merge.

Change-Id: I1e9d548ce445d29002f0c59ebfd3957a6f15e702

8 years agoFixed 8K two pass encoder crash.
paulwilkins [Thu, 5 May 2016 10:37:04 +0000 (11:37 +0100)]
Fixed 8K two pass encoder crash.

Bug found by Yunqing relating to the correction for size at 8K and
above in get_twopass_worst_quality().

The basis for the correction was changed to the linear size relative to
1080P as a baseline and the adjustment has been clamped to prevent
problems at extreme images sizes.

For 1080P the results on our test sets were neutral but the low res and
mid res sets saw a small gain (0.1%-0.2% average).

I would also expect some gains on 4k and larger content where the
previous correction was overly aggressive.

Change-Id: I30b026b5f4535e9601e3178d738066459d19c8fb

8 years agomcomp: Remove an obsolete undef.
Alex Converse [Wed, 11 May 2016 01:03:15 +0000 (18:03 -0700)]
mcomp: Remove an obsolete undef.

The macro was removed in 6724676.

Change-Id: I412c24aac49bd1ff60a331a30933e0d8ae3f2dd5

8 years agomcomp: Remove an obsolete comment.
Alex Converse [Wed, 11 May 2016 01:02:20 +0000 (18:02 -0700)]
mcomp: Remove an obsolete comment.

This was copied over from VP8. VP9 doesn't seem to do this buffer copy.

Change-Id: I28a8bbf0503a7f99b2cb60620ab3674adde863bb

8 years agoMerge "Add VP9 encoder API for level specification."
Hui Su [Tue, 10 May 2016 23:46:14 +0000 (23:46 +0000)]
Merge "Add VP9 encoder API for level specification."

8 years agoAdd VP9 encoder API for level specification.
hui su [Thu, 5 May 2016 22:37:37 +0000 (15:37 -0700)]
Add VP9 encoder API for level specification.

Add control API VP9E_SET_TARGET_LEVEL that allows the encoder to
control the output bitstream level and/or keep level related
statistics.

Usage:
               255         do not care about level (default)
               0           keep level related stats only
               10          target for level 1
               11          target for level 1.1
               .
               .
               .
               62          target for level 6.2

Usage for vpxenc:

--target-level=0/255/10/11...

Change-Id: I31d1aeca19358b893e7577b4e63748c8e614034a

8 years agoMerge "vpx_dsp: Rename postproc.c add_noise."
James Bankoski [Tue, 10 May 2016 17:12:07 +0000 (17:12 +0000)]
Merge "vpx_dsp: Rename postproc.c add_noise."

8 years agoMerge "Fix comment for target_bandwidth in VP9 and VP10"
Hui Su [Tue, 10 May 2016 16:34:53 +0000 (16:34 +0000)]
Merge "Fix comment for target_bandwidth in VP9 and VP10"

8 years agovpx_dsp: Rename postproc.c add_noise.
Jim Bankoski [Tue, 10 May 2016 13:52:58 +0000 (06:52 -0700)]
vpx_dsp: Rename postproc.c add_noise.

Change-Id: I4906d1b79a2951e659995202b9fa97e2ea5cfba0

8 years agoMerge "Revert "Skip inttypes.h on Darwin""
James Zern [Tue, 10 May 2016 01:11:55 +0000 (01:11 +0000)]
Merge "Revert "Skip inttypes.h on Darwin""

8 years agoFix comment for target_bandwidth in VP9 and VP10
hui su [Mon, 9 May 2016 23:43:02 +0000 (16:43 -0700)]
Fix comment for target_bandwidth in VP9 and VP10

Unlike in VP8, it is in units of bits per second in VP9 and VP10.

Change-Id: Iee1936cc58cdfaff205624c2fe87cecdf7eda123

8 years agoRevert "Skip inttypes.h on Darwin"
James Zern [Mon, 9 May 2016 23:37:09 +0000 (23:37 +0000)]
Revert "Skip inttypes.h on Darwin"

This reverts commit 1bec0c5a7e885ec792f6bb658eb3f34ad8f37b15.

Breaks desktop Mac builds.

Change-Id: I5b79dc29ad544357192ed16a47279716243e51dd

8 years agoMerge "pickmode: Fix a pair of unsigned overflows."
Alex Converse [Mon, 9 May 2016 22:16:22 +0000 (22:16 +0000)]
Merge "pickmode: Fix a pair of unsigned overflows."

8 years agoMerge "VPX: refactor vpx_idct16x16_1_add_sse2()"
Scott LaVarnway [Mon, 9 May 2016 22:15:17 +0000 (22:15 +0000)]
Merge "VPX: refactor vpx_idct16x16_1_add_sse2()"

8 years agoMerge "vp9: 1 pass vbr: Reduce base qp for active_best_quality for inter-frames."
Marco Paniconi [Mon, 9 May 2016 21:30:11 +0000 (21:30 +0000)]
Merge "vp9: 1 pass vbr: Reduce base qp for active_best_quality for inter-frames."

8 years agoMerge "convolve_test: Fix IOC runtime errors."
Tom Finegan [Mon, 9 May 2016 21:24:11 +0000 (21:24 +0000)]
Merge "convolve_test: Fix IOC runtime errors."

8 years agoMerge "Alignment is required for sad_array8"
Johann Koenig [Mon, 9 May 2016 21:01:45 +0000 (21:01 +0000)]
Merge "Alignment is required for sad_array8"

8 years agoconvolve_test: Fix IOC runtime errors.
Tom Finegan [Fri, 6 May 2016 16:43:37 +0000 (09:43 -0700)]
convolve_test: Fix IOC runtime errors.

Add a cast.

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1216

Change-Id: I40627de387bc9cfba37860e7a0a4f2d4524f3431

8 years agoMerge "libvpx: vpx_add_plane_noise make c match assembly"
James Bankoski [Mon, 9 May 2016 20:17:38 +0000 (20:17 +0000)]
Merge "libvpx: vpx_add_plane_noise make c match assembly"

8 years agoMerge "Remove sixtap/bilinear 4x4 neon implementations"
Johann Koenig [Mon, 9 May 2016 18:40:02 +0000 (18:40 +0000)]
Merge "Remove sixtap/bilinear 4x4 neon implementations"

8 years agoAlignment is required for sad_array8
Johann [Sat, 7 May 2016 01:30:04 +0000 (18:30 -0700)]
Alignment is required for sad_array8

For at least some of the implementations of sdx8f, such as
vpx_sad4x4x8_sse4_1, aligned moves are used to move the results into the
array.

Change-Id: I83df5a8e657b44e906d0d8b0bc154f1e5660f7f9

8 years agoMerge changes Id13b97f4,I1d342725
Johann Koenig [Mon, 9 May 2016 18:38:58 +0000 (18:38 +0000)]
Merge changes Id13b97f4,I1d342725

* changes:
  The subfunctions are only defined for sse2
  Unlike non-hbd variance, opt2 is never used

8 years agoMerge "Use canonical avg_pred functions"
Johann Koenig [Mon, 9 May 2016 18:38:12 +0000 (18:38 +0000)]
Merge "Use canonical avg_pred functions"

8 years agopickmode: Fix a pair of unsigned overflows.
Alex Converse [Mon, 9 May 2016 18:21:20 +0000 (11:21 -0700)]
pickmode: Fix a pair of unsigned overflows.

block_variance: This operates on 8x8s and would be safe with a int32 *
int32 to uint32 multiply, but this is potentially unsafe for 12-bit
input. Unfortunately the code already segfaults on 12-bit input:
https://bugs.chromium.org/p/webm/issues/detail?id=1223

calculate_variance: This operates on up to a 32x32 of 8x8s and can
overflow even with 8-bit input (log2((256*32*32)**2) == 36).

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1220

Change-Id: I1ca4ff6092db9a7580da371ee9a21f403fdadc40

8 years agovp9: 1 pass vbr: Reduce base qp for active_best_quality for inter-frames.
Marco [Mon, 9 May 2016 16:40:43 +0000 (09:40 -0700)]
vp9: 1 pass vbr: Reduce base qp for active_best_quality for inter-frames.

Reduce factor for setting base-qp for active_best_quality (for inter-frames).
Small increase in metrics on yt live set.

Change-Id: I9cf0ac797783aeddbfaf1ff510696c9035d7c5ee

8 years agoVPX: refactor vpx_idct16x16_1_add_sse2()
Scott LaVarnway [Mon, 9 May 2016 16:50:00 +0000 (09:50 -0700)]
VPX: refactor vpx_idct16x16_1_add_sse2()

Change-Id: I431ea0d9abe764d110a1ba32a8cb15e2fdac8805

8 years agoMerge "Skip inttypes.h on Darwin"
Tom Finegan [Mon, 9 May 2016 15:07:37 +0000 (15:07 +0000)]
Merge "Skip inttypes.h on Darwin"

8 years agolibvpx: vpx_add_plane_noise make c match assembly
Jim Bankoski [Sat, 7 May 2016 19:47:49 +0000 (12:47 -0700)]
libvpx: vpx_add_plane_noise make c match assembly

This change makes the c match the assembly and removes the todo's
associated with getting this to work.

Change-Id: Ie32e9ebb584a9d60399662d8bcb71b74fbd19d1e

8 years agoUse canonical avg_pred functions
Johann [Sat, 7 May 2016 02:06:03 +0000 (19:06 -0700)]
Use canonical avg_pred functions

Change-Id: Ibe0cc388226622561d2b4a00e5bdc1016a3c4a94

8 years agoThe subfunctions are only defined for sse2
Johann [Sat, 7 May 2016 01:57:04 +0000 (18:57 -0700)]
The subfunctions are only defined for sse2

See highbd_subpel_variance_impl_sse2.asm

Change-Id: Id13b97f4f6d189ed71cdc6d52b3c4ea63dc1da05

8 years agoUnlike non-hbd variance, opt2 is never used
Johann [Sat, 7 May 2016 01:38:04 +0000 (18:38 -0700)]
Unlike non-hbd variance, opt2 is never used

Change-Id: I1d342725df332c4efc6006d9e3dcb7372c41f448

8 years agoRemove sixtap/bilinear 4x4 neon implementations
Johann [Sat, 7 May 2016 00:20:15 +0000 (17:20 -0700)]
Remove sixtap/bilinear 4x4 neon implementations

These implementations rely on casting the pointers to load the data.
Clang implemented optimizations which automatically add alignment hints
to such loads. The 4x4 filters do not guarantee the necessary alignment
so the resulting assembly is broken.
https://llvm.org/bugs/show_bug.cgi?id=24421

BUG=webm:817
BUG=webm:892

Change-Id: I608885299f1f86ff83653b65e0e40d0ae87fb3fe

8 years agoMerge "Break exports for spatial_svc out to fix shared builds without it"
Johann Koenig [Fri, 6 May 2016 23:52:42 +0000 (23:52 +0000)]
Merge "Break exports for spatial_svc out to fix shared builds without it"

8 years agoMerge "Fix for version.sh when libvpx is checked out as git submodule"
Johann Koenig [Fri, 6 May 2016 22:18:16 +0000 (22:18 +0000)]
Merge "Fix for version.sh when libvpx is checked out as git submodule"

8 years agoMerge "md5_utils,MD5Transform: don't check for unsigned overflow"
James Zern [Fri, 6 May 2016 02:26:37 +0000 (02:26 +0000)]
Merge "md5_utils,MD5Transform: don't check for unsigned overflow"

8 years agoMerge changes from topic 'missing-proto'
James Zern [Fri, 6 May 2016 02:25:29 +0000 (02:25 +0000)]
Merge changes from topic 'missing-proto'

* changes:
  vp9_frame_scale_ssse3.c: make 2 functions static
  vp9_pickmode.c: make function static
  vp9_noise_estimate.c: make function static
  vp9_aq_360.c: add missing include
  vp9_idct_intrin_sse2: add missing vp9_rtcd.h include
  vpx_dsp/*.[hc]: add missing vpx_dsp_rtcd.h include

8 years agoMerge "vp9: Modify logic for gf setting based on up-coming key frame."
Marco Paniconi [Thu, 5 May 2016 21:23:02 +0000 (21:23 +0000)]
Merge "vp9: Modify logic for gf setting based on up-coming key frame."

8 years agovp9: Reduce qp threshold for limiting cyclic refresh on steady blocks.
Marco [Fri, 29 Apr 2016 22:52:45 +0000 (15:52 -0700)]
vp9: Reduce qp threshold for limiting cyclic refresh on steady blocks.

Makes the delta-qp stop little earlier on areas that have been refreshed enough.
This helps to reduce some pulsing artifact on noisy flat areas observed in some
noisy vc-clips.

Threshold changes only take effect for sources where noise level is estimated to
be >= medium level.

Only affects 1 pass CBR, non-screen content case.

Change-Id: Iacf557f6aa8abbcd6782c02ff2e6c14891960850

8 years agovp9: Modify logic for gf setting based on up-coming key frame.
Marco [Thu, 5 May 2016 01:11:19 +0000 (18:11 -0700)]
vp9: Modify logic for gf setting based on up-coming key frame.

For 1 pass vbr mode:
Refactor to move the logic for gf setting based on up-coming
key frames to a separate function, so same logic can be used for
scene-cuts/changes.

Change-Id: Ic4ede308e08ba869bb62e4566e19ea31222c5229

8 years agomd5_utils,MD5Transform: don't check for unsigned overflow
James Zern [Thu, 5 May 2016 02:22:23 +0000 (19:22 -0700)]
md5_utils,MD5Transform: don't check for unsigned overflow

this transform is well-defined and relies on unsigned rollover

Change-Id: Ia39f3a65a7a07ac871bf857d2684c9839862c2aa

8 years agoMerge changes I05b3028a,I1ad41c09
James Zern [Thu, 5 May 2016 01:23:19 +0000 (01:23 +0000)]
Merge changes I05b3028a,I1ad41c09

* changes:
  vpx_dsp_common.h: remove circular include
  vpx_dsp_common.h: fix include guard

8 years agovp9_frame_scale_ssse3.c: make 2 functions static
James Zern [Wed, 4 May 2016 22:10:24 +0000 (15:10 -0700)]
vp9_frame_scale_ssse3.c: make 2 functions static

downsample_2_to_1_ssse3/upsample_1_to_2_ssse3() are local to this module

Change-Id: I78a9de8e1eca475ba1bf137102580c531aa3f7dd

8 years agovp9_pickmode.c: make function static
James Zern [Wed, 4 May 2016 22:10:00 +0000 (15:10 -0700)]
vp9_pickmode.c: make function static

set_intra_cost_penalty() is local to this module

Change-Id: Ie277bfc5e8a26f05a04fd261bdb888388ad0e2a1

8 years agovp9_noise_estimate.c: make function static
James Zern [Wed, 4 May 2016 22:09:05 +0000 (15:09 -0700)]
vp9_noise_estimate.c: make function static

enable_noise_estimation() is local to this module

Change-Id: Id736c419387ca1959695dd327ce164bec029b597

8 years agovp9_aq_360.c: add missing include
James Zern [Wed, 4 May 2016 22:08:10 +0000 (15:08 -0700)]
vp9_aq_360.c: add missing include

Change-Id: Ia8ac9b7023211b1da2294b0934cf076fb1cdc65f

8 years agovp9_idct_intrin_sse2: add missing vp9_rtcd.h include
James Zern [Wed, 4 May 2016 22:07:27 +0000 (15:07 -0700)]
vp9_idct_intrin_sse2: add missing vp9_rtcd.h include

Change-Id: I39a67ffea7b0a55b45cdf935986439537b65601f

8 years agovpx_dsp/*.[hc]: add missing vpx_dsp_rtcd.h include
James Zern [Wed, 4 May 2016 22:06:44 +0000 (15:06 -0700)]
vpx_dsp/*.[hc]: add missing vpx_dsp_rtcd.h include

Change-Id: I103be7eee36492f8619144ce8325bc916d4975c7

8 years agoMerge "vp9-noise estimation. Decrease frame period for estimating noise."
Marco Paniconi [Wed, 4 May 2016 22:02:53 +0000 (22:02 +0000)]
Merge "vp9-noise estimation. Decrease frame period for estimating noise."

8 years agoMerge "Change to use proper type in vp{9,10}_token_state"
Yaowu Xu [Wed, 4 May 2016 21:57:12 +0000 (21:57 +0000)]
Merge "Change to use proper type in vp{9,10}_token_state"

8 years agovpx_dsp_common.h: remove circular include
James Zern [Wed, 4 May 2016 21:54:53 +0000 (14:54 -0700)]
vpx_dsp_common.h: remove circular include

Change-Id: I05b3028a38bbc062c388eeb95e99a3fee583ae6b

8 years agovpx_dsp_common.h: fix include guard
James Zern [Wed, 4 May 2016 21:54:32 +0000 (14:54 -0700)]
vpx_dsp_common.h: fix include guard

Change-Id: I1ad41c096ec86870f9aecab6fdbc3af03e972afc

8 years agoMerge "yv12extend: make memcpy_short_addr static"
James Zern [Wed, 4 May 2016 21:17:09 +0000 (21:17 +0000)]
Merge "yv12extend: make memcpy_short_addr static"

8 years agovp9-noise estimation. Decrease frame period for estimating noise.
Marco [Wed, 4 May 2016 18:10:02 +0000 (11:10 -0700)]
vp9-noise estimation. Decrease frame period for estimating noise.

Makes the noise estimation react little faster.
Little/no change in metrics.

Change only affects 1 pass cbr.

Change-Id: I13f0daa90ecbf9d49eb1cf2e48febd9d92292940

8 years agoSkip inttypes.h on Darwin
Brion Vibber [Tue, 3 May 2016 07:03:59 +0000 (03:03 -0400)]
Skip inttypes.h on Darwin

When building a dynamic framework with Swift compatibility, can't
include any headers that aren't in another module or you get an
error like this from Xcode on the including project:

  Include of non-modular header inside framework

For some reason the system inttypes.h is not in a module, unlike
other standard C library headers... but it doesn't seem to be
actually needed on Darwin, so removing it doesn't appear to
be a problem.

Change-Id: I11d264483c54feefd9d2edf573afaef34ddcd0f2

8 years agoBreak exports for spatial_svc out to fix shared builds without it
Brion Vibber [Tue, 3 May 2016 08:23:17 +0000 (04:23 -0400)]
Break exports for spatial_svc out to fix shared builds without it

Change-Id: I208c84cce216464b82eaa51945ce17a8e6625673

8 years agoFix for version.sh when libvpx is checked out as git submodule
Brion Vibber [Wed, 4 May 2016 19:41:32 +0000 (15:41 -0400)]
Fix for version.sh when libvpx is checked out as git submodule

When using git submodules, .git may be a file instead of a directory.
The -d test was failing in that case; switched to -e.

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1215

Change-Id: Iedf0e92bfeb003b28a415945dc729e6ce58c4fe4

8 years agoChange to use proper type in vp{9,10}_token_state
Yaowu Xu [Wed, 4 May 2016 19:12:02 +0000 (12:12 -0700)]
Change to use proper type in vp{9,10}_token_state

"qc" in vp{9,10}_token_state is used to save quantized coefficients, this
commit changes the type from short to tran_low_t to properly reflect
the value range for highbitdepth build.

This fixes an out-of-range bug when optimize_b is used in highbitdepth
build.

Change-Id: Ibf330879e6ac6ae8f099e085caa9d3d9a889fde8

8 years agovariance aq: Fix a variance calculation overflow bug.
Alex Converse [Wed, 4 May 2016 18:30:00 +0000 (11:30 -0700)]
variance aq: Fix a variance calculation overflow bug.

This is an actual overflow where the result of the calculation is
materially changed, not just a negative value that is stored in an
unsigned.

Caught with fsanitize=integer on the VP9/AqSegmentTest.TestNoMisMatchAQ2/1 test.

Change-Id: I514b0ef4ae7ad50e3e08c0079aa204d59fa679aa

8 years agoMerge "iosbuild.sh: Verify fat library targets."
Tom Finegan [Wed, 4 May 2016 17:08:36 +0000 (17:08 +0000)]
Merge "iosbuild.sh: Verify fat library targets."

8 years agoMerge "libvpx: add a unit test for plane_add_noise."
James Bankoski [Wed, 4 May 2016 13:09:05 +0000 (13:09 +0000)]
Merge "libvpx: add a unit test for plane_add_noise."

8 years agolibvpx: add a unit test for plane_add_noise.
Jim Bankoski [Tue, 3 May 2016 23:23:06 +0000 (16:23 -0700)]
libvpx: add a unit test for plane_add_noise.

In so doing this fixes a couple of bugs:

vpx_plane_add_noise.c needed to subtract a clamp instead of add.
And the assembly (mmx sse) had assumptions that parameters were
continuous in memory which was not true.

Change-Id: I76f2c43cf54bfc838eb2edf8a443eaaa7565d7b5

8 years agoyv12extend: make memcpy_short_addr static
James Zern [Tue, 3 May 2016 21:42:14 +0000 (14:42 -0700)]
yv12extend: make memcpy_short_addr static

Change-Id: I58612bd04fad6144722569d3db2899ba0fb947a6

8 years agoMerge "x86.h,x86_simd_caps: add an explicit cast w/strtol"
James Zern [Tue, 3 May 2016 19:48:03 +0000 (19:48 +0000)]
Merge "x86.h,x86_simd_caps: add an explicit cast w/strtol"

8 years agoMerge "Fix unsigned overflows in temporal filter."
Alex Converse [Tue, 3 May 2016 19:11:17 +0000 (19:11 +0000)]
Merge "Fix unsigned overflows in temporal filter."

8 years agoFix unsigned overflows in temporal filter.
Alex Converse [Tue, 3 May 2016 17:49:19 +0000 (10:49 -0700)]
Fix unsigned overflows in temporal filter.

Change-Id: Iebdc8304d30c78f03f99f6dc665003ff41c8b1cd

8 years agoMerge "Move vpx_add_plane from codec to vpx_dsp and dedup."
James Bankoski [Tue, 3 May 2016 14:11:57 +0000 (14:11 +0000)]
Merge "Move vpx_add_plane from codec to vpx_dsp and dedup."

8 years agoMerge "configure.sh: Remove armv6-darwin target."
Tom Finegan [Mon, 2 May 2016 21:40:57 +0000 (21:40 +0000)]
Merge "configure.sh: Remove armv6-darwin target."

8 years agoMerge "Use signed variables in the lookahead."
Alex Converse [Mon, 2 May 2016 21:32:39 +0000 (21:32 +0000)]
Merge "Use signed variables in the lookahead."

8 years agoMerge "vp9: Refactor vp9_denoiser_NxM_sse2."
Jacky Chen [Mon, 2 May 2016 21:28:08 +0000 (21:28 +0000)]
Merge "vp9: Refactor vp9_denoiser_NxM_sse2."

8 years agoiosbuild.sh: Verify fat library targets.
Tom Finegan [Mon, 2 May 2016 18:47:18 +0000 (11:47 -0700)]
iosbuild.sh: Verify fat library targets.

- Make sure VPX.framework/VPX actually contains requested
  targets before reporting success.
- Removes a TODO.

Change-Id: I2344d6e2bb502bf533ce0e4c6f159118e4fe3bdf

8 years agoconfigure.sh: Remove armv6-darwin target.
Tom Finegan [Mon, 2 May 2016 17:42:00 +0000 (10:42 -0700)]
configure.sh: Remove armv6-darwin target.

- iOS SDKs no longer ship with armv6 support.
- Our minimum iOS version means all target devices have neon.
- Remove armv6 darwin LD workaround.
  - This removes a TODO.

Change-Id: I2fcb5b82c96213364275475be021c7dd8459d5c0

8 years agovp9: Refactor vp9_denoiser_NxM_sse2.
JackyChen [Sun, 1 May 2016 23:15:29 +0000 (16:15 -0700)]
vp9: Refactor vp9_denoiser_NxM_sse2.

Denoiser is ~1.5% faster in speed 6~8.

Change-Id: I7b350f3c50cce6773d9c4eded4c0c1b722d0a5fc

8 years agoMove vpx_add_plane from codec to vpx_dsp and dedup.
Jim Bankoski [Mon, 2 May 2016 19:17:39 +0000 (12:17 -0700)]
Move vpx_add_plane from codec to vpx_dsp and dedup.

Change-Id: I12218d8331c0558c0587a66321e3ca46da7e5cc7

8 years agoMerge "configure.sh: prefer 'which' over 'hash'"
James Zern [Mon, 2 May 2016 19:15:39 +0000 (19:15 +0000)]
Merge "configure.sh: prefer 'which' over 'hash'"

8 years agovp9: Refactor choose_partitioning.
JackyChen [Fri, 29 Apr 2016 22:19:28 +0000 (15:19 -0700)]
vp9: Refactor choose_partitioning.

Move skin superblock force split out of this function as well
as some minor code refactors. Checked bitexact for different speed
settings and different resolutions.

Change-Id: I6078cbe88dd9ce6c0b69470a8a0a8f8d2274161b

8 years agoconfigure.sh: prefer 'which' over 'hash'
James Zern [Sat, 30 Apr 2016 02:48:51 +0000 (19:48 -0700)]
configure.sh: prefer 'which' over 'hash'

hash may trigger a bashism warning; which is already depended on by this
script

Change-Id: Ibe0e7d1132d72f03aaf5b7d4c6180b59e92aceff

8 years agoMerge "vp9_ethread_test: replace FramePktHook w/DecompressedFrameHook"
James Zern [Fri, 29 Apr 2016 19:56:55 +0000 (19:56 +0000)]
Merge "vp9_ethread_test: replace FramePktHook w/DecompressedFrameHook"

8 years agoMerge "msvs_common.sh: make fix_file_list generic"
James Zern [Fri, 29 Apr 2016 18:31:06 +0000 (18:31 +0000)]
Merge "msvs_common.sh: make fix_file_list generic"

8 years agovp9: Move the initialization of some rc variables to rc_init.
Marco [Fri, 29 Apr 2016 00:06:18 +0000 (17:06 -0700)]
vp9: Move the initialization of some rc variables to rc_init.

And initialize a variable (avg_source_sad) that was not initialized to 0.

Change-Id: I63223e20fffe2a2ea38f03da62dad16af0618ea4

8 years agovp9_ethread_test: replace FramePktHook w/DecompressedFrameHook
James Zern [Thu, 28 Apr 2016 20:09:08 +0000 (13:09 -0700)]
vp9_ethread_test: replace FramePktHook w/DecompressedFrameHook

this avoids the decoder test which was only correct for vp9, vp10 was
missed in the earlier change

Change-Id: Ib789c906d440c0e4169052cf64c74d5e4b196caa

8 years agoMerge "Avoid an unsigned overflow in invert_quant"
Alex Converse [Thu, 28 Apr 2016 19:44:03 +0000 (19:44 +0000)]
Merge "Avoid an unsigned overflow in invert_quant"

8 years agoMerge "vp9: Don't force block size to 8x8 in denoiser."
Jacky Chen [Thu, 28 Apr 2016 18:06:29 +0000 (18:06 +0000)]
Merge "vp9: Don't force block size to 8x8 in denoiser."

8 years agoMerge "Port convolve test refactor to master."
Alex Converse [Thu, 28 Apr 2016 16:26:53 +0000 (16:26 +0000)]
Merge "Port convolve test refactor to master."

8 years agoMerge "bitreader: remove an unsigned overflow."
Alex Converse [Thu, 28 Apr 2016 16:26:37 +0000 (16:26 +0000)]
Merge "bitreader: remove an unsigned overflow."

8 years agox86.h,x86_simd_caps: add an explicit cast w/strtol
James Zern [Thu, 28 Apr 2016 06:41:51 +0000 (23:41 -0700)]
x86.h,x86_simd_caps: add an explicit cast w/strtol

+ use strtoul as mask is unsigned

quiets a -Wshorten-64-to-32 warning

Change-Id: Ia1c24679302100a252da7a45d3bb871f591f1888

8 years agovp9: Don't force block size to 8x8 in denoiser.
JackyChen [Thu, 28 Apr 2016 05:18:11 +0000 (22:18 -0700)]
vp9: Don't force block size to 8x8 in denoiser.

First, we only set use_4x4_partition for key frame where we don't
denoise; second, envision we have small partitions, we should pass the
actual block size to denoiser and make an early termination if needed.

Change-Id: I331f42046d792b17360723d17ff817d601394658

8 years agomsvs_common.sh: make fix_file_list generic
James Zern [Thu, 28 Apr 2016 03:26:49 +0000 (20:26 -0700)]
msvs_common.sh: make fix_file_list generic

take an array name as the first parameter and operate on the reference;
removes a TODO

Change-Id: I9d63a31d7a7625123f0d64f212b4e702813cc01b

8 years agoPort convolve test refactor to master.
Alex Converse [Wed, 27 Apr 2016 23:53:33 +0000 (16:53 -0700)]
Port convolve test refactor to master.

Brings f03e238f to master.

Change-Id: I7f7754e7d1288b103a4510303d10afc68a7d8ca8

8 years agoTweak casts on vpx_sub_pixel_variance to avoid implicit overflow.
Alex Converse [Thu, 19 Nov 2015 23:57:57 +0000 (15:57 -0800)]
Tweak casts on vpx_sub_pixel_variance to avoid implicit overflow.

Change-Id: I481eb271b082fa3497b0283f37d9b4d1f6de270c

8 years agoUse signed variables in the lookahead.
Alex Converse [Wed, 27 Apr 2016 22:59:18 +0000 (15:59 -0700)]
Use signed variables in the lookahead.

Wrap around behavior is enforced manually and we use the values in
arithmetic involving negative integers.

Change-Id: I199706b6f3af91f4fb6fe2ef302fbbc6d0cf5785

8 years agobitreader: remove an unsigned overflow.
Alex Converse [Fri, 20 Nov 2015 00:09:03 +0000 (16:09 -0800)]
bitreader: remove an unsigned overflow.

bits_left is in the range [0, 64 (= BD_VALUE_SIZE)] , so the narrowing
conversion should be safe.

Change-Id: I943fcd359eaad76249ee1e1fb03a2ac16945d2fd

8 years agoBe explicit about overflow in vpx_variance16x16_sse2.
Alex Converse [Thu, 19 Nov 2015 23:43:24 +0000 (15:43 -0800)]
Be explicit about overflow in vpx_variance16x16_sse2.

The product always fits in uint32_t, but the operands don't.

An optimizing compiler should generate the wraparound code.
(Verified with clang).

Change-Id: I25eb64df99152992bc898b8ccbb01d55c8d16e3c

8 years agoRemove casts on < 16x16 variance.
Alex Converse [Thu, 19 Nov 2015 23:39:40 +0000 (15:39 -0800)]
Remove casts on < 16x16 variance.

These blocks will never overflow since max sum is +/-255*w*h.

Change-Id: Ia2c630339fd9cfb411b56b6040ff402095f12a2e

8 years agoAvoid an unsigned overflow in invert_quant
Alex Converse [Fri, 20 Nov 2015 00:46:46 +0000 (16:46 -0800)]
Avoid an unsigned overflow in invert_quant

Change-Id: I16a570b2af66b6580d1cd6f8345a25f079009bf4

8 years agoMerge "Declare the operator== overload for M128A in the global namespace."
Alex Converse [Wed, 27 Apr 2016 20:33:17 +0000 (20:33 +0000)]
Merge "Declare the operator== overload for M128A in the global namespace."

8 years agoDeclare the operator== overload for M128A in the global namespace.
Alex Converse [Wed, 27 Apr 2016 04:38:04 +0000 (21:38 -0700)]
Declare the operator== overload for M128A in the global namespace.

ADL will look this up from the callsite namespace iff it is declared
before the callsite or from the parent namespace of the class type (the
global namespace).

This patch has been tested on MSVS 2015 and clang-3.8.

Change-Id: I00ba74712c9b617b9d81761abed1e14d8f25d8e3