platform/upstream/libvpx.git
8 years agoMerge "VP10: Add palette mode part 1"
Hui Su [Tue, 13 Oct 2015 17:34:27 +0000 (17:34 +0000)]
Merge "VP10: Add palette mode part 1"

8 years agovp10: allow forward updates for uv_mode probabilities.
Ronald S. Bultje [Thu, 1 Oct 2015 14:45:46 +0000 (10:45 -0400)]
vp10: allow forward updates for uv_mode probabilities.

See issue 1040 point 4.

Change-Id: I79e06bd71a27f45770c760c47dc71bc3767a77a0

8 years agovp10: allow bw adaptivity for skip/tx probabilities in keyframes.
Ronald S. Bultje [Thu, 1 Oct 2015 14:32:57 +0000 (10:32 -0400)]
vp10: allow bw adaptivity for skip/tx probabilities in keyframes.

See issue 1040 point 3.

Change-Id: Ieef6d326b7fb50ceca5936525b7c688225a11fd1

8 years agovp10: don't write tile size marker bit if CONFIG_MISC_FIXES=0.
Ronald S. Bultje [Mon, 12 Oct 2015 20:35:32 +0000 (16:35 -0400)]
vp10: don't write tile size marker bit if CONFIG_MISC_FIXES=0.

Change-Id: I41b13b8767e30da391c2c4da9a729ca7292b16b9

8 years agovp10: remove ref-MV-dependent use of HP.
Ronald S. Bultje [Fri, 2 Oct 2015 19:07:04 +0000 (15:07 -0400)]
vp10: remove ref-MV-dependent use of HP.

This change (in a new config experiment: universal_hp) removes the
bitstream parsing dependency of the HP MV bit on the ref MV to be
coded. It also cleans up clearing of the HP bit in near/nearestMV,
since HP is always on if it's set in the frame header.

This admittedly doesn't clean up the crap that could be cleaned up,
but that's mostly because I think this needs some careful review;
not so much for coding style, but more from hardware people and from
the codec team on what we/you want. It would also be nice to get some
actual numbers on the real quality impact of this change. If, for
example, hardware people come up and tell us they don't actually care
anymore, we should probably just this code as-is and do nothing (i.e.
discard this patch).

See issue 1036.

Change-Id: Ic9b106f34422aa0f79de0c28125b72d566bd511a

8 years agovp10: remove clamp_mv2() call from vp10_find_best_ref_mvs().
Ronald S. Bultje [Fri, 2 Oct 2015 15:51:54 +0000 (11:51 -0400)]
vp10: remove clamp_mv2() call from vp10_find_best_ref_mvs().

This actually has no effect whatsoever, since the input MVs themselves
are clamped by clamp_mv_ref() already, which is significantly more
restrictive in its bounds.

Change-Id: I4a3a7b2b121ee422c56428c2a12d930c3813c06e

8 years agovp10: update assertion/allocation for tokens.
Ronald S. Bultje [Mon, 12 Oct 2015 18:45:04 +0000 (14:45 -0400)]
vp10: update assertion/allocation for tokens.

We only write EOSB tokens if we write tokens (i.e. not for skip blocks),
and we write EOSB tokens per-plane instead of per block.

Change-Id: I8d7ee99f8ec50eb7ae809f9f9282c1c91dbf6537

8 years agoVP10: Add palette mode part 1
hui su [Tue, 15 Sep 2015 19:44:13 +0000 (12:44 -0700)]
VP10: Add palette mode part 1

Add palette mode for keyframe luma channel. Palette mode is enabled
when using "--tune-content=screen" in encoding config parameters.

on screen_content testset:  +6.89%
on derlr                 :  +0.00%

Design doc (WIP):
https://goo.gl/lD4yJw

Change-Id: Ib368b216bfd3ea21c6c27436934ad87afdaa6f88

8 years agotile_worker_hook: fix -Wclobbered warning
James Zern [Sat, 10 Oct 2015 18:16:20 +0000 (11:16 -0700)]
tile_worker_hook: fix -Wclobbered warning

*tile should be marked volatile like the others due to the use of
setjmp()

Change-Id: I5dbf8e6792e4c0f34a683434b4fd06e3b4c75c4b

8 years agoAdd vpx_highbd_convolve_{copy,avg}_sse2
Alex Converse [Tue, 6 Oct 2015 22:59:03 +0000 (15:59 -0700)]
Add vpx_highbd_convolve_{copy,avg}_sse2

single-threaded:
swanky (silvermont): ~1% faster overall
peppy (celeron,haswell): ~1.5% faster overall

Change-Id: Ib74f014374c63c9eaf2d38191cbd8e2edcc52073

8 years agoGenerate convolve_test wrapper functions with a macro
Alex Converse [Fri, 9 Oct 2015 18:42:05 +0000 (11:42 -0700)]
Generate convolve_test wrapper functions with a macro

Change-Id: Iccb4cdc23c1845cf9cb7d69101c9f4f43675d368

8 years agoMerge "vp9/decode_tiles_mt: remove unnecessary local"
James Zern [Fri, 9 Oct 2015 17:52:34 +0000 (17:52 +0000)]
Merge "vp9/decode_tiles_mt: remove unnecessary local"

8 years agoRemove 4 mova insts from quantize_ssse3_x86_64.asm
Geza Lore [Thu, 8 Oct 2015 17:33:32 +0000 (18:33 +0100)]
Remove 4 mova insts from quantize_ssse3_x86_64.asm

Change-Id: If3cb9345b44162e600e6c74873e0cb4c207fc7fb

8 years agoMerge "Optimization of 8bit block error for high bitdepth"
Debargha Mukherjee [Fri, 9 Oct 2015 13:36:47 +0000 (13:36 +0000)]
Merge "Optimization of 8bit block error for high bitdepth"

8 years agoOptimization of 8bit block error for high bitdepth
Geza Lore [Thu, 8 Oct 2015 14:44:49 +0000 (15:44 +0100)]
Optimization of 8bit block error for high bitdepth

If high bit depth configuration is enabled, but encoding in profile 0,
the code now falls back on optimized SSE2 assembler to compute the
block errors, similar to when high bit depth is not enabled.

Change-Id: I471d1494e541de61a4008f852dbc0d548856484f

8 years agoMerge "VP9 denoiser: use skin map to improve denoising."
Jacky Chen [Thu, 8 Oct 2015 21:02:46 +0000 (21:02 +0000)]
Merge "VP9 denoiser: use skin map to improve denoising."

8 years agoVP9 denoiser: use skin map to improve denoising.
jackychen [Wed, 7 Oct 2015 22:08:20 +0000 (15:08 -0700)]
VP9 denoiser: use skin map to improve denoising.

Only denoise at small motion if it's a skin block.

Change-Id: I6235cad9dd7f76ab40e7d9cdfe6180e619c20c6e

8 years agoMerge "vp10: use subexp probability updates for MV probs."
Ronald S. Bultje [Thu, 8 Oct 2015 18:50:50 +0000 (18:50 +0000)]
Merge "vp10: use subexp probability updates for MV probs."

8 years agoMerge "vp10: skip unreachable cat6 token extrabits."
Ronald S. Bultje [Thu, 8 Oct 2015 18:50:39 +0000 (18:50 +0000)]
Merge "vp10: skip unreachable cat6 token extrabits."

8 years agoMerge "vp10: remove superframe size field for last frame in superframe."
Ronald S. Bultje [Thu, 8 Oct 2015 18:50:08 +0000 (18:50 +0000)]
Merge "vp10: remove superframe size field for last frame in superframe."

8 years agoMerge "vp9_skin_detection: fix some build warnings."
Jacky Chen [Thu, 8 Oct 2015 18:15:10 +0000 (18:15 +0000)]
Merge "vp9_skin_detection: fix some build warnings."

8 years agoMerge "vp10: use superframe marker index/size mechanism for tile size."
Ronald S. Bultje [Thu, 8 Oct 2015 17:32:52 +0000 (17:32 +0000)]
Merge "vp10: use superframe marker index/size mechanism for tile size."

8 years agovp9_skin_detection: fix some build warnings.
jackychen [Thu, 8 Oct 2015 16:50:28 +0000 (09:50 -0700)]
vp9_skin_detection: fix some build warnings.

Change-Id: Ib779c083e9775dc9922ed6e104f6275bc453bef9

8 years agovp9/decode_tiles_mt: remove unnecessary local
James Zern [Thu, 8 Oct 2015 00:45:45 +0000 (17:45 -0700)]
vp9/decode_tiles_mt: remove unnecessary local

reuse the common loop index

Change-Id: I9db45a93c219c2123917514cb8e9d4ea86454711

8 years agoMerge "vp9/tile_worker_hook: pass pbi directly"
James Zern [Wed, 7 Oct 2015 22:09:33 +0000 (22:09 +0000)]
Merge "vp9/tile_worker_hook: pass pbi directly"

8 years agoMerge changes Iaee60826,I51cf1e39
James Zern [Wed, 7 Oct 2015 22:09:21 +0000 (22:09 +0000)]
Merge changes Iaee60826,I51cf1e39

* changes:
  vp9/tile_worker_hook: add multiple tile decoding
  invalid_file_test: loosen error check w/tile-threading

8 years agoVP9_denoiser: pass address in copy_frame to make it faster.
jackychen [Wed, 7 Oct 2015 20:21:25 +0000 (13:21 -0700)]
VP9_denoiser: pass address in copy_frame to make it faster.

Change-Id: I65269ddb3ea5f911d5be38614b93c97be7e1ba76

8 years agoMerge "VP9 denoiser bug-fix: artifact caused by false buffer swap."
Marco Paniconi [Wed, 7 Oct 2015 19:08:07 +0000 (19:08 +0000)]
Merge "VP9 denoiser bug-fix: artifact caused by false buffer swap."

8 years agoMerge "vp9: simplify extrabits encoding"
Alex Converse [Wed, 7 Oct 2015 18:45:02 +0000 (18:45 +0000)]
Merge "vp9: simplify extrabits encoding"

8 years agoMerge "test/reg...check,video_source.h: avoid NOMINMAX redef"
James Zern [Wed, 7 Oct 2015 18:40:02 +0000 (18:40 +0000)]
Merge "test/reg...check,video_source.h: avoid NOMINMAX redef"

8 years agoMerge "vpxdec: quiet signed/unsigned warning"
James Zern [Wed, 7 Oct 2015 18:26:36 +0000 (18:26 +0000)]
Merge "vpxdec: quiet signed/unsigned warning"

8 years agoMerge changes I2965e786,I144bedde
James Zern [Wed, 7 Oct 2015 18:26:15 +0000 (18:26 +0000)]
Merge changes I2965e786,I144bedde

* changes:
  vpx_memset16: drop unnecessary local
  vpx_memset16: quiet signed/unsigned warning

8 years agoVP9 denoiser bug-fix: artifact caused by false buffer swap.
jackychen [Wed, 7 Oct 2015 17:44:04 +0000 (10:44 -0700)]
VP9 denoiser bug-fix: artifact caused by false buffer swap.

The artifact occurs periodically when VP9 denoiser is on and
refresh_golden_frame happen. When refresh_golden_frame happen,
we should copy the frame buffer instead of swapping the pointers.

Change-Id: Ib3204c4b04db28ecf439c6d9e61f3d146f04196d

8 years agoMerge "Move setting of refresh threshold outside loop."
Marco Paniconi [Wed, 7 Oct 2015 16:44:32 +0000 (16:44 +0000)]
Merge "Move setting of refresh threshold outside loop."

8 years agoMerge "Backports highbitdepth accelerations into vp10"
Debargha Mukherjee [Wed, 7 Oct 2015 16:28:36 +0000 (16:28 +0000)]
Merge "Backports highbitdepth accelerations into vp10"

8 years agotest/reg...check,video_source.h: avoid NOMINMAX redef
James Zern [Wed, 7 Oct 2015 06:05:15 +0000 (23:05 -0700)]
test/reg...check,video_source.h: avoid NOMINMAX redef

some mingw32 configs define this. force this to be on to ensure the
build succeeds

Change-Id: I2cc490782b6a0736aa617e6a1457fc2bc984adbb

8 years agovpxdec: quiet signed/unsigned warning
James Zern [Wed, 7 Oct 2015 05:56:34 +0000 (22:56 -0700)]
vpxdec: quiet signed/unsigned warning

Change-Id: I93c56dfa547af9b2f2b96c4f85fd9862ea67af62

8 years agovpx_memset16: drop unnecessary local
James Zern [Wed, 7 Oct 2015 05:51:35 +0000 (22:51 -0700)]
vpx_memset16: drop unnecessary local

+ add a cast

Change-Id: I2965e7867223aa25bf688c988629ac57b4971905

8 years agovpx_memset16: quiet signed/unsigned warning
James Zern [Wed, 7 Oct 2015 05:48:18 +0000 (22:48 -0700)]
vpx_memset16: quiet signed/unsigned warning

Change-Id: I144bedde7ea43f1b84360c1a7c8a042fd30abb6b

8 years agovp9/tile_worker_hook: pass pbi directly
James Zern [Thu, 1 Oct 2015 06:02:31 +0000 (23:02 -0700)]
vp9/tile_worker_hook: pass pbi directly

reduces the size of TileWorkerData reusing the storage in the worker
itself

Change-Id: If8a62fcb35167037c3da5814ab84fb81893f9cab

8 years agovp9/tile_worker_hook: add multiple tile decoding
James Zern [Sat, 26 Sep 2015 03:43:04 +0000 (20:43 -0700)]
vp9/tile_worker_hook: add multiple tile decoding

this reduces the number of synchronizations in decode_tiles_mt() and
improves overall performance when the number of threads is less than the
number of tiles

Change-Id: Iaee6082673dc187ffe0e3d91a701d1e470c62924

8 years agoMove setting of refresh threshold outside loop.
Marco [Wed, 7 Oct 2015 00:47:08 +0000 (17:47 -0700)]
Move setting of refresh threshold outside loop.

Small code cleanup. consec_zeromv refresh threshold
does not need to be computed for every super-block.

No change in behavior.

Change-Id: I8c4b1b28072f42b01d917fff6d1f62722f1e1554

8 years agoinvalid_file_test: loosen error check w/tile-threading
James Zern [Sat, 26 Sep 2015 03:31:45 +0000 (20:31 -0700)]
invalid_file_test: loosen error check w/tile-threading

The serial decode check is too strict for tile-threaded decoding as
there is no guarantee on the decode order nor which specific error
will take precedence. Currently a tile-level error is not forwarded so
the frame will simply be marked corrupt.

Change-Id: I51cf1e39e44bedeac93746154b36a4ccb2f059b1

8 years agovp9: simplify extrabits encoding
Alex Converse [Tue, 6 Oct 2015 21:03:34 +0000 (14:03 -0700)]
vp9: simplify extrabits encoding

Change-Id: I5a2abd35cb303d8f6354b3119ab95acf90405116

8 years agoMerge "SSSE3 optimisation for quantize in high bit depth"
Debargha Mukherjee [Tue, 6 Oct 2015 22:28:11 +0000 (22:28 +0000)]
Merge "SSSE3 optimisation for quantize in high bit depth"

8 years agoAdd first_spatial_layer_to_encode to SVC.
Marco [Thu, 1 Oct 2015 22:46:06 +0000 (15:46 -0700)]
Add first_spatial_layer_to_encode to SVC.

Use the existing VP9_SET_SVC control to set the
first spatial layer to encode.

Since we loop over all spatial layers inside the encoder, the
setting of spatial_layer_id via VP9_SET_SVC has no relevance.
Use it instead to set the first_spatial_layer_to_encode,
which allows an application to skip encoding lower layer(s).

Change only affects the 1 pass CBR SVC.

Change-Id: I5d63ab713c3e250fdf42c637f38d5ec8f60cd1fb

8 years agoSSSE3 optimisation for quantize in high bit depth
Julia Robson [Tue, 6 Oct 2015 11:11:14 +0000 (12:11 +0100)]
SSSE3 optimisation for quantize in high bit depth

When configured with high bit detpth enabled, the 8bit quantize
function stopped using optimised code. This made 8bit content
decode slowly. This commit re-enables the SSSE3 optimisations.

Change-Id: I194b505dd3f4c494e5c5e53e020f5d94534b16b5

8 years agoMerge "VPX: refactor vpx_idct32x32_1_add_sse2()"
Scott LaVarnway [Tue, 6 Oct 2015 11:35:15 +0000 (11:35 +0000)]
Merge "VPX: refactor vpx_idct32x32_1_add_sse2()"

8 years agoMerge "vp10: extend range for delta Q values."
Ronald S. Bultje [Tue, 6 Oct 2015 10:49:30 +0000 (10:49 +0000)]
Merge "vp10: extend range for delta Q values."

8 years agovp10: use subexp probability updates for MV probs.
Ronald S. Bultje [Thu, 1 Oct 2015 14:07:32 +0000 (10:07 -0400)]
vp10: use subexp probability updates for MV probs.

See issue 1040 point 2.

Change-Id: I0b37fe74be764610696620f1fe296dc74e4806d7

8 years agovp10: skip unreachable cat6 token extrabits.
Ronald S. Bultje [Thu, 1 Oct 2015 01:37:20 +0000 (21:37 -0400)]
vp10: skip unreachable cat6 token extrabits.

We have historically added new bits to cat6 whenever we added a new
transform size (or bitdepth, for that matter). However, we have
always coded these new bits regardless of the actual transform size,
which means that for smaller transforms, we code bits that cannot
possibly be set. The coding (quality) impact of this is negligible,
but the bigger issue is that this allows creating bitstreams with
coefficient values that are nonsensible and can cause int overflows,
which then de facto become part of the bitstream spec. By not coding
these bits, we remove this possibility.

See issue 1065.

Change-Id: Ib3186eca2df6a7a15ddc60c8b55af182aadd964d

8 years agovp10: remove superframe size field for last frame in superframe.
Ronald S. Bultje [Wed, 30 Sep 2015 21:16:28 +0000 (17:16 -0400)]
vp10: remove superframe size field for last frame in superframe.

This is identical to what the tile size does for the last tile. See
issue 1042 (which covers generalizing the superframe/tile concepts).

Change-Id: I1f187d2e3b984e424e3b6d79201b8723069e1a50

8 years agovp10: use superframe marker index/size mechanism for tile size.
Ronald S. Bultje [Wed, 30 Sep 2015 20:42:59 +0000 (16:42 -0400)]
vp10: use superframe marker index/size mechanism for tile size.

See issue 1042. Should provide slight bitstream savings in most cases
where tiles are being used.

Change-Id: Ie2808cf8ef30b3efe50804396900c4d63a3fa026

8 years agovp10: extend range for delta Q values.
Ronald S. Bultje [Thu, 1 Oct 2015 02:01:41 +0000 (22:01 -0400)]
vp10: extend range for delta Q values.

See issue 1051. 6 bits is fairly arbitrary but at least allows writing
delta Q values that are fairly normal in other codecs. I can extend to
8 if people want full range, although I personally don't have any need
for that.

Change-Id: I0a5a7c3d9b8eb3de4418430ab0e925d4a08cd7a0

8 years agoAdd the check of resolution in VP9 dynamic resizing.
jackychen [Mon, 5 Oct 2015 22:35:22 +0000 (15:35 -0700)]
Add the check of resolution in VP9 dynamic resizing.

The resolution check fixs the issue which resets resize_pending
unnecessarily and causes not-bitexact with previous one-step version.

Change-Id: I4e7660b3c8f34f59781e2e61ca30d61080c322de

8 years agoSSE2 optimisation for quantize in high bit depth
Julia Robson [Fri, 2 Oct 2015 09:20:06 +0000 (10:20 +0100)]
SSE2 optimisation for quantize in high bit depth

When configured with high bit detpth enabled, the 8bit quantize
function stopped using optimised code. This made 8bit content
decode slowly. This commit re-enables the SSE2 optimisation
(but not the SSSE3 optimisation).

Change-Id: Id015fe3c1c44580a4bff3f4bd985170f2806a9d9

8 years agoMerge "Fix to denoiser with dynamic resize."
Marco Paniconi [Mon, 5 Oct 2015 14:14:35 +0000 (14:14 +0000)]
Merge "Fix to denoiser with dynamic resize."

8 years agoMerge "Stabilize the encoder buffer from going too negative."
Marco Paniconi [Mon, 5 Oct 2015 14:11:43 +0000 (14:11 +0000)]
Merge "Stabilize the encoder buffer from going too negative."

8 years agoVPX: refactor vpx_idct32x32_1_add_sse2()
Scott LaVarnway [Mon, 5 Oct 2015 13:33:42 +0000 (06:33 -0700)]
VPX: refactor vpx_idct32x32_1_add_sse2()

Change-Id: Ia1a2cac0e9dc05f3207b3433a6c1589fa7f2aee3

8 years agoTurn on two-steps scaling in VP9 encoder dynamic resizing.
JackyChen [Fri, 2 Oct 2015 22:21:42 +0000 (15:21 -0700)]
Turn on two-steps scaling in VP9 encoder dynamic resizing.

First do a 3/4 scaling and then go down to 1/2 when necessary.

Change-Id: I5689c5228ca7e1606baea7f960eb24d0dab04d4d

8 years agoFix to denoiser with dynamic resize.
Marco [Fri, 2 Oct 2015 00:31:40 +0000 (17:31 -0700)]
Fix to denoiser with dynamic resize.

Temporary fix to denoiser when dynamic resizing is on.
 -Reallocate denoiser buffers on resized frame.
 -Force golden update on resized frame.
 -Don't denoise resized frame, and copy source into denoised buffers.

Change-Id: Ife7638173b76a1c49eac7da4f2a30c9c1f4e2000

8 years agoStabilize the encoder buffer from going too negative.
Marco [Thu, 1 Oct 2015 01:27:49 +0000 (18:27 -0700)]
Stabilize the encoder buffer from going too negative.

For screen-content mode, with frame dropper off, put a limit
on how low encoder buffer can go.

Under hard slide changes, the buffer level can go too low and then
take long time to come back up (in particular when frame-dropping
is not used), which will affect the active_worst and target frame size.

Change-Id: Ie9fca097e05cd71141f978ec687f852daf9de332

8 years agovp10: make render_width/height referenceable through ref frames.
Ronald S. Bultje [Thu, 1 Oct 2015 01:57:26 +0000 (21:57 -0400)]
vp10: make render_width/height referenceable through ref frames.

See issue 1079.

Change-Id: I754a61ec011c3508bbb26826cf8e11dbdfdd8379

8 years agoMerge "vp10: reimplement d45/4x4 to match vp8 instead of vp9."
Ronald S. Bultje [Fri, 2 Oct 2015 17:15:59 +0000 (17:15 +0000)]
Merge "vp10: reimplement d45/4x4 to match vp8 instead of vp9."

8 years agoBackports highbitdepth accelerations into vp10
Debargha Mukherjee [Fri, 2 Oct 2015 07:57:37 +0000 (00:57 -0700)]
Backports highbitdepth accelerations into vp10

Ports the changes in
https://chromium-review.googlesource.com/#/c/302372/3
into vp10.

Change-Id: I334c409f693691227ad16fc703c91899592dd8dc

8 years agoMerge "Accelerated transform in high bit depth"
Debargha Mukherjee [Fri, 2 Oct 2015 06:55:55 +0000 (06:55 +0000)]
Merge "Accelerated transform in high bit depth"

8 years agoMerge "Two-steps scaling in VP9 encoder dynamic resizing."
Marco Paniconi [Fri, 2 Oct 2015 03:20:22 +0000 (03:20 +0000)]
Merge "Two-steps scaling in VP9 encoder dynamic resizing."

8 years agoTwo-steps scaling in VP9 encoder dynamic resizing.
jackychen [Thu, 1 Oct 2015 21:03:22 +0000 (14:03 -0700)]
Two-steps scaling in VP9 encoder dynamic resizing.

Dynamic resizing now support two-steps scaling: first go down to
3/4 and then 1/2. This feature is under a flag which controls the
switch between two-steps scaling and one-step scaling (1/2 only).

Change-Id: I3a6c1d3d5668cf8e016a0a02aeca737565604a0f

8 years agoSmall cleanup
hui su [Thu, 1 Oct 2015 18:19:13 +0000 (11:19 -0700)]
Small cleanup

Change-Id: I5aeaa94b743f84738d288f8b027fec4c164f2ec3

8 years agoMerge "VP9: remove plane_type from macroblockd_plane"
Scott LaVarnway [Thu, 1 Oct 2015 17:31:10 +0000 (17:31 +0000)]
Merge "VP9: remove plane_type from macroblockd_plane"

8 years agovp10: reimplement d45/4x4 to match vp8 instead of vp9.
Ronald S. Bultje [Wed, 30 Sep 2015 22:45:08 +0000 (18:45 -0400)]
vp10: reimplement d45/4x4 to match vp8 instead of vp9.

This is more a proof of concept than anything else. The problem here
isn't so much how to code it, but rather where to place the resulting
code. All intrapred DSP code lives in vpx_dsp, so do we want the vp10
specific intra pred functions to live there, or in vp10/?

See issue 1015.

Change-Id: I675f7badcc8e18fd99a9553910ecf3ddf81f0a05

8 years agovp8: align left pixel array by 16 bytes.
Ronald S. Bultje [Thu, 1 Oct 2015 12:30:49 +0000 (08:30 -0400)]
vp8: align left pixel array by 16 bytes.

The x86 simd expects this. Identical alignment can be found in vp9
and vp10 also. Fixes crashes on 32bit x86 systems.

Change-Id: I229c88d8f696acbef5337c8fa9503528df4e1c40

8 years agoMerge "sixtap_predict_test: enable NEON tests"
James Zern [Thu, 1 Oct 2015 02:10:22 +0000 (02:10 +0000)]
Merge "sixtap_predict_test: enable NEON tests"

8 years agoMerge "vp8: change build_intra4x4_predictors() to use vpx_dsp."
Ronald S. Bultje [Thu, 1 Oct 2015 01:01:57 +0000 (01:01 +0000)]
Merge "vp8: change build_intra4x4_predictors() to use vpx_dsp."

8 years agoMerge "vp8: change build_intra_predictors_mbuv_s to use vpx_dsp."
Ronald S. Bultje [Thu, 1 Oct 2015 01:01:45 +0000 (01:01 +0000)]
Merge "vp8: change build_intra_predictors_mbuv_s to use vpx_dsp."

8 years agoMerge "vp8: change build_intra_predictors_mby_s to use vpx_dsp."
Ronald S. Bultje [Thu, 1 Oct 2015 00:57:37 +0000 (00:57 +0000)]
Merge "vp8: change build_intra_predictors_mby_s to use vpx_dsp."

8 years agovp8: change build_intra4x4_predictors() to use vpx_dsp.
Ronald S. Bultje [Wed, 30 Sep 2015 22:44:37 +0000 (18:44 -0400)]
vp8: change build_intra4x4_predictors() to use vpx_dsp.

I've added a few new functions (d45e, d63e, he, ve) to cover the
filtered h/v 4x4 predictors that are vp8-specific, the "correct"
d45 with the correctly filtered bottom-right pixel (as opposed to
the unfiltered version in vp9), and the "broken" d63 with weirdly
filtered bottom-right pixels (which is correctly filtered in vp9).

There may be a minor performance impact on all systems because we
have to do an extra copy of the Above pixel array to incorporate
the topleft pixel in the same array (thus fitting the vpx_dsp API).
In addition, armv6 will have a more serious performance impact b/c
I removed the armv6/vp8-specific assembly. I'm not sure anyone
cares...

Change-Id: I7f9e5ebee11d8e21aca2cd517a69eefc181b2e86

8 years agovp8: change build_intra_predictors_mbuv_s to use vpx_dsp.
Ronald S. Bultje [Wed, 30 Sep 2015 15:46:35 +0000 (11:46 -0400)]
vp8: change build_intra_predictors_mbuv_s to use vpx_dsp.

Change-Id: I936c2430c3c5b1e0ab5dec0a20110525e925b5e4

8 years agovp8: change build_intra_predictors_mby_s to use vpx_dsp.
Ronald S. Bultje [Wed, 30 Sep 2015 15:07:35 +0000 (11:07 -0400)]
vp8: change build_intra_predictors_mby_s to use vpx_dsp.

Change-Id: I2000820e0c04de2c975d370a0cf7145330289bb2

8 years agoVP9: remove plane_type from macroblockd_plane
Scott LaVarnway [Tue, 29 Sep 2015 17:40:27 +0000 (10:40 -0700)]
VP9: remove plane_type from macroblockd_plane

Change-Id: Ia5072a3a92212d8565f33359f6c146469bdfbbec

8 years agoMerge "VP9: remove plane_type checks in loopfilter functions"
Scott LaVarnway [Wed, 30 Sep 2015 22:11:21 +0000 (22:11 +0000)]
Merge "VP9: remove plane_type checks in loopfilter functions"

8 years agoMerge changes I264e75bf,Ifb0f41fb
James Zern [Wed, 30 Sep 2015 21:52:38 +0000 (21:52 +0000)]
Merge changes I264e75bf,Ifb0f41fb

* changes:
  vp9_loopfilter: remove unnecessary masks
  vp9_reset_lfm: harmonize function signature

8 years agoMerge changes I68c4f189,Ia5a752db
James Zern [Wed, 30 Sep 2015 21:51:51 +0000 (21:51 +0000)]
Merge changes I68c4f189,Ia5a752db

* changes:
  vp9_thread_test: clarify test case names
  vp9_thread_test: add non-frame-parallel files

8 years agoMerge "test/*.h: (windows) fix min/max conflict"
James Zern [Wed, 30 Sep 2015 19:55:36 +0000 (19:55 +0000)]
Merge "test/*.h: (windows) fix min/max conflict"

8 years agovp9_loopfilter: remove unnecessary masks
James Zern [Wed, 30 Sep 2015 03:55:14 +0000 (20:55 -0700)]
vp9_loopfilter: remove unnecessary masks

Change-Id: I264e75bf3ddd083ee5311c50a37fb18fe634ddc3

8 years agotest/*.h: (windows) fix min/max conflict
James Zern [Wed, 30 Sep 2015 03:28:47 +0000 (20:28 -0700)]
test/*.h: (windows) fix min/max conflict

define NOMINMAX to allow the std:: versions to be used; min/max will be
defined transitively via windows.h otherwise

Change-Id: I692b03fa3e70b7a53962d3fd209498f70f712fed

8 years agovp9_reset_lfm: harmonize function signature
James Zern [Wed, 30 Sep 2015 03:46:37 +0000 (20:46 -0700)]
vp9_reset_lfm: harmonize function signature

Change-Id: Ifb0f41fb43564a777be29b4c66443b366fa146a3

8 years agoChange dynamic_cast to static_cast to fix no-rtti build
Alex Converse [Wed, 30 Sep 2015 01:49:21 +0000 (18:49 -0700)]
Change dynamic_cast to static_cast to fix no-rtti build

Change-Id: Iad73b490b171cdda5c368ada69fb8eab2a86c156

8 years agoMerge "Add a test for the interaction between active map and cyclic referesh."
Alex Converse [Wed, 30 Sep 2015 01:20:30 +0000 (01:20 +0000)]
Merge "Add a test for the interaction between active map and cyclic referesh."

8 years agoVP9: remove plane_type checks in loopfilter functions
Scott LaVarnway [Tue, 29 Sep 2015 15:34:26 +0000 (08:34 -0700)]
VP9: remove plane_type checks in loopfilter functions

vp9_filter_block_plane_ss11() and vp9_filter_block_plane_non420()
are only called for the uv planes.

Change-Id: Iacd3b3242c8ce581edd37c8f06d95efc8a0f88a3

8 years agoMerge "VP9: move loopfilter build masks to decode loop"
Scott LaVarnway [Tue, 29 Sep 2015 21:40:48 +0000 (21:40 +0000)]
Merge "VP9: move loopfilter build masks to decode loop"

8 years agoMerge "vpxenc: Allow non i420 input for VP10."
Tom Finegan [Tue, 29 Sep 2015 18:56:21 +0000 (18:56 +0000)]
Merge "vpxenc: Allow non i420 input for VP10."

8 years agoMerge "aq-mode for SVC: Add consec_zero_mv to layer context."
Marco Paniconi [Tue, 29 Sep 2015 17:47:39 +0000 (17:47 +0000)]
Merge "aq-mode for SVC: Add consec_zero_mv to layer context."

8 years agovpxenc: Allow non i420 input for VP10.
Tom Finegan [Tue, 29 Sep 2015 17:45:00 +0000 (10:45 -0700)]
vpxenc: Allow non i420 input for VP10.

BUG=https://code.google.com/p/webm/issues/detail?id=1066

Change-Id: I3bd26a516ef3d2742c523af570f639f9312df6df

8 years agoMerge "Fix a macro definition"
Yaowu Xu [Tue, 29 Sep 2015 17:22:49 +0000 (17:22 +0000)]
Merge "Fix a macro definition"

8 years agoMerge "build/make/iosbuild.sh: Remove jobs argument."
Tom Finegan [Tue, 29 Sep 2015 17:08:55 +0000 (17:08 +0000)]
Merge "build/make/iosbuild.sh: Remove jobs argument."

8 years agoaq-mode for SVC: Add consec_zero_mv to layer context.
Marco [Tue, 29 Sep 2015 17:00:16 +0000 (10:00 -0700)]
aq-mode for SVC: Add consec_zero_mv to layer context.

Change-Id: I63fadf1c7240d4b2893384f75c519311e9659d47

8 years agoFix a macro definition
Yaowu Xu [Tue, 29 Sep 2015 16:34:42 +0000 (09:34 -0700)]
Fix a macro definition

to be consistent with the head file name.

Change-Id: I9634332a2b3fac7e7f3b7ef58821ea7c81c5c813

8 years agoVP9: move loopfilter build masks to decode loop
Scott LaVarnway [Tue, 29 Sep 2015 12:20:49 +0000 (05:20 -0700)]
VP9: move loopfilter build masks to decode loop

The loopfilter masks are now built in the decode loop.
This is done so we can eventually reduce the number of
MODE_INFO structs required by the decoder.

The encoder builds the masks for the entire frame prior
to calling the loopfilter.

Change-Id: Ia2146b07e0acb8c50203e586dfae0c4c5b316f11

8 years agoAccelerated transform in high bit depth
Julia Robson [Mon, 28 Sep 2015 15:50:39 +0000 (16:50 +0100)]
Accelerated transform in high bit depth

When configured with high bitdepth enabled, the 8bit transform
stopped using optimised code. This made 8bit content decode slowly.

Change-Id: I67d91f9b212921d5320f949fc0a0d3f32f90c0ea