platform/upstream/libvpx.git
7 years agoMerge "idct32x32_1_add_neon: clear a couple conv warnings"
James Zern [Tue, 1 Nov 2016 22:34:59 +0000 (22:34 +0000)]
Merge "idct32x32_1_add_neon: clear a couple conv warnings"

7 years agoMerge changes I08af3a54,If5959a25,I6763e62e
James Zern [Tue, 1 Nov 2016 21:43:13 +0000 (21:43 +0000)]
Merge changes I08af3a54,If5959a25,I6763e62e

* changes:
  build/make/Android.mk: s/armv8/arm64/
  build/make/Android.mk: fix armeabi-v7a build
  use .S suffix rather than .s for NEON asm

7 years agoAdd high bitdepth intra prediction optimization speed test
Linfeng Zhang [Tue, 25 Oct 2016 21:24:16 +0000 (14:24 -0700)]
Add high bitdepth intra prediction optimization speed test

BUG=webm:1316

Change-Id: I99feec867d5b8ea06b43cdd3fcd7c90238f5efdb

7 years agoMerge "Refine 8-bit intra prediction NEON optimization (mode tm)"
Linfeng Zhang [Tue, 1 Nov 2016 19:38:06 +0000 (19:38 +0000)]
Merge "Refine 8-bit intra prediction NEON optimization (mode tm)"

7 years agoRefine 8-bit intra prediction NEON optimization (mode tm)
Linfeng Zhang [Fri, 21 Oct 2016 19:38:49 +0000 (12:38 -0700)]
Refine 8-bit intra prediction NEON optimization (mode tm)

Change-Id: I98b9577ec51367df5e5d564bedf7c3ea0606de4c

7 years agoMerge "Change to KF boost calculation."
Paul Wilkins [Tue, 1 Nov 2016 09:29:30 +0000 (09:29 +0000)]
Merge "Change to KF boost calculation."

7 years agoidct32x32_1_add_neon: clear a couple conv warnings
James Zern [Tue, 1 Nov 2016 01:56:34 +0000 (18:56 -0700)]
idct32x32_1_add_neon: clear a couple conv warnings

int16_t -> uint8_t

Change-Id: I3c5e0985bc3584dce289c35b5973de24cdc73b76

7 years agobuild/make/Android.mk: s/armv8/arm64/
James Zern [Tue, 1 Nov 2016 01:35:23 +0000 (18:35 -0700)]
build/make/Android.mk: s/armv8/arm64/

the configure target is arm64-android-gcc which generates .mk files of
the same form

Change-Id: I08af3a54ef203b1496d185a0f8c8fe702881a173

7 years agobuild/make/Android.mk: fix armeabi-v7a build
James Zern [Tue, 1 Nov 2016 01:34:16 +0000 (18:34 -0700)]
build/make/Android.mk: fix armeabi-v7a build

vpx_config.asm and idct_neon.asm.S are required since:
3ae2597 idct,NEON: add a tran_low_t->s16 load adapter

Change-Id: If5959a25edb370dd7dcdca71c96e9a5aad0840ce

7 years agouse .S suffix rather than .s for NEON asm
James Zern [Mon, 31 Oct 2016 23:18:51 +0000 (16:18 -0700)]
use .S suffix rather than .s for NEON asm

for compatibility with other build systems

Change-Id: I6763e62e3126850ad4f8ad29e388b8dad0bbc4c3

7 years agoMerge "vp9-svc: Fix some stats in vp9_spatial_svc_encoder."
Marco Paniconi [Mon, 31 Oct 2016 23:16:35 +0000 (23:16 +0000)]
Merge "vp9-svc: Fix some stats in vp9_spatial_svc_encoder."

7 years agovp9-svc: Fix some stats in vp9_spatial_svc_encoder.
Marco [Mon, 31 Oct 2016 22:23:23 +0000 (15:23 -0700)]
vp9-svc: Fix some stats in vp9_spatial_svc_encoder.

Correction to rate control stats output under -rcstat.

Change-Id: I46fa5d2a66ed657121ee3d685608a148bb9a7bb3

7 years agoMerge "idct,NEON: add a tran_low_t->s16 load adapter"
James Zern [Mon, 31 Oct 2016 21:59:11 +0000 (21:59 +0000)]
Merge "idct,NEON: add a tran_low_t->s16 load adapter"

7 years agoMerge "Add vp9_spatial_svc_encoder to .gitignore."
Peter Boström [Mon, 31 Oct 2016 20:01:11 +0000 (20:01 +0000)]
Merge "Add vp9_spatial_svc_encoder to .gitignore."

7 years agoMerge "Refine 8-bit intra prediction NEON optimization (mode h and v)"
Linfeng Zhang [Mon, 31 Oct 2016 19:57:22 +0000 (19:57 +0000)]
Merge "Refine 8-bit intra prediction NEON optimization (mode h and v)"

7 years agoAdd vp9_spatial_svc_encoder to .gitignore.
Peter Boström [Mon, 31 Oct 2016 18:27:02 +0000 (14:27 -0400)]
Add vp9_spatial_svc_encoder to .gitignore.

Change-Id: I3c90d657cca533264dd62bb7749c53a862d0352a

7 years agoMerge "vp9-svc: Add checks to layer bitrates in vp9_spatial_svc_encoder."
Marco Paniconi [Mon, 31 Oct 2016 18:23:13 +0000 (18:23 +0000)]
Merge "vp9-svc: Add checks to layer bitrates in vp9_spatial_svc_encoder."

7 years agoidct,NEON: add a tran_low_t->s16 load adapter
James Zern [Tue, 18 Oct 2016 19:30:43 +0000 (12:30 -0700)]
idct,NEON: add a tran_low_t->s16 load adapter

enable idct4x4* and idct8x8* which are compatible for 8-bit decodes in
high-bitdepth mode. the adapter narrows 32-bit input to 16, whether the
expansion can be avoided at all in this case remains a TODO. roughly
matches sse2.

BUG=webm:1294

Change-Id: I3ea94e5a2070dfd509b5de0c555aab4e1f4da036

7 years agoRefine 8-bit intra prediction NEON optimization (mode h and v)
Linfeng Zhang [Fri, 21 Oct 2016 18:44:49 +0000 (11:44 -0700)]
Refine 8-bit intra prediction NEON optimization (mode h and v)

Change-Id: I45e1454c3a85e081bfa14386e0248f57e2a91854

7 years agovp9-svc: Add checks to layer bitrates in vp9_spatial_svc_encoder.
Marco [Mon, 31 Oct 2016 05:20:04 +0000 (22:20 -0700)]
vp9-svc: Add checks to layer bitrates in vp9_spatial_svc_encoder.

Add some checks to the layer bitrates passed in through the command line.

Change-Id: I16f270035a6034d63313fe3019aa90dca9a3eefb

7 years agoMerge "vpxdec.c : don't double count corrupted frames"
James Bankoski [Mon, 31 Oct 2016 13:58:14 +0000 (13:58 +0000)]
Merge "vpxdec.c : don't double count corrupted frames"

7 years agovpxdec.c : don't double count corrupted frames
Jim Bankoski [Fri, 28 Oct 2016 12:53:26 +0000 (05:53 -0700)]
vpxdec.c : don't double count corrupted frames

A past patch made it so that every frame that had a decode error
caused a corrupted frame to be counted.  Unfortunately it was possible
to get both a decode error and a corrupt frame for the same frame
and thus double count an error. This code makes that impossible.

Change-Id: Iea973727422a3bf093ffda72fa358a285736048b

7 years agotiny_ssim: fix visual studio build
James Zern [Sat, 29 Oct 2016 20:02:50 +0000 (13:02 -0700)]
tiny_ssim: fix visual studio build

s/inttypes.h/vpx_integer.h/
clear a uint64_t -> double conversion warning

Change-Id: I58d108b083787a754152eb79ef6df61c2c5f95b1

7 years agoMerge "Add temporal-layer support to tiny_ssim."
Peter Boström [Sat, 29 Oct 2016 01:25:01 +0000 (01:25 +0000)]
Merge "Add temporal-layer support to tiny_ssim."

7 years agoMerge "partial_idct_test: add _add_ test"
Johann Koenig [Sat, 29 Oct 2016 00:34:16 +0000 (00:34 +0000)]
Merge "partial_idct_test: add _add_ test"

7 years agoAdd temporal-layer support to tiny_ssim.
Peter Boström [Fri, 28 Oct 2016 18:50:20 +0000 (14:50 -0400)]
Add temporal-layer support to tiny_ssim.

Permits skipping 0, 1/2 or 3/4 of the frames, corresponding to
temporal layers 2, 1 and 0 of a 3-temporal-layer encoding. 1/2
corresponds to TL0 in a 2-layer encoding.

Change-Id: I7f6d131f63707e5262fc67d111bfb3a751ede90d

7 years agoMerge "vp9: Updates to SVC sample encoder."
Marco Paniconi [Fri, 28 Oct 2016 18:32:40 +0000 (18:32 +0000)]
Merge "vp9: Updates to SVC sample encoder."

7 years agovp9: Updates to SVC sample encoder.
Marco [Thu, 27 Oct 2016 22:38:02 +0000 (15:38 -0700)]
vp9: Updates to SVC sample encoder.

Allow for passing in the layer bitrates at command line.
Fix to allow passing in bitrate for each spatial-temporal layer.

Change to some default values for 1 pass cbr mode:
spatial scale and qp-max/min.

Small fixes to some build warnings.

Change-Id: I3f9a776262712480a6570bb863a835b2fc49935a

7 years agoMerge "Add tools/tiny_ssim for generating SSIM/PSNR."
Yaowu Xu [Fri, 28 Oct 2016 17:21:47 +0000 (17:21 +0000)]
Merge "Add tools/tiny_ssim for generating SSIM/PSNR."

7 years agoAdd tools/tiny_ssim for generating SSIM/PSNR.
Peter Boström [Thu, 27 Oct 2016 23:07:44 +0000 (19:07 -0400)]
Add tools/tiny_ssim for generating SSIM/PSNR.

Change-Id: Icc3e5aaa6636ffe17dc9da5f7a80afaccbde509a

7 years agoMerge "Refine 8-bit intra prediction NEON optimization (mode d45 and d135)"
Linfeng Zhang [Fri, 28 Oct 2016 15:57:55 +0000 (15:57 +0000)]
Merge "Refine 8-bit intra prediction NEON optimization (mode d45 and d135)"

7 years agoChange to KF boost calculation.
Paul Wilkins [Wed, 12 Oct 2016 19:50:08 +0000 (20:50 +0100)]
Change to KF boost calculation.

This  change is a step in a larger change to the way boost and interval are
determined for ARF and Key frames.

This patch contains some pluming for the general case but focuses on the
key frame boost calculation. This now relies more heavily on the rate at
which the error score increases between the primary and secondary reference
frame. This seems to be less fragile when dealing with different frame sizes.
For example larger image formats tend in the first pass to see a higher
% of intra coded blocks and the use of this number in calculating the frame
decay factor was leading to much lower boost numbers for 4K, for example,
than the same clip coded at 2K.

This change does give overall gains but they are MUCH larger for the 4K Netflix
set. For the 4K Netflix set the average gain is around 3% with some clips > 20%
whereas for the same set at 2K the average gain is 0.5-1%.

In general for small image formats the boost is most often reduced a little whereas
4K clips the boost is increased. There are some -ve cases such as Akiyo at 352x288
where the reduced boost hurts the metrics, especially for SSIM, even while
the set as a whole improves. This is most notable at very low Q and may be the
subject of a future patch.

Some common code for KF and ARF was separated in this patch for the purposes of
tuning but may later be re-merged if appropriate.

Change-Id: Iaa15ac5a58d2be89181100d95cef6a8dc4b12d0d

7 years agoMerge "Force recode if framesize exceeds max allowed size"
Debargha Mukherjee [Fri, 28 Oct 2016 04:21:43 +0000 (04:21 +0000)]
Merge "Force recode if framesize exceeds max allowed size"

7 years agoRefine 8-bit intra prediction NEON optimization (mode d45 and d135)
Linfeng Zhang [Fri, 21 Oct 2016 17:44:22 +0000 (10:44 -0700)]
Refine 8-bit intra prediction NEON optimization (mode d45 and d135)

dst += stride behaving better with gcc/clang.
Unroll loops.

Change-Id: I83f85df2bc9f17c6159542f57680b509395db2b1

7 years agoForce recode if framesize exceeds max allowed size
Debargha Mukherjee [Thu, 27 Oct 2016 05:40:59 +0000 (22:40 -0700)]
Force recode if framesize exceeds max allowed size

Fixes a case where recode is not triggered based on the value
of maxq passed into the recode loop test function.

BUG=b/32375284

Change-Id: I15ad985d0525c68e0443cfaf842440d2754b2266

7 years agoMerge "partial_idct_test: consolidate block size"
Johann Koenig [Thu, 27 Oct 2016 15:41:43 +0000 (15:41 +0000)]
Merge "partial_idct_test: consolidate block size"

7 years agoMerge "Changes to KF boost calculation."
Paul Wilkins [Thu, 27 Oct 2016 10:21:23 +0000 (10:21 +0000)]
Merge "Changes to KF boost calculation."

7 years agoMerge "Removal of a couple of two pass adjustments."
Paul Wilkins [Thu, 27 Oct 2016 10:21:05 +0000 (10:21 +0000)]
Merge "Removal of a couple of two pass adjustments."

7 years agopartial_idct_test: add _add_ test
Johann [Thu, 27 Oct 2016 04:24:46 +0000 (21:24 -0700)]
partial_idct_test: add _add_ test

The result of the transform is added to the destination buffers. In the
existing tests the destination buffer is always empty so that portion of
the code was never exercised.

Change-Id: I1858c4fed2274f1b9faf834d2ba4186a4510492a

7 years agopartial_idct_test: consolidate block size
Johann [Thu, 27 Oct 2016 04:19:36 +0000 (21:19 -0700)]
partial_idct_test: consolidate block size

Use *input_block_ for sizeof() calculation like the other test

Change-Id: I1e4bd227131662056405af78c5052ad6ef769e9f

7 years agoRefactor partial idct test
Johann [Fri, 21 Oct 2016 22:09:53 +0000 (15:09 -0700)]
Refactor partial idct test

Switch to using correctly sized inputs and outputs. This simplifies
adding tests with varying strides.

Change-Id: I716a0d8173dcf6a86d56656ac9d3101b7ec27642

7 years agoChanges to KF boost calculation.
Paul Wilkins [Wed, 12 Oct 2016 18:49:19 +0000 (19:49 +0100)]
Changes to KF boost calculation.

Remove double counting of decay. Limit maximum KF boost.

Change-Id: I0fb2344d0f78b5e95bb899dfad12b0ca84034b2c

7 years agoRemoval of a couple of two pass adjustments.
paulwilkins [Fri, 30 Sep 2016 13:51:39 +0000 (14:51 +0100)]
Removal of a couple of two pass adjustments.

Removed a couple of adjustments that no longer move the needle
much but complicate the process of tuning.

Change-Id: Ie320f5cf155e6aac14a4757ea9ada2cd59f27590

7 years agoMerge "Refine 8-bit intra prediction NEON optimization (mode dc)"
Linfeng Zhang [Wed, 26 Oct 2016 16:51:44 +0000 (16:51 +0000)]
Merge "Refine 8-bit intra prediction NEON optimization (mode dc)"

7 years agoOptimize idct32x32_34_add for NEON
Johann [Wed, 12 Oct 2016 22:27:47 +0000 (15:27 -0700)]
Optimize idct32x32_34_add for NEON

Approximately 3 times faster than the 1024 version which was used
previously.

BUG=webm:1295

Change-Id: Id15fb3d096029ec38ef01c53e5f6eb08254347c9

7 years agoMerge "Update vp9_intrapred_test.cc to support 8-bit"
James Zern [Tue, 25 Oct 2016 21:59:29 +0000 (21:59 +0000)]
Merge "Update vp9_intrapred_test.cc to support 8-bit"

7 years agoMerge "Modify the encoder multi-thread unit test"
Yunqing Wang [Tue, 25 Oct 2016 20:54:25 +0000 (20:54 +0000)]
Merge "Modify the encoder multi-thread unit test"

7 years agoModify the encoder multi-thread unit test
Yunqing Wang [Tue, 25 Oct 2016 17:47:21 +0000 (10:47 -0700)]
Modify the encoder multi-thread unit test

Modified the encoder multi-thread test so that it included cpu-used=0 and
frame-parallel=0.

frame_parallel_decoding_mode is 1 by default, which disables probability
updating and gives lower encoding quality. Current VP9 multi-threading
encoder and decoder support probability updating. To test this part, we
should turn on it in the unit test, namely, setting frame-parallel to 0.

Change-Id: Ia1f86e01f0de628f50d819ae31509de3e1b6c755

7 years agoMerge "vpxdec: return fail if frame fails to decode."
James Bankoski [Tue, 25 Oct 2016 18:34:06 +0000 (18:34 +0000)]
Merge "vpxdec: return fail if frame fails to decode."

7 years agoChange 2 motion search counts to be tile data
Yunqing Wang [Tue, 25 Oct 2016 16:00:58 +0000 (09:00 -0700)]
Change 2 motion search counts to be tile data

This patch modified the motion search counts used in:
https://chromium-review.googlesource.com/#/c/305640/

These 2 counts were originally added as thread data, and used to
make decisions in motion search. The tile encoding order can be
inconsistent while using different number of threads, which can
cause bitstream mismatch. Here moved them to tile data to solve
the issue.

BUG=webm:1322

Change-Id: Iedc4477aef1746aa0a4f84d88a1156296fd3ba87

7 years agoRefine 8-bit intra prediction NEON optimization (mode dc)
Linfeng Zhang [Wed, 19 Oct 2016 20:37:26 +0000 (13:37 -0700)]
Refine 8-bit intra prediction NEON optimization (mode dc)

dst += stride behaving better with gcc/clang
Expanding inline function dc_SIZExSIZE() save intructions for
vpx_dc_predictor_SIZExSIZE_neon().

Change-Id: Id0ccbd58b6a31df539141fd33bdf28633339150d

7 years agoUpdate vp9_intrapred_test.cc to support 8-bit
Linfeng Zhang [Wed, 19 Oct 2016 19:58:05 +0000 (12:58 -0700)]
Update vp9_intrapred_test.cc to support 8-bit

BUG=webm:1316

Change-Id: Ic9309bbeeef52e9d07fb4a4c95c12efa813cbf8c

7 years agovpxdec: return fail if frame fails to decode.
Jim Bankoski [Mon, 24 Oct 2016 19:05:59 +0000 (12:05 -0700)]
vpxdec: return fail if frame fails to decode.

A failure to decode is most likely equivalent to a corrupt
frame for the purpose of returning a failure.

Change-Id: Ie53db2b8130b40b725841f5f7a299d63aa56913d

7 years agoMerge "remove idct32x32*_add_neon.asm"
James Zern [Sat, 22 Oct 2016 02:29:55 +0000 (02:29 +0000)]
Merge "remove idct32x32*_add_neon.asm"

7 years agoMerge "vpx_highbd_convolve_copy_neon: use multi reg loads"
James Zern [Sat, 22 Oct 2016 02:28:15 +0000 (02:28 +0000)]
Merge "vpx_highbd_convolve_copy_neon: use multi reg loads"

7 years agoMerge "vp9_bitstream: Encode tiles in parallel"
Vignesh Venkatasubramanian [Sat, 22 Oct 2016 02:23:05 +0000 (02:23 +0000)]
Merge "vp9_bitstream: Encode tiles in parallel"

7 years agovp9_bitstream: Encode tiles in parallel
Vignesh Venkatasubramanian [Wed, 19 Oct 2016 18:07:41 +0000 (11:07 -0700)]
vp9_bitstream: Encode tiles in parallel

Re-use the tile worker threads to pack the bitstream in parallel
on a per-tile basis.  Restricting this to real-time only for now
(further testing is needed to ensure this does not make 2-pass
worse in any case).

BUG=webm:1309

Change-Id: I8a80da7c5089b837d0df79a5c49d5e3022dfc8ec

7 years agovp9: Nonrd variance partition: increase threshold for using 4x4 avg.
Marco [Fri, 21 Oct 2016 18:11:34 +0000 (11:11 -0700)]
vp9: Nonrd variance partition: increase threshold for using 4x4 avg.

In variance partition low resolutions may use varianace based on
4x4 average for better partitioning.
Increase the threshold for doing this at speed = 8.

Improves speed by ~5%, with little loss, < 1%, on RTC_derf set.

Change-Id: Ib5ec420832ccff887a06cb5e1d2c73199b093941

7 years agoremove idct32x32*_add_neon.asm
James Zern [Thu, 20 Oct 2016 04:04:12 +0000 (21:04 -0700)]
remove idct32x32*_add_neon.asm

the intrinsics are neutral to ~20% faster on cros/android
devices when using gcc-4.9/clang-3.8.1 and gcc-4.9/clang-3.8.x from the
r13 ndk. neutral results typically came with gcc-4.9 while larger
positive gains were achieved with clang 3.8.x.

BUG=webm:1303

Change-Id: I4d31f9c017944681b881493525d4573a7a5b1e16

7 years agovp9: Speed=8 real-time: Keep the bias_golden feature on.
Marco [Fri, 21 Oct 2016 00:02:16 +0000 (17:02 -0700)]
vp9: Speed=8 real-time: Keep the bias_golden feature on.

Small/no change in metrics on RTC set, speed increase by 2-3%.

Change-Id: Iee997bd7433e8e508216e9267b1c31c5a9aa5121

7 years agoMerge "vp8: Apply gf target-size boost only when refresh_golden_frame = 1."
Marco Paniconi [Thu, 20 Oct 2016 22:38:55 +0000 (22:38 +0000)]
Merge "vp8: Apply gf target-size boost only when refresh_golden_frame = 1."

7 years agoAdd vp9cx_set_ref to .gitignore
Vignesh Venkatasubramanian [Thu, 20 Oct 2016 19:07:30 +0000 (12:07 -0700)]
Add vp9cx_set_ref to .gitignore

Get rid of the 'git status' clutter when building with examples.

Change-Id: I20b715ddfc6c8ccb4993de7ebb2b4ad6df9ea437

7 years agovp8: Apply gf target-size boost only when refresh_golden_frame = 1.
Marco [Thu, 20 Oct 2016 18:28:48 +0000 (11:28 -0700)]
vp8: Apply gf target-size boost only when refresh_golden_frame = 1.

Change only affects 1 pass cbr, error resilience off.

Change-Id: I68b896b09d722995a71c44331233e97bd862bcfc

7 years agoMerge "third_party: roll libwebm snapshot"
James Zern [Wed, 19 Oct 2016 22:34:25 +0000 (22:34 +0000)]
Merge "third_party: roll libwebm snapshot"

7 years agovp8: Adjust threshold to set the gf_noboost flag.
Marco [Wed, 19 Oct 2016 19:54:32 +0000 (12:54 -0700)]
vp8: Adjust threshold to set the gf_noboost flag.

Change only affects 1 pass cbr, with error_resilient off.

Change-Id: Ibf254d8772fa2a8f188c9932d37b2f42362d8003

7 years agovp8: Add control for gf boost for 1 pass cbr.
Marco [Mon, 17 Oct 2016 21:32:28 +0000 (14:32 -0700)]
vp8: Add control for gf boost for 1 pass cbr.

Control already exists for vp9, adding it to vp8.
Usage is only when error_resilient is off.
Added a datarate unittest for non-zero boost.

Change-Id: I4296055ebe2f4f048e8210f344531f6486ac9e35

7 years agoRevert "vp9_bitstream: Encode tiles in parallel"
James Zern [Wed, 19 Oct 2016 05:46:06 +0000 (22:46 -0700)]
Revert "vp9_bitstream: Encode tiles in parallel"

This reverts commit 9e8efa5b189a5abf78b1bcbc8076893728129d1e.

this change causes ubsan warnings, failures in
vpxenc_vp9_webm_rt_multithread_tiled

BUG=webm:1309

Change-Id: I020c7be985c771bfff4b3de1afe51cc8edb980da

7 years agothird_party: roll libwebm snapshot
James Zern [Wed, 19 Oct 2016 01:11:36 +0000 (18:11 -0700)]
third_party: roll libwebm snapshot

git log --no-merges 32d5ac4..9732ae9
9732ae9 EbmlElementSize: quiet uint64->int32 conv warning
da04eba SetProjectionPrivate: quiet uint64->size_t conv warning
6db32d5 mkvparser,Projection::Parse: fix int->bool conv
3bb0dfa cosmetics: fix a couple lint warnings
0e179d6 update .clang-format
fc5f88d Fix temp files being left on system.
c04a134 Add support for overriding PixelWidth and PixelHeight.
c0160e0 Add support to explicitly set segment duration.
02bc809 Add support to estimate file duration.
c97e3e7 Add support to output sub-sample encryption information.
26f4344 MakeUID: quiet unused param warning in Android builds
d6af52a Change check to fix compile error.
1720020 webm_parser: Add Mesh value for ProjectionType
78f2c5a webm_parser: Use ./ prefix for includes
da62f65 webm_parser: Remove webm/ prefix from public includes
e15e8f2 webm_parser: Update README build instructions
5023f2b mkvmuxer: Fix Colour::Valid()
cf16204 mkvmuxer_tests: Actually test cue points in the cue point test.
93e9fb3 Validate Colour element values.
8036925 mkvparser_tests: Add Projection element test.
f52d38c mkvparser_tests: Add Colour element test.
826436a mkvparser: minor SeekHead::Entry clean up.
24fb44a mkvmuxer_tests: Add Projection element test.
1e0a8ea mkvmuxer_tests: Add Colour element test.
0278616 mkvmuxer: Colour accessors/mutators.
2346f8f Add mkvparser wrapper functions.
54d6b6b webm_info: Add Projection element support.
65fee06 mkvmuxer_sample: Add support for Projection element.
9a3f2b5 mkvparser_sample: Add support for Projection element.
41e814a mkvparser: Add Projection element support.
483a0ff mkvmuxer: Add Projection element support.
676a713 Add support for the Projection element
725f362 mkvmuxer: Fix memory leak when Colour is set multiple times.
fa182de mkvparser_sample: Add output of audio track codec private size.
8f521f2 mkvparser_tests: Add invalid BlockGroup test.
39137d7 Remove docs saying binary elements default to 0
80685d3 Do not skip over unknown elements at the root level
c147504 Fix legacy Makefile.
58711e8 mkvparser_sample: Fix version info string.
837746f mkvparser_tests: Add invalid block test.
207cd80 Disambiguate sample sources and targets.
a112d71 mkvparser_tests: Refactor invalid file loading code.
5dea33e Disambiguate test source and target names.
125049e parser_tests: Add another truncated chapter string test.
1de8d4c parser_tests: Add truncated chapter string test.
ff8c2b6 parser_tests: Move cue validation to test_util.
4b0690f parser_tests: Add invalid lacing test.
9828e39 mkvmuxer: Set default doc type version to 4.
5495a59 webm_parser: Reference more files in CMakeLists.txt.
0c0ecd0 vpxpes_parser: Add start code emulation prevention support.
639a4bc webm2pes: Remove debug printfs().
9a51102 webm2pes: fflush() in the correct conversion function.
dc7f155 webm2pes: Track total bytes written.
d518128 webm_parser: Enable usage of werror.
e1fe762 webm2pes: Add test for mux/demux of large input.
1b24a79 vpxpes_parser: Read and store PTS when present.
6cf0a0f vpxpes_parser: Store frame payloads.
25d2602 webm_parser: Convert style to match the rest of libwebm
24be76d webm2pes: Replace VpxFrame with VideoFrame.
b451c3b Add a basic video frame storage class.
05c90eb libwebm_util: Clarify error text in superframe parser.
e6415af webm2pes: Make WritePesPacket() a public method.
8f840dd webm2pes: Move frame read out of PES packet write method.
448af97 webm2pes: Restore frame fragmentation support.
f8bb714 cmake: Integrate new parsing API and tests.
cb8ce0b Add a new incremental parsing API
900d322 vpxpes_parser/webm2pes: BCMV and PTS fixes.
4b73545 webm2pes: Add start code emulation prevention.
82903f3 Add column tiles and frame parallel to webm_info
5d91edf style_clean_up: Remove unnecessary parentheses
a95aa4b vp9_level_stats: correct total_uncompressed_bits_ calculation
f46566f mkvreader: Fix shorten-64-to-32 warning in 32 bit builds.
76630ca mkvwriter: Fix shorten-64-to-32 warning in 32 bit builds.
a8ffbd4 webm2pes: Fix format specifier warnings.
faf89d4 Add MaxLumaSampleRate grace percent to stats.
d31e6c9 Fix profile 2 in vp9_header_parser.
bd3ab3a Add flag to estimate last frame's duration to stats.
c182ed9 Fix lint issue in hdr_util.h
cc62ecd Add test for Cluster memory leak
196708a Change MaxLumaSampleRate to be based on frame resolution.
cbd676b mkvmuxer: Fix leak when a Cluster isn't finalized
9a235e0 mkvmuxer: Set doctype to matroska when muxing non-WebM codecs.
47f2843 Add parsing support for new features in CodecPrivate.
e3c9576 Add VP9 level output to webm_info.
5cf549f cmake: Log compiler flag at check time.
bbaaf2d Add class to gather VP9 level stats.
8bb68c2 Add file to parse data from VP9 frames.
296429a Add support to parse VP9 profile.
df3412f Add support for setting VP9 profile and level to sample_muxer.
87832d4 mkvmuxer: Fix Segment::Finalize in kLive mode
6df3e56 mkvmuxerutil.hpp: Add using directives for overloaded size utils.
ec47928 mkvmuxerutil: Revert to using mkvmuxertypes.
a1dc4f2 Fix parsing of VP9 level.
4e3d037 Add support to output Colour elements to webm_info.
d3656fd muxer_tests: ignore iwyu re gtest-message.h
e76dd5e Fix file name in mkvmuxertypes shim.
1be5889 Add temporary include shims at old file locations.
039df94 Add TEST_TMPDIR environment variable

Change-Id: I84bc1401b0aad71ad6727b687f1bede9953a7a08

7 years agoMerge "Fix warnings reported by -Wshadow: Part1: vpx_dsp directory"
James Zern [Tue, 18 Oct 2016 22:09:29 +0000 (22:09 +0000)]
Merge "Fix warnings reported by -Wshadow: Part1: vpx_dsp directory"

7 years agoMerge "Revert "third_party: Roll libwebm snapshot.""
James Zern [Tue, 18 Oct 2016 20:06:47 +0000 (20:06 +0000)]
Merge "Revert "third_party: Roll libwebm snapshot.""

7 years agoMerge "Optimize sad_64width_x4d_msa function"
Kaustubh Raste [Tue, 18 Oct 2016 07:46:01 +0000 (07:46 +0000)]
Merge "Optimize sad_64width_x4d_msa function"

7 years agoRevert "third_party: Roll libwebm snapshot."
James Zern [Tue, 18 Oct 2016 06:23:59 +0000 (23:23 -0700)]
Revert "third_party: Roll libwebm snapshot."

This reverts commit 808a560be6a71dd0d27f29c26f9fefb5e809d373.

causes build warnings under visual studio

Change-Id: I2e49a75d72469f316e8b01929b783e6f727f756c

7 years agoOptimize sad_64width_x4d_msa function
Kaustubh Raste [Mon, 10 Oct 2016 10:45:06 +0000 (16:15 +0530)]
Optimize sad_64width_x4d_msa function

Reduced HADD_UH_U32 macro calls

Change-Id: Ie089b9a443de516646b46e8f72156aa826ca8cfa

7 years agoFix warnings reported by -Wshadow: Part1: vpx_dsp directory
Urvang Joshi [Thu, 14 Jul 2016 18:40:38 +0000 (11:40 -0700)]
Fix warnings reported by -Wshadow: Part1: vpx_dsp directory

While we are at it:
- Rename some variables to more meaningful names
- Reuse some common consts from a header instead of redefining them.

Change-Id: I75c4248cb75aa54c52111686f139b096dc119328
(cherry picked from aomedia 09eea21)

7 years agovpx_highbd_convolve_copy_neon: use multi reg loads
James Zern [Sat, 15 Oct 2016 18:04:37 +0000 (11:04 -0700)]
vpx_highbd_convolve_copy_neon: use multi reg loads

for copy16/32/64

BUG=webm:1299

Change-Id: I5080d736bde7e487c80ef3d7024dda1e96a57eaf

7 years agoMerge "vp9: Non-rd variance partition: add condition for 64x64 split."
Marco Paniconi [Tue, 18 Oct 2016 00:03:17 +0000 (00:03 +0000)]
Merge "vp9: Non-rd variance partition: add condition for 64x64 split."

7 years agoMerge "add vpx high bitdepth convolve8 NEON intrinsics optimization"
Linfeng Zhang [Mon, 17 Oct 2016 23:57:13 +0000 (23:57 +0000)]
Merge "add vpx high bitdepth convolve8 NEON intrinsics optimization"

7 years agoadd vpx high bitdepth convolve8 NEON intrinsics optimization
Linfeng Zhang [Thu, 13 Oct 2016 00:20:53 +0000 (17:20 -0700)]
add vpx high bitdepth convolve8 NEON intrinsics optimization

BUG=webm:1299

Change-Id: I236bfa0441e357b6ff05add8269a2cfb543924d1

7 years agovp9: Non-rd variance partition: add condition for 64x64 split.
Marco [Fri, 14 Oct 2016 17:02:49 +0000 (10:02 -0700)]
vp9: Non-rd variance partition: add condition for 64x64 split.

Add stronger condition for splitting 64x64, for low noise content.
This reduces dragging artifact near moving head.

Little/no change in metrics on RTC set.

Change-Id: I39b38cfd20f2ece53ff49c2aaf76ba9f82761be1

7 years agothird_party: Roll libwebm snapshot.
Frank Galligan [Mon, 17 Oct 2016 19:41:39 +0000 (12:41 -0700)]
third_party: Roll libwebm snapshot.

fc5f88d Fix temp files being left on system.
c04a134 Add support for overriding PixelWidth and PixelHeight.
c0160e0 Add support to explicitly set segment duration.
02bc809 Add support to estimate file duration.
c97e3e7 Add support to output sub-sample encryption information.
26f4344 MakeUID: quiet unused param warning in Android builds
d6af52a Change check to fix compile error.
1720020 webm_parser: Add Mesh value for ProjectionType
78f2c5a webm_parser: Use ./ prefix for includes
da62f65 webm_parser: Remove webm/ prefix from public includes
e15e8f2 webm_parser: Update README build instructions
5023f2b mkvmuxer: Fix Colour::Valid()
cf16204 mkvmuxer_tests: Actually test cue points in the cue point test.
93e9fb3 Validate Colour element values.
8036925 mkvparser_tests: Add Projection element test.
f52d38c mkvparser_tests: Add Colour element test.
826436a mkvparser: minor SeekHead::Entry clean up.
24fb44a mkvmuxer_tests: Add Projection element test.
1e0a8ea mkvmuxer_tests: Add Colour element test.
0278616 mkvmuxer: Colour accessors/mutators.
2346f8f Add mkvparser wrapper functions.
54d6b6b webm_info: Add Projection element support.
65fee06 mkvmuxer_sample: Add support for Projection element.
9a3f2b5 mkvparser_sample: Add support for Projection element.
41e814a mkvparser: Add Projection element support.
483a0ff mkvmuxer: Add Projection element support.
676a713 Add support for the Projection element
725f362 mkvmuxer: Fix memory leak when Colour is set multiple times.
fa182de mkvparser_sample: Add output of audio track codec private size.
8f521f2 mkvparser_tests: Add invalid BlockGroup test.
39137d7 Remove docs saying binary elements default to 0
c147504 Fix legacy Makefile.
80685d3 Do not skip over unknown elements at the root level
58711e8 mkvparser_sample: Fix version info string.
837746f mkvparser_tests: Add invalid block test.
207cd80 Disambiguate sample sources and targets.
a112d71 mkvparser_tests: Refactor invalid file loading code.
5dea33e Disambiguate test source and target names.
125049e parser_tests: Add another truncated chapter string test.
1de8d4c parser_tests: Add truncated chapter string test.
ff8c2b6 parser_tests: Move cue validation to test_util.
4b0690f parser_tests: Add invalid lacing test.
9828e39 mkvmuxer: Set default doc type version to 4.
5495a59 webm_parser: Reference more files in CMakeLists.txt.
0c0ecd0 vpxpes_parser: Add start code emulation prevention support.
639a4bc webm2pes: Remove debug printfs().
9a51102 webm2pes: fflush() in the correct conversion function.
dc7f155 webm2pes: Track total bytes written.
d518128 webm_parser: Enable usage of werror.
e1fe762 webm2pes: Add test for mux/demux of large input.
1b24a79 vpxpes_parser: Read and store PTS when present.
6cf0a0f vpxpes_parser: Store frame payloads.
25d2602 webm_parser: Convert style to match the rest of libwebm
24be76d webm2pes: Replace VpxFrame with VideoFrame.
b451c3b Add a basic video frame storage class.
05c90eb libwebm_util: Clarify error text in superframe parser.
e6415af webm2pes: Make WritePesPacket() a public method.
8f840dd webm2pes: Move frame read out of PES packet write method.
448af97 webm2pes: Restore frame fragmentation support.
f8bb714 cmake: Integrate new parsing API and tests.
cb8ce0b Add a new incremental parsing API
900d322 vpxpes_parser/webm2pes: BCMV and PTS fixes.
4b73545 webm2pes: Add start code emulation prevention.
82903f3 Add column tiles and frame parallel to webm_info
5d91edf style_clean_up: Remove unnecessary parentheses
a95aa4b vp9_level_stats: correct total_uncompressed_bits_ calculation
f46566f mkvreader: Fix shorten-64-to-32 warning in 32 bit builds.
76630ca mkvwriter: Fix shorten-64-to-32 warning in 32 bit builds.
a8ffbd4 webm2pes: Fix format specifier warnings.
faf89d4 Add MaxLumaSampleRate grace percent to stats.
d31e6c9 Fix profile 2 in vp9_header_parser.
bd3ab3a Add flag to estimate last frame's duration to stats.
c182ed9 Fix lint issue in hdr_util.h
cc62ecd Add test for Cluster memory leak
196708a Change MaxLumaSampleRate to be based on frame resolution.
cbd676b mkvmuxer: Fix leak when a Cluster isn't finalized
47f2843 Add parsing support for new features in CodecPrivate.
9a235e0 mkvmuxer: Set doctype to matroska when muxing non-WebM codecs.
e3c9576 Add VP9 level output to webm_info.
bbaaf2d Add class to gather VP9 level stats.
5cf549f cmake: Log compiler flag at check time.
8bb68c2 Add file to parse data from VP9 frames.
df3412f Add support for setting VP9 profile and level to sample_muxer.
296429a Add support to parse VP9 profile.
87832d4 mkvmuxer: Fix Segment::Finalize in kLive mode
6df3e56 mkvmuxerutil.hpp: Add using directives for overloaded size utils.
ec47928 mkvmuxerutil: Revert to using mkvmuxertypes.
4e3d037 Add support to output Colour elements to webm_info.
a1dc4f2 Fix parsing of VP9 level.
039df94 Add TEST_TMPDIR environment variable
d3656fd muxer_tests: ignore iwyu re gtest-message.h
e76dd5e Fix file name in mkvmuxertypes shim.
1be5889 Add temporary include shims at old file locations.

Change-Id: I6a1026814560be80d604a5ecb9b66406a1186dd9

7 years agovp9_bitstream: Encode tiles in parallel
Vignesh Venkatasubramanian [Fri, 7 Oct 2016 17:24:50 +0000 (10:24 -0700)]
vp9_bitstream: Encode tiles in parallel

Re-use the tile worker threads to pack the bitstream in parallel
on a per-tile basis.  Restricting this to real-time only for now
(further testing is needed to ensure this does not make 2-pass
worse in any case).

BUG=webm:1309

Change-Id: Ia2c982da56697756e12f02643f589189b3271d98

7 years agoMerge "VP8: Add realtime speed to datarate_test.cc"
Jerome Jiang [Sat, 15 Oct 2016 06:01:40 +0000 (06:01 +0000)]
Merge "VP8: Add realtime speed to datarate_test.cc"

7 years agoVP8: Add realtime speed to datarate_test.cc
Jerome Jiang [Thu, 13 Oct 2016 22:27:47 +0000 (15:27 -0700)]
VP8: Add realtime speed to datarate_test.cc

Change-Id: Ia56f0e8dfba20143be3e69666d9184dd3ca5b563

7 years agoMerge "add vpx_highbd_convolve_{copy,avg}_neon()"
Linfeng Zhang [Fri, 14 Oct 2016 23:04:59 +0000 (23:04 +0000)]
Merge "add vpx_highbd_convolve_{copy,avg}_neon()"

7 years agoMerge "Drop empty frames."
James Bankoski [Fri, 14 Oct 2016 16:38:56 +0000 (16:38 +0000)]
Merge "Drop empty frames."

7 years agoDrop empty frames.
Jim Bankoski [Fri, 14 Oct 2016 13:28:14 +0000 (06:28 -0700)]
Drop empty frames.

Change-Id: I2d45a6eb3aaca97eb61e8e7ef9e5114221091244

7 years agoadd vpx_highbd_convolve_{copy,avg}_neon()
Linfeng Zhang [Wed, 12 Oct 2016 23:32:37 +0000 (16:32 -0700)]
add vpx_highbd_convolve_{copy,avg}_neon()

BUG=webm:1299

Change-Id: Ib87ac466ada63251eb06ae2abd1e13e61e0d1538

7 years agovp8: Adjust thresholds in VP8/DatarateTestLarge tests.
Marco [Thu, 13 Oct 2016 16:26:38 +0000 (09:26 -0700)]
vp8: Adjust thresholds in VP8/DatarateTestLarge tests.

Fix unit_tests_ubsan failure VP8/DatarateTestLarge.BasicBufferModel.
Failure was triggered by commit: df66f8e8.

Change-Id: I2c49e5cc24094b15063161bab27b09ec7e6f2045

7 years agoMerge "cosmetics,*loopfilter_neon.c: s/tranpose/transpose/"
James Zern [Thu, 13 Oct 2016 07:12:50 +0000 (07:12 +0000)]
Merge "cosmetics,*loopfilter_neon.c: s/tranpose/transpose/"

7 years agoMerge "vp9_bitstream: Parameterize interp_filter_selected"
Vignesh Venkatasubramanian [Thu, 13 Oct 2016 06:33:30 +0000 (06:33 +0000)]
Merge "vp9_bitstream: Parameterize interp_filter_selected"

7 years agovp9_bitstream: Parameterize interp_filter_selected
Vignesh Venkatasubramanian [Wed, 12 Oct 2016 19:06:58 +0000 (12:06 -0700)]
vp9_bitstream: Parameterize interp_filter_selected

Facilitates encoding tiles in parallel.

BUG=webm:1309

Change-Id: I37aa336d47babffc8352188dc767eebdb8a99474

7 years agoMerge "Optimize vpx_mbpost_proc_across_ip_msa function"
Kaustubh Raste [Thu, 13 Oct 2016 02:12:33 +0000 (02:12 +0000)]
Merge "Optimize vpx_mbpost_proc_across_ip_msa function"

7 years agoMerge "Optimize vpx_get4x4sse_cs_msa function"
Kaustubh Raste [Thu, 13 Oct 2016 02:11:59 +0000 (02:11 +0000)]
Merge "Optimize vpx_get4x4sse_cs_msa function"

7 years agocosmetics,*loopfilter_neon.c: s/tranpose/transpose/
James Zern [Wed, 12 Oct 2016 23:12:56 +0000 (16:12 -0700)]
cosmetics,*loopfilter_neon.c: s/tranpose/transpose/

Change-Id: I267d6a9d715ddb6110f0881c2e820c37fc673fe1

7 years agoMerge "vp9_bitstream: Parameterize max_mv_magnitude"
Vignesh Venkatasubramanian [Wed, 12 Oct 2016 21:52:41 +0000 (21:52 +0000)]
Merge "vp9_bitstream: Parameterize max_mv_magnitude"

7 years agovp9_bitstream: Parameterize max_mv_magnitude
Vignesh Venkatasubramanian [Mon, 10 Oct 2016 21:45:39 +0000 (14:45 -0700)]
vp9_bitstream: Parameterize max_mv_magnitude

Facilitates encoding tiles in parallel.

BUG=webm:1309

Change-Id: I614a5a492c30b6773c30e7294cd6a6f456e02ab4

7 years agoMerge "[vpx highbd lpf NEON 6/6] vertical 16"
Linfeng Zhang [Wed, 12 Oct 2016 19:31:39 +0000 (19:31 +0000)]
Merge "[vpx highbd lpf NEON 6/6] vertical 16"

7 years agoMerge "[vpx highbd lpf NEON 5/6] horizontal 16"
Linfeng Zhang [Wed, 12 Oct 2016 19:31:24 +0000 (19:31 +0000)]
Merge "[vpx highbd lpf NEON 5/6] horizontal 16"

7 years agoMerge "[vpx highbd lpf NEON 4/6] vertical 8"
Linfeng Zhang [Wed, 12 Oct 2016 19:31:06 +0000 (19:31 +0000)]
Merge "[vpx highbd lpf NEON 4/6] vertical 8"

7 years ago[vpx highbd lpf NEON 6/6] vertical 16
Linfeng Zhang [Wed, 5 Oct 2016 18:33:52 +0000 (11:33 -0700)]
[vpx highbd lpf NEON 6/6] vertical 16

BUG=webm:1300

Change-Id: I29d0b482d66f05e278325ddebcf108fbf0b6e222