platform/upstream/libvpx.git
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 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

8 years agoMerge changes If45b8931,Ieab273a7
James Zern [Wed, 27 Apr 2016 20:01:33 +0000 (20:01 +0000)]
Merge changes If45b8931,Ieab273a7

* changes:
  vp9_ethread_test: avoid crash when decoder is unavailable
  resize_test: skip VP9 decode checks if it's disabled

8 years agoMerge "TODO cleanup: Remove unused buffer_size"
Vignesh Venkatasubramanian [Wed, 27 Apr 2016 06:17:12 +0000 (06:17 +0000)]
Merge "TODO cleanup: Remove unused buffer_size"

8 years agoTODO cleanup: Remove unused buffer_size
Vignesh Venkatasubramanian [Mon, 25 Apr 2016 20:46:42 +0000 (13:46 -0700)]
TODO cleanup: Remove unused buffer_size

Remove unused variable buffer_size and rename bytes_in_buffer to
buffer_size in webm_read_frame.

Change-Id: I18b6ccbb044cd366610a5e39d83883cc0b174051

8 years agoMerge "webmdec.h: remove stale TODO"
Vignesh Venkatasubramanian [Wed, 27 Apr 2016 05:38:53 +0000 (05:38 +0000)]
Merge "webmdec.h: remove stale TODO"

8 years agoMerge "TODO cleanup: s/EbmlGlobal/WebmOutputContext/"
Vignesh Venkatasubramanian [Wed, 27 Apr 2016 05:37:32 +0000 (05:37 +0000)]
Merge "TODO cleanup: s/EbmlGlobal/WebmOutputContext/"

8 years agovp9_ethread_test: avoid crash when decoder is unavailable
James Zern [Wed, 27 Apr 2016 03:15:15 +0000 (20:15 -0700)]
vp9_ethread_test: avoid crash when decoder is unavailable

Change-Id: If45b8931771d50990b78a5aa860f372eb0430cf4

8 years agoresize_test: skip VP9 decode checks if it's disabled
James Zern [Wed, 27 Apr 2016 02:56:44 +0000 (19:56 -0700)]
resize_test: skip VP9 decode checks if it's disabled

Change-Id: Ieab273a779c44e1c4648642e9f12735b81bd2300

8 years agovp8: Adjust consec_zeromv thresholds for skin detection.
Marco [Tue, 26 Apr 2016 23:02:09 +0000 (16:02 -0700)]
vp8: Adjust consec_zeromv thresholds for skin detection.

Change-Id: Iab5aed7bf86538352232e208bce58c3528cc9a4e

8 years agoMerge "VP9: adjust trellis quant optimization RD parameters"
Hui Su [Tue, 26 Apr 2016 19:12:09 +0000 (19:12 +0000)]
Merge "VP9: adjust trellis quant optimization RD parameters"

8 years agoMerge "VP9: enable trellis quantization optimization for intra blocks"
Hui Su [Tue, 26 Apr 2016 19:11:49 +0000 (19:11 +0000)]
Merge "VP9: enable trellis quantization optimization for intra blocks"

8 years agoMerge "vp9: Fix condition to update consec_zero_mv."
Marco Paniconi [Tue, 26 Apr 2016 18:15:27 +0000 (18:15 +0000)]
Merge "vp9: Fix condition to update consec_zero_mv."

8 years agoMerge "vp9: Simplify the logic in denoiser SSE2 code."
Jacky Chen [Tue, 26 Apr 2016 17:43:48 +0000 (17:43 +0000)]
Merge "vp9: Simplify the logic in denoiser SSE2 code."

8 years agoMerge "Add the 64-bit CPU cycle count utility function"
Yi Luo [Tue, 26 Apr 2016 17:24:21 +0000 (17:24 +0000)]
Merge "Add the 64-bit CPU cycle count utility function"

8 years agoVP9: adjust trellis quant optimization RD parameters
hui su [Mon, 25 Apr 2016 21:23:06 +0000 (14:23 -0700)]
VP9: adjust trellis quant optimization RD parameters

Coding gain:
lowres  0.64%
midres  0.38%
hdres   0.58%

Change-Id: I233fa2a4b24bd1e15091a5f5ef6aff661f3f50ec

8 years agoVP9: enable trellis quantization optimization for intra blocks
hui su [Mon, 25 Apr 2016 19:40:56 +0000 (12:40 -0700)]
VP9: enable trellis quantization optimization for intra blocks

Coding gain:
lowres  0.18%
midres  0.23%
hdres   0.36%

Change-Id: I044c8afbc481fc55b23d440352941071355b0afb

8 years agovp9: Simplify the logic in denoiser SSE2 code.
JackyChen [Tue, 26 Apr 2016 06:52:19 +0000 (23:52 -0700)]
vp9: Simplify the logic in denoiser SSE2 code.

Block size passed into denoiser filter is always >= BLOCK_8X8 (in
vp9_pick_inter_mode), it is not necessary to check smaller block
size. Passed the bitexact test on clips with different resolutions and
noise levels.

Change-Id: I19fa3195d18c27d9e5de60dc11cff1522ef3714e

8 years agoMerge "Resolve a couple of TODOs in firstpass.c"
Paul Wilkins [Tue, 26 Apr 2016 12:57:08 +0000 (12:57 +0000)]
Merge "Resolve a couple of TODOs in firstpass.c"

8 years agoMerge "Experiment to adapt for net AQ offset."
Paul Wilkins [Tue, 26 Apr 2016 12:56:52 +0000 (12:56 +0000)]
Merge "Experiment to adapt for net AQ offset."

8 years agovp9: Fix consec_zero_mv in skin detection.
Marco [Mon, 25 Apr 2016 22:37:50 +0000 (15:37 -0700)]
vp9: Fix consec_zero_mv in skin detection.

This was missed in https://chromium-review.googlesource.com/#/c/340135/.

Change-Id: Iafc83141f4ff744819bdbde7d239678b215feb9d

8 years agovp9: Fix condition to update consec_zero_mv.
Marco [Mon, 25 Apr 2016 21:34:41 +0000 (14:34 -0700)]
vp9: Fix condition to update consec_zero_mv.

Fix will reset the consec_zero_mv map on non-skipped blocks with non-zero mv.
Adjust thresholds on consec_zero_mv in noise estimation and skin detection,
as more possible reset on map means lower thresholds should be used.

Change-Id: Ibe8520057472b3609585260b51b6f95a38fb777d

8 years agoMerge "vp9: 1 pass vbr: Adjust gf boost/interval on motion level."
Marco Paniconi [Mon, 25 Apr 2016 21:13:56 +0000 (21:13 +0000)]
Merge "vp9: 1 pass vbr: Adjust gf boost/interval on motion level."

8 years agowebmdec.h: remove stale TODO
Vignesh Venkatasubramanian [Mon, 25 Apr 2016 21:05:59 +0000 (14:05 -0700)]
webmdec.h: remove stale TODO

webm_read_frame is the only function now which requires
documentation for what the return value means (other two are quite
obvious - file_is_webm and webm_guess_framerate).

Change-Id: I7a4f7d8097b1d748812b2ee251ee718a0b5ce836

8 years agoTODO cleanup: s/EbmlGlobal/WebmOutputContext/
Vignesh Venkatasubramanian [Mon, 25 Apr 2016 20:28:24 +0000 (13:28 -0700)]
TODO cleanup: s/EbmlGlobal/WebmOutputContext/

This brings the struct's name in line with WebmInputContext.

Change-Id: I1a1c7ae60b006ae5de8253177d6d996f5867866d

8 years agoMerge "vp9: Fix a bug where best_sse_mv is not set properly."
Jacky Chen [Mon, 25 Apr 2016 20:00:43 +0000 (20:00 +0000)]
Merge "vp9: Fix a bug where best_sse_mv is not set properly."

8 years agoMerge "vpx_minmax_8x8_neon and test"
Johann Koenig [Mon, 25 Apr 2016 18:58:29 +0000 (18:58 +0000)]
Merge "vpx_minmax_8x8_neon and test"

8 years agovp9: 1 pass vbr: Adjust gf boost/interval on motion level.
Marco [Wed, 20 Apr 2016 22:53:20 +0000 (15:53 -0700)]
vp9: 1 pass vbr: Adjust gf boost/interval on motion level.

Add some adjustment for high motion case.

Change-Id: If700be1ce849c187ed031221ea7cabbc8d91ec2b

8 years agovp9: Fix a bug where best_sse_mv is not set properly.
JackyChen [Mon, 25 Apr 2016 18:44:40 +0000 (11:44 -0700)]
vp9: Fix a bug where best_sse_mv is not set properly.

In VP9 internal denoiser, motion magnitude is computed from
best_sse_mv, which should be set to 0 at the begining. This bug may
cause visual aritifact in denoiser. Also, delete two improper comments.

Change-Id: I8710d2acba23320bc85cf72af17d65245c19438b

8 years agoMerge "vp9-denoiser: Bugfix and some adjustments for high noise case."
Marco Paniconi [Mon, 25 Apr 2016 17:16:09 +0000 (17:16 +0000)]
Merge "vp9-denoiser: Bugfix and some adjustments for high noise case."

8 years agovp9-denoiser: Bugfix and some adjustments for high noise case.
Marco [Mon, 25 Apr 2016 15:49:08 +0000 (08:49 -0700)]
vp9-denoiser: Bugfix and some adjustments for high noise case.

Need to check that sse for non-zero mv has been set for the current block
(i.e., check that nonzero-mv is tested as a mode, so newmv_sse != UINT_MAX)
before forcing to not use zero-mv for denoising.

Also increase some thresholds (sse and sse_diff) for high noise case,
and use shift operaton instead of multiplication on a threshold computation.

Change-Id: Iae7339475d57240316b7fa8b887c4ee3c0d0dbec

8 years agovp9: Add rc quantity to track amount of low motion in scene.
Marco [Fri, 22 Apr 2016 22:27:53 +0000 (15:27 -0700)]
vp9: Add rc quantity to track amount of low motion in scene.

Use it for now in noise estimation to bypass estimation if
motion level is high.

Change-Id: I033662dc909f2060e4e81abf562a7ad262dc8170

8 years agoMerge "VP9: Do not call vp9_adjust_mask() in vp9_setup_mask()"
Scott LaVarnway [Mon, 25 Apr 2016 13:39:29 +0000 (13:39 +0000)]
Merge "VP9: Do not call vp9_adjust_mask() in vp9_setup_mask()"

8 years agoResolve a couple of TODOs in firstpass.c
paulwilkins [Mon, 25 Apr 2016 11:38:10 +0000 (12:38 +0100)]
Resolve a couple of TODOs in firstpass.c

Resolved two TODO items.

Force a minimum value of 1.0 for frame duration as per section duration.

Column inactive zone is currently set to 0 as most of the serious issues
relating to inactive regions relate to letter boxing.

Change-Id: Ifbab3acf2c089d7305620a7ff7ed7c3536cc9235

8 years agoExperiment to adapt for net AQ offset.
paulwilkins [Fri, 11 Mar 2016 10:44:16 +0000 (10:44 +0000)]
Experiment to adapt for net AQ offset.

In Aq mode 1 the segment and AQ delta for each block is based
on spatial variance. There may be a net imbalance between blocks
that have lower Q than the baseline value and those that have higher Q.

This patch monitors that imbalance and extends the allowed baseline
Q range for the frame to accommodate adjustment of that baseline value
to compensate.

Change-Id: Iae8a48c7c01fe2af94a141e149d03acf467237ca

8 years agoVP9: Do not call vp9_adjust_mask() in vp9_setup_mask()
Scott LaVarnway [Fri, 22 Apr 2016 20:53:32 +0000 (13:53 -0700)]
VP9: Do not call vp9_adjust_mask() in vp9_setup_mask()

vp9_adjust_mask() is called again in loop_filter_rows().

Change-Id: If52f5339dfa7971c47b12f9e05f87951044d9391

8 years agoMerge "hadamard_test: align src/dst buffers"
James Zern [Fri, 22 Apr 2016 20:03:06 +0000 (20:03 +0000)]
Merge "hadamard_test: align src/dst buffers"

8 years agoMerge "vp9: Some adjustments to denoiser under high-noise condition."
Marco Paniconi [Fri, 22 Apr 2016 18:55:57 +0000 (18:55 +0000)]
Merge "vp9: Some adjustments to denoiser under high-noise condition."

8 years agovp9-noise estimation: Add check on whether skin detection is enabled.
Marco [Fri, 22 Apr 2016 17:35:29 +0000 (10:35 -0700)]
vp9-noise estimation: Add check on whether skin detection is enabled.

Change-Id: Ie80b7a14e3505c40b5742793f84aa6fb9d21dab5

8 years agovp9: Some adjustments to denoiser under high-noise condition.
Marco [Fri, 22 Apr 2016 17:30:21 +0000 (10:30 -0700)]
vp9: Some adjustments to denoiser under high-noise condition.

Change-Id: Ib47d742d07f13c7c39cea85e228c19ae298baf4a

8 years agoMerge "vp9: Move consec_zero_mv from cyclic refresh to cpi struct."
Marco Paniconi [Fri, 22 Apr 2016 17:06:31 +0000 (17:06 +0000)]
Merge "vp9: Move consec_zero_mv from cyclic refresh to cpi struct."