]> granicus.if.org Git - libvpx/log
libvpx
7 years agoads2gas: remove RN stanza
Johann [Tue, 8 Nov 2016 00:19:15 +0000 (16:19 -0800)]
ads2gas: remove RN stanza

The matching on ads2gas_apple.pl is too liberal and catches
CONFIG_EXTERNAL_BUILD and CONFIG_INTERNAL_STATS because they have RN in
the names.

The RN renaming feature is not used in any existing assembly files. It
was used in some armv6 files but they were removed.

Change-Id: Ib65abf1947d3e89f0d1584e2a5de399d24008f95

7 years agoMerge "Replace highbd_dct_const_round_shift with dct_const_round_shift"
Linfeng Zhang [Mon, 7 Nov 2016 16:55:00 +0000 (16:55 +0000)]
Merge "Replace highbd_dct_const_round_shift with dct_const_round_shift"

7 years agoMerge "idct test: use coeff consistently"
Johann Koenig [Sun, 6 Nov 2016 00:13:05 +0000 (00:13 +0000)]
Merge "idct test: use coeff consistently"

7 years agoMerge "partial_idct_test: Add large coefficient test"
Johann Koenig [Sun, 6 Nov 2016 00:12:59 +0000 (00:12 +0000)]
Merge "partial_idct_test: Add large coefficient test"

7 years agoMerge "Update vp9_fdct8x8_quant_ssse3 for highbitdepth"
Johann Koenig [Sun, 6 Nov 2016 00:12:12 +0000 (00:12 +0000)]
Merge "Update vp9_fdct8x8_quant_ssse3 for highbitdepth"

7 years agoMerge "vp9-svc: Add unittest for svc-decoding."
James Zern [Sat, 5 Nov 2016 02:47:11 +0000 (02:47 +0000)]
Merge "vp9-svc: Add unittest for svc-decoding."

7 years agoidct test: use coeff consistently
Johann [Sat, 5 Nov 2016 01:41:56 +0000 (18:41 -0700)]
idct test: use coeff consistently

Change-Id: I913a13066993a3315a0ff8310b3cad1572d4cdd7

7 years agopartial_idct_test: Add large coefficient test
Johann [Tue, 1 Nov 2016 19:09:46 +0000 (12:09 -0700)]
partial_idct_test: Add large coefficient test

Two functions do not pass this test:
vpx_idct8x8_64_add_ssse3
vpx_idct8x8_12_add_ssse3

The test has been modified to avoid triggering an issue with those
functions but they still must be investigated.

BUG=webm:1332

Change-Id: I52569a81e8e6e0b33c4a4d060d0b69c3fc4f578e

7 years agovp9-svc: Add unittest for svc-decoding.
Marco [Thu, 3 Nov 2016 19:50:44 +0000 (12:50 -0700)]
vp9-svc: Add unittest for svc-decoding.

To test the VP9_DECODE_SVC_SPATIAL_LAYER decoder control
introduced in 86b0042.

Change-Id: I3d164a41d7bbab14c0aee80fd890870704a18f6e

7 years agoUpdate vp9_fdct8x8_quant_ssse3 for highbitdepth
Johann [Thu, 3 Nov 2016 17:47:06 +0000 (10:47 -0700)]
Update vp9_fdct8x8_quant_ssse3 for highbitdepth

Borrow transition functions from fdct.h nee vpx_quantize_b_sse2

BUG=webm:1304

Change-Id: I9c88c3eec3ff8bb461411d98c26c3c236ea28ef1

7 years agoReplace highbd_dct_const_round_shift with dct_const_round_shift
Linfeng Zhang [Wed, 2 Nov 2016 22:20:30 +0000 (15:20 -0700)]
Replace highbd_dct_const_round_shift with dct_const_round_shift

They are identical.

Change-Id: I1ccaf03c81c3cbf88e82d77ffeb8204f5b063c61

7 years agoMerge "Cosmetics of inv_txfm.c"
Linfeng Zhang [Fri, 4 Nov 2016 22:40:03 +0000 (22:40 +0000)]
Merge "Cosmetics of inv_txfm.c"

7 years agoMerge "Extract high bit depth helper functions"
Johann Koenig [Fri, 4 Nov 2016 21:03:17 +0000 (21:03 +0000)]
Merge "Extract high bit depth helper functions"

7 years agoCosmetics of inv_txfm.c
Linfeng Zhang [Wed, 2 Nov 2016 21:22:00 +0000 (14:22 -0700)]
Cosmetics of inv_txfm.c

Unify code of 8-bit and high bitdepth.

Change-Id: I3fe441577af0249030ca3a1ef769eb9030711434

7 years agoExtract high bit depth helper functions
Johann [Thu, 3 Nov 2016 22:21:32 +0000 (15:21 -0700)]
Extract high bit depth helper functions

These can be used in the vp9 fdct as well.

Change-Id: I4f3875e0cba1b8cad209c3a0581e121deba7675e

7 years agoMerge "configure: disable tools for armv7-win32-vs1[24]"
James Zern [Fri, 4 Nov 2016 17:48:24 +0000 (17:48 +0000)]
Merge "configure: disable tools for armv7-win32-vs1[24]"

7 years agoAdd a missing END directive in idct_neon.asm
Martin Storsjo [Fri, 4 Nov 2016 10:20:07 +0000 (12:20 +0200)]
Add a missing END directive in idct_neon.asm

This fixes building with MS armasm.

Change-Id: I2629eeed859b775ca667a65ba109f8d1bf7b0e03

7 years agoFix producing vcxproj files with *.S arm assembly files
Martin Storsjo [Fri, 4 Nov 2016 10:18:42 +0000 (12:18 +0200)]
Fix producing vcxproj files with *.S arm assembly files

These cases were leftover in
1ddb4c03622a654452a5e76b5a0e4db715dc350d.

Change-Id: Ie058fb6c78580e60205c47a1d314bd66e794cde4

7 years agoconfigure: disable tools for armv7-win32-vs1[24]
James Zern [Fri, 4 Nov 2016 05:54:35 +0000 (22:54 -0700)]
configure: disable tools for armv7-win32-vs1[24]

this shares the same prohibition as the examples

Change-Id: I17d65e4f26847af8cbb1d1a3c4a114ed021a8b9f

7 years agoMerge "vp9: Non-rd pickmode: fix logic in reference masking."
Marco Paniconi [Thu, 3 Nov 2016 23:12:05 +0000 (23:12 +0000)]
Merge "vp9: Non-rd pickmode: fix logic in reference masking."

7 years agovp9-svc: Add decoder control to decode up to x spatial layers.
Marco [Fri, 28 Oct 2016 23:26:30 +0000 (16:26 -0700)]
vp9-svc: Add decoder control to decode up to x spatial layers.

Change-Id: I85536473b8722424785c84c5b5520960b4e5744a

7 years agovp9: Non-rd pickmode: fix logic in reference masking.
Marco [Thu, 3 Nov 2016 17:21:12 +0000 (10:21 -0700)]
vp9: Non-rd pickmode: fix logic in reference masking.

Add condition that usable_ref_frame > LAST.
This is to avoid potentially skipping all last-nonzero mv modes,
if golden is used as a reference but skipped completely for the
current block.

This has no effect currenty, as we always consider testing golden
mode for each block.

Change-Id: I3182cf44664081935a90ed43aa7b32e710e60e22

7 years agoMerge "Speed-up recode loop for extreme bitrate diffs"
Debargha Mukherjee [Thu, 3 Nov 2016 17:04:17 +0000 (17:04 +0000)]
Merge "Speed-up recode loop for extreme bitrate diffs"

7 years agoMerge "pp_filter_test.cc,cosmetics:adjust name convention"
Jerome Jiang [Thu, 3 Nov 2016 04:31:35 +0000 (04:31 +0000)]
Merge "pp_filter_test.cc,cosmetics:adjust name convention"

7 years agopp_filter_test.cc,cosmetics:adjust name convention
Jerome Jiang [Wed, 2 Nov 2016 16:28:58 +0000 (09:28 -0700)]
pp_filter_test.cc,cosmetics:adjust name convention

Change-Id: I81b6fc9b83f0febbb12975aef92768bbd273fd61

7 years agoMerge "arm idct: move to-be-shared code to header"
Johann Koenig [Wed, 2 Nov 2016 18:09:45 +0000 (18:09 +0000)]
Merge "arm idct: move to-be-shared code to header"

7 years agoMerge "Fixed bug in formatting of debug stats."
Paul Wilkins [Wed, 2 Nov 2016 17:10:07 +0000 (17:10 +0000)]
Merge "Fixed bug in formatting of debug stats."

7 years agoFixed bug in formatting of debug stats.
paulwilkins [Wed, 2 Nov 2016 09:38:18 +0000 (09:38 +0000)]
Fixed bug in formatting of debug stats.

Fixed formatting bug introduced by the fix to BUG=webm:1322
( Iedc4477aef1746aa0a4f84d88a1156296fd3ba87)

Change-Id: I715ee446c0e8584967ab87ba4e355759dd394187

7 years agovp9,tile_worker_hook: correctly set jmp target
James Zern [Wed, 2 Nov 2016 01:45:50 +0000 (18:45 -0700)]
vp9,tile_worker_hook: correctly set jmp target

vp9_init_macroblockd() resets the error_info to cm's global copy; this
needs to be set to the thread-level target to avoid jumping to the
incorrect stack, resulting in hang or crash.
broken since:
1f4a6c8 vp9/tile_worker_hook: add multiple tile decoding
includes v1.5.0, v1.6.0

BUG=629481

Change-Id: Icbf1696b25ba8c479e845fbf227b3c3ca73542f5

7 years agoarm idct: move to-be-shared code to header
Johann [Tue, 1 Nov 2016 18:01:40 +0000 (11:01 -0700)]
arm idct: move to-be-shared code to header

Change-Id: I67458cd358b4dc4434bbdbfcdd571769561b619e

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 agoSpeed-up recode loop for extreme bitrate diffs
Debargha Mukherjee [Thu, 27 Oct 2016 16:55:36 +0000 (09:55 -0700)]
Speed-up recode loop for extreme bitrate diffs

Adjusts the q adjustement step depending on how far the
projected and target rates differ.

Change-Id: I498d03523ca233a270512ca3972c372daa4ca2a8

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"