platform/upstream/libvpx.git
5 years agoMerge changes I49a760ea,I792df86e
Harish Mahendrakar [Wed, 30 Jan 2019 18:21:42 +0000 (18:21 +0000)]
Merge changes I49a760ea,I792df86e

* changes:
  Modify map read/write to sync logic in row_mt case
  Revert "Revert "Add Tile-SB-Row based Multi-threading in Decoder""

5 years agoMerge "Add some const qualifiers where applicable"
Hui Su [Wed, 30 Jan 2019 18:17:11 +0000 (18:17 +0000)]
Merge "Add some const qualifiers where applicable"

5 years agoMerge "Reuse simple motion search results"
Hui Su [Wed, 30 Jan 2019 18:17:05 +0000 (18:17 +0000)]
Merge "Reuse simple motion search results"

5 years agoMerge "Reland "Enable SSE4 version of apply temporal filter""
Chi Yo Tsai [Wed, 30 Jan 2019 17:52:41 +0000 (17:52 +0000)]
Merge "Reland "Enable SSE4 version of apply temporal filter""

5 years agovp9-svc: Modify early breakout for non-rd pickmode
Marco Paniconi [Wed, 30 Jan 2019 01:19:02 +0000 (17:19 -0800)]
vp9-svc: Modify early breakout for non-rd pickmode

Modify early breakout condition for non-rd pickmode
for quality layers: when lower layer has lower QP force
test of zeromv on golden (lower layer reference) before
breakout due to skip.

Reduce artifacts, observed in cases of scrolling content.

Change-Id: Id834b1eb024a4c97f0e74d8b7f7a0351459e088f

5 years agoModify map read/write to sync logic in row_mt case
Ritu Baldwa [Wed, 23 Jan 2019 04:09:06 +0000 (09:39 +0530)]
Modify map read/write to sync logic in row_mt case

Adds conditional wait/signal instead of sched_yield.

Change-Id: I49a760eacdd6b6ac690e797ea5f10febf6a1a084

5 years agoMerge "Clean up TODOs for vpx_img_* functions."
Jerome Jiang [Tue, 29 Jan 2019 23:04:33 +0000 (23:04 +0000)]
Merge "Clean up TODOs for vpx_img_* functions."

5 years agoAdd some const qualifiers where applicable
Hui Su [Tue, 29 Jan 2019 18:43:32 +0000 (10:43 -0800)]
Add some const qualifiers where applicable

Change-Id: Ib820f625e0b616fd57a2722ec3614b4fccf307f8

5 years agoReuse simple motion search results
Hui Su [Mon, 28 Jan 2019 22:33:13 +0000 (14:33 -0800)]
Reuse simple motion search results

In the ML based partition search speed feature, use MV result of
previous simple motion search as the starting point for the next one.

Compression change is neutral; encoding speed becomes slightly faster.

Change-Id: Iea554f28f7966fc5b5857e12b06de58e3fa312a6

5 years agoMerge changes I7dcfcdb3,Ie0b2c67b
Angie Chiang [Tue, 29 Jan 2019 21:25:24 +0000 (21:25 +0000)]
Merge changes I7dcfcdb3,Ie0b2c67b

* changes:
  Add predict_mv_mode_arr()
  Add predict_mv_mode()

5 years agoClean up TODOs for vpx_img_* functions.
Jerome Jiang [Fri, 25 Jan 2019 22:04:33 +0000 (14:04 -0800)]
Clean up TODOs for vpx_img_* functions.

They should stay in tools_common.{c,h}

Change-Id: I34bd05e8b000ce780bb1f77abcb8cbfd1e83158f

5 years agoReland "Enable SSE4 version of apply temporal filter"
Chi Yo Tsai [Tue, 29 Jan 2019 20:24:29 +0000 (20:24 +0000)]
Reland "Enable SSE4 version of apply temporal filter"

This reverts commit a4d2f59b691ac57698d299430495b398a8bb682c.

Reason for revert: Re-enables SSE4_1 version of apply temporal filter now that the mismatch is fixed in fa540837aa23ae8cdd926961ddbef71998a2a525,

Original change's description:
> Revert "Enable SSE4 version of apply temporal filter"
>
> This reverts commit 4f3cd48bfe4541ca64883db51f57c1376c6d8a73.
>
> Reason for revert: Found a mismatch with c version
>
> Original change's description:
> > Enable SSE4 version of apply temporal filter
> >
> > Evaluating on 5 midres clips with 4 bitrates over 30 frames on speed 1
> > auto_alt_ref=1, there is a speed up of 1.660%.
> >
> > BUG=webm:1591
> >
> > Change-Id: Idbda58548679e6f7b8fc0d7f6144f7be057ef690
>
> TBR=yunqingwang@google.com,builds@webmproject.org,chiyotsai@google.com
>
> Change-Id: Ibca973576d72d6db4b647a08aef23389d5d6605a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webm:1591

TBR=yunqingwang@google.com,builds@webmproject.org,chiyotsai@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webm:1591
Change-Id: I26effdbaf4d52e4650c263b6ed9d3d80e505f5cb

5 years agoMerge "Fix mismatch between SIMD/C version of vp9_apply_temporal_filter"
Chi Yo Tsai [Tue, 29 Jan 2019 20:21:41 +0000 (20:21 +0000)]
Merge "Fix mismatch between SIMD/C version of vp9_apply_temporal_filter"

5 years agoMerge "Refactor ml_predict_var_rd_paritioning()"
Hui Su [Tue, 29 Jan 2019 17:56:29 +0000 (17:56 +0000)]
Merge "Refactor ml_predict_var_rd_paritioning()"

5 years agoFix mismatch between SIMD/C version of vp9_apply_temporal_filter
chiyotsai [Sat, 26 Jan 2019 03:30:49 +0000 (19:30 -0800)]
Fix mismatch between SIMD/C version of vp9_apply_temporal_filter

Change-Id: I6503ebc79beaac2947992437ac133f3ac4379019

5 years agoMerge "Fix test case name for yuv_temporal_filter"
Chi Yo Tsai [Mon, 28 Jan 2019 23:14:07 +0000 (23:14 +0000)]
Merge "Fix test case name for yuv_temporal_filter"

5 years agoFix test case name for yuv_temporal_filter
chiyotsai [Mon, 28 Jan 2019 22:03:04 +0000 (14:03 -0800)]
Fix test case name for yuv_temporal_filter

This should fix valgrind's failure.

BUG=webm:1591

Change-Id: Idab2d6281484c36e6de193d6f45d13f97762625e

5 years agoRefactor ml_predict_var_rd_paritioning()
Hui Su [Mon, 28 Jan 2019 19:13:35 +0000 (11:13 -0800)]
Refactor ml_predict_var_rd_paritioning()

Refactor out code about simple motion search.

Change-Id: Ie6895db2aff3c13e7a45554d6bc1c7c0af8f2d51

5 years agoAdd predict_mv_mode_arr()
Angie Chiang [Mon, 28 Jan 2019 20:15:58 +0000 (12:15 -0800)]
Add predict_mv_mode_arr()

The function predicts the mv_mode for each prediction block in
diagonal order.

Change-Id: I7dcfcdb317ffa334cb40bb435baa71b5db62252b

5 years agoAdd predict_mv_mode()
Angie Chiang [Fri, 25 Jan 2019 19:53:27 +0000 (11:53 -0800)]
Add predict_mv_mode()

This function evaluate the impact of setting NEW_MV_MODE on a
block and its neighbor blocks.

Change-Id: Ie0b2c67bdc5cd14e0efd8ebc5dc3f3f873bcf3fe

5 years agoMerge "Revert "Enable SSE4 version of apply temporal filter""
Chi Yo Tsai [Sat, 26 Jan 2019 03:36:25 +0000 (03:36 +0000)]
Merge "Revert "Enable SSE4 version of apply temporal filter""

5 years agoRevert "Enable SSE4 version of apply temporal filter"
Chi Yo Tsai [Sat, 26 Jan 2019 01:30:20 +0000 (01:30 +0000)]
Revert "Enable SSE4 version of apply temporal filter"

This reverts commit 4f3cd48bfe4541ca64883db51f57c1376c6d8a73.

Reason for revert: Found a mismatch with c version

Original change's description:
> Enable SSE4 version of apply temporal filter
>
> Evaluating on 5 midres clips with 4 bitrates over 30 frames on speed 1
> auto_alt_ref=1, there is a speed up of 1.660%.
>
> BUG=webm:1591
>
> Change-Id: Idbda58548679e6f7b8fc0d7f6144f7be057ef690

TBR=yunqingwang@google.com,builds@webmproject.org,chiyotsai@google.com

Change-Id: Ibca973576d72d6db4b647a08aef23389d5d6605a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webm:1591

5 years agoMerge "Fix a bug in tune-content film mode"
Sai Deng [Fri, 25 Jan 2019 18:51:23 +0000 (18:51 +0000)]
Merge "Fix a bug in tune-content film mode"

5 years agoMerge changes Ia1b3ec7e,I58b8c713,Ibeb43400
Angie Chiang [Fri, 25 Jan 2019 17:54:13 +0000 (17:54 +0000)]
Merge changes Ia1b3ec7e,I58b8c713,Ibeb43400

* changes:
  Add find_best_ref_mv_mode()
  Add get_mv_dist
  Add get_mv_from_mv_mode()

5 years agoMerge "Enable SSE4 version of apply temporal filter"
Chi Yo Tsai [Fri, 25 Jan 2019 17:35:48 +0000 (17:35 +0000)]
Merge "Enable SSE4 version of apply temporal filter"

5 years agoMerge "Add SSE4 version of new apply_temporal_filter"
Chi Yo Tsai [Fri, 25 Jan 2019 17:35:34 +0000 (17:35 +0000)]
Merge "Add SSE4 version of new apply_temporal_filter"

5 years agoMerge "Adjustment to noise factor in first pass."
Paul Wilkins [Fri, 25 Jan 2019 17:09:39 +0000 (17:09 +0000)]
Merge "Adjustment to noise factor in first pass."

5 years agoAdjustment to noise factor in first pass.
Yunqing Wang [Fri, 21 Dec 2018 22:46:52 +0000 (14:46 -0800)]
Adjustment to noise factor in first pass.

Adjustments to the calculation and use of a noise estimate in
the first pass Q estimate and adaptation of temporal filtering.

This change was tested and gave gains for both auto-alt-ref=1
and auto-alt-ref=6 as follows:

Results are Av PSNR, Overall PSNR, SSIM  and PSNR-HVS

auto-alt-ref=1
low_res 0.007, -0.042, -0.018, 0.074
mid_res -0.142, -0.239, -0.173, -0.129
hd_res -0.322, -0.405, -0.397, -0.367
NF_2K -0.058, -0.099, -0.201, 0.028

auto-alt-ref=6
low_res  -0.058, -0.171, -0.188, -0.027
mide_res -0.149, -0.155, -0.171, -0.137
hd_res -0.252, -0.339, -0.259, -0.297
NF_2K -0.015, -0.068, -0.120, 0.092

In all sets there were some winners and losers but significantly
more winners. The biggest change was Stockholm in the
hd set with an improvement of 5-6%

Change-Id: Ieec71e1c4e3e09b76c288efa7b4d1b00015b3a11

5 years agoEnable SSE4 version of apply temporal filter
chiyotsai [Fri, 18 Jan 2019 23:27:34 +0000 (15:27 -0800)]
Enable SSE4 version of apply temporal filter

Evaluating on 5 midres clips with 4 bitrates over 30 frames on speed 1
auto_alt_ref=1, there is a speed up of 1.660%.

BUG=webm:1591

Change-Id: Idbda58548679e6f7b8fc0d7f6144f7be057ef690

5 years agoAdd SSE4 version of new apply_temporal_filter
chiyotsai [Wed, 16 Jan 2019 23:33:06 +0000 (15:33 -0800)]
Add SSE4 version of new apply_temporal_filter

This adds a preliminary version of vp9_apply_temporal_filter in SSE4.1.
This patch merely adds the function and does not enable it yet.

Speed Up:
         | ss_x=1 | ss_x=0 |
  ss_y=1 | 19.80X | 19.04X |
  ss_y=0 | 21.09X | 20.21X |

BUG=webm:1591

Change-Id: If590f1ccf1d0c6c3b47410541d54f2ce37d8305b

5 years agoAdd find_best_ref_mv_mode()
Angie Chiang [Thu, 24 Jan 2019 23:44:41 +0000 (15:44 -0800)]
Add find_best_ref_mv_mode()

This function compute the rd cost for each  mv_mode and return the
one with minimum rd cost.

eval_mv_mode()
Evaluate the rd cost for a given mv_mode.

Change-Id: Ia1b3ec7e1dd538e443e1bc79f2cab352408cd0a0

5 years agoAdd get_mv_dist
Angie Chiang [Thu, 24 Jan 2019 19:45:29 +0000 (11:45 -0800)]
Add get_mv_dist

Given an mv_mode, get_mv_dist() obtains the mv and uses it
to compute distortion.

Change-Id: I58b8c7137b99c2736d651e678f0cd013dbd94877

5 years agoMerge changes I0fb46784,I6c89fae4
Angie Chiang [Fri, 25 Jan 2019 01:47:43 +0000 (01:47 +0000)]
Merge changes I0fb46784,I6c89fae4

* changes:
  Add set_block_src_pred_buf()
  [cleanup] Move get_feature_score to a proper place

5 years agoadd -Wmissing-declarations
Johann [Fri, 21 Dec 2018 21:44:07 +0000 (13:44 -0800)]
add -Wmissing-declarations

This is useful for catching functions which should be static and
instances where the relevant rtcd file was not included.

BUG=webm:1584

Change-Id: Ied395847a664eedce59e8ed5180bd16d059ab0ac

5 years agoMerge "mips: resolve missing declarations"
Johann Koenig [Thu, 24 Jan 2019 22:21:37 +0000 (22:21 +0000)]
Merge "mips: resolve missing declarations"

5 years agoAdd get_mv_from_mv_mode()
Angie Chiang [Thu, 24 Jan 2019 01:15:06 +0000 (17:15 -0800)]
Add get_mv_from_mv_mode()

Given an mv_mode, this function will return the corresponding mv.

find_ref_mv()
A helper function finds the nearest and near mvs from the neighbor
blocks.

select_mv_arr[]
An array used for storing selected motion vectors.

Change-Id: Ibeb434007f65b2c6e461360f208d99455e76bcbf

5 years agoFix a bug in tune-content film mode
sdeng [Tue, 22 Jan 2019 22:05:50 +0000 (14:05 -0800)]
Fix a bug in tune-content film mode

Avoid recursively decreasing 'strength'.

       avg_psnr ovr_psnr ssim
midres -0.224   -0.195   -0.115

Change-Id: Ie74c069cda76873ac38e9c1a9162b1ddfb9b103d

5 years agoAdd set_block_src_pred_buf()
Angie Chiang [Thu, 24 Jan 2019 00:52:56 +0000 (16:52 -0800)]
Add set_block_src_pred_buf()

This function sets src and pre buffer of MACROBLOCK
and MACROBLOCKD.
Will add static decorator once this function is called.

Change-Id: I0fb46784dd97839e4d87c9e027fe8c59683e70d8

5 years ago[cleanup] Move get_feature_score to a proper place
Angie Chiang [Wed, 23 Jan 2019 23:45:47 +0000 (15:45 -0800)]
[cleanup] Move get_feature_score to a proper place

Add static decorator to it as well.

Change-Id: I6c89fae456561b6975ab49af139a45a7483507c6

5 years agomips: resolve missing declarations
Johann [Wed, 23 Jan 2019 23:35:57 +0000 (15:35 -0800)]
mips: resolve missing declarations

Exclude low bit depth optimizations from high bit depth builds.

BUG=webm:1584

Change-Id: I86a7ebafa557d262257358e1e055a06d52659977

5 years agoFix a typo in the test cases for convolve test
chiyotsai [Wed, 23 Jan 2019 23:05:47 +0000 (15:05 -0800)]
Fix a typo in the test cases for convolve test

BUG=webm:1591

Change-Id: I34aedcb5336a96e33932ce34967c12f187ee52e2

5 years agoMerge "Clean up code for yuv_temporal filter_test.cc"
Chi Yo Tsai [Wed, 23 Jan 2019 17:43:44 +0000 (17:43 +0000)]
Merge "Clean up code for yuv_temporal filter_test.cc"

5 years agoFix Windows SDK and VS version checks
Jon Kunkee [Tue, 22 Jan 2019 23:01:06 +0000 (15:01 -0800)]
Fix Windows SDK and VS version checks

If WindowsTargetPlatformVersion is not set, the Visual Studio 15 (2017)
toolchain assumes that Windows 8.1 is being targeted. Since ARM64
support is only present and unlocked in Windows SDKs >= Windows 10 1809,
set that SDK as required in the vcxproj files.

Note that this will not be an issue in Visual Studio 16 or greater,
hence the -eq major version check.

https://developercommunity.visualstudio.com/content/problem/128836/windowstargetplatformversion-to-use-the-latest-ava.html

Bug: chromium:893460

Change-Id: Ib069501ad384d91349b1f635722dedd31a4edd97

5 years agoClean up code for yuv_temporal filter_test.cc
chiyotsai [Fri, 18 Jan 2019 23:48:55 +0000 (15:48 -0800)]
Clean up code for yuv_temporal filter_test.cc

Some cosmetic changes to make the code google c++-style compliant.

BUG=webm:1591

Change-Id: Icef3ccc8ebed7210b6b6f915885d5f648e62da72

5 years agoMerge "ads2gas: remove DO1STROUNDING"
Johann Koenig [Tue, 22 Jan 2019 22:31:13 +0000 (22:31 +0000)]
Merge "ads2gas: remove DO1STROUNDING"

5 years agoRevert "Revert "Add Tile-SB-Row based Multi-threading in Decoder""
Ritu Baldwa [Wed, 2 Jan 2019 06:28:34 +0000 (11:58 +0530)]
Revert "Revert "Add Tile-SB-Row based Multi-threading in Decoder""

This reverts commit 06983668cf41f66765528db044419f954e5a5d64.
Fixes Visual Studio build errors introduced by earlier row mt commit

BUG=webm:1587

Change-Id: I792df86e8254cd6b2a511955b691af619a569cd0

5 years agoChange temporal filter's search_method on speed 1
chiyotsai [Thu, 17 Jan 2019 22:15:00 +0000 (14:15 -0800)]
Change temporal filter's search_method on speed 1

This commit introduces a new speed feature that determines the
SEARCH_METHOD used by temporal filter when doing 16x16 block on
full_pixel_motion_search. On speed 0, the most exhaustive method MESH is
used. On speed 1 and above, a faster method NSTEP is used.

Performance:
        | AVG_PSNR | AVG_SPDUP | AVG_SPDUP:AVG_PSNR
 MISRES |  0.007%  |   2.818%  |        402:1
  HDRES |  0.004%  |   4.897%  |       1224:1

In the case of midres, there is a small quality gain of -0.021% on
OVR_PSNR.

Performance measurement is done on speed 1 with auto_alt_ref=1.
Quality is measured on full midres set over 60 frames. Speed is measured
on 5 midres clips over 4 bitrates over 30 frames.

STATS_CHANGED

Change-Id: Ic1879d2237f8734529e194767a6cf5e43e20b47b

5 years agoMerge "Add unit speed test for vp9_apply_temporal_filter"
Chi Yo Tsai [Fri, 18 Jan 2019 23:13:01 +0000 (23:13 +0000)]
Merge "Add unit speed test for vp9_apply_temporal_filter"

5 years agoMerge changes Id99ca6fc,I34cdbc6e,Iac7fee46
Angie Chiang [Fri, 18 Jan 2019 23:05:51 +0000 (23:05 +0000)]
Merge changes Id99ca6fc,I34cdbc6e,Iac7fee46

* changes:
  Correct pyramid_mv_arr's memory size
  Adjust lambda with bsize in build_motion_field()
  Free pyramid_mv_arr properly

5 years agoMerge "Use longer test clips in y4m_test"
Yunqing Wang [Fri, 18 Jan 2019 01:20:11 +0000 (01:20 +0000)]
Merge "Use longer test clips in y4m_test"

5 years agoMerge "Use longer videos in end-to-end tests"
Yunqing Wang [Fri, 18 Jan 2019 01:19:56 +0000 (01:19 +0000)]
Merge "Use longer videos in end-to-end tests"

5 years agoMerge "Add unit test for temporal filter on VP9"
Chi Yo Tsai [Fri, 18 Jan 2019 00:34:37 +0000 (00:34 +0000)]
Merge "Add unit test for temporal filter on VP9"

5 years agoads2gas: remove DO1STROUNDING
Johann [Thu, 17 Jan 2019 18:06:21 +0000 (10:06 -0800)]
ads2gas: remove DO1STROUNDING

Change-Id: Iacd1ad5673c71d350cad235e504da0e066dfc4a0

5 years agoAdd unit speed test for vp9_apply_temporal_filter
chiyotsai [Wed, 16 Jan 2019 23:33:06 +0000 (15:33 -0800)]
Add unit speed test for vp9_apply_temporal_filter

This patch adds unit speed test for vp9_apply_temporal_filter.

BUG=webm:1591

Change-Id: I4792dfc6ecd4a82775b9a895a90aafdc2a199f86

5 years agoAdd unit test for temporal filter on VP9
chiyotsai [Wed, 16 Jan 2019 18:53:56 +0000 (10:53 -0800)]
Add unit test for temporal filter on VP9

The current unit tests for temporal filtering only tests single
channel version of temporal filter. Since VP9 currently uses both luma
and chroma channel information for temporal filtering on low bitdepth,
there is no unit case in this scenario.

This commit adds some basic unit tests to facilitate further development
on temporal filtering.

BUG=webm:1591

Change-Id: Id38ceba5305865d7148e9b2bc636acddae54d6c2

5 years agoMerge "mips highbd: resolve missing declarations"
Johann Koenig [Wed, 16 Jan 2019 05:06:59 +0000 (05:06 +0000)]
Merge "mips highbd: resolve missing declarations"

5 years agoMerge "mips: add rtcd.h to resolve missing declarations"
Johann Koenig [Wed, 16 Jan 2019 05:06:53 +0000 (05:06 +0000)]
Merge "mips: add rtcd.h to resolve missing declarations"

5 years agoMerge "vp9: fix definition for VP9E_SET_POSTENCODE_DROP"
Jerome Jiang [Wed, 16 Jan 2019 00:16:15 +0000 (00:16 +0000)]
Merge "vp9: fix definition for VP9E_SET_POSTENCODE_DROP"

5 years agovp9: fix definition for VP9E_SET_POSTENCODE_DROP
Jerome Jiang [Tue, 15 Jan 2019 23:02:39 +0000 (15:02 -0800)]
vp9: fix definition for VP9E_SET_POSTENCODE_DROP

Change-Id: I667be78eb7c41154bf44c242992f622f12c31b80

5 years agoMerge "vp9-svc: Fix to buffer update under frame_drops"
Marco Paniconi [Tue, 15 Jan 2019 23:02:18 +0000 (23:02 +0000)]
Merge "vp9-svc: Fix to buffer update under frame_drops"

5 years agomips: add rtcd.h to resolve missing declarations
Johann [Tue, 15 Jan 2019 22:22:24 +0000 (14:22 -0800)]
mips: add rtcd.h to resolve missing declarations

BUG=webm:1584

Change-Id: Ifdebf33356abcc6869f695d129165ba17e042dcd

5 years agomips highbd: resolve missing declarations
Johann [Tue, 15 Jan 2019 22:23:59 +0000 (14:23 -0800)]
mips highbd: resolve missing declarations

BUG=webm:1584

Change-Id: I4cbfafe8ea72b3d4523aabcaed4848fa29bb19fe

5 years agovp9-svc: Fix to buffer update under frame_drops
Marco Paniconi [Tue, 15 Jan 2019 20:12:47 +0000 (12:12 -0800)]
vp9-svc: Fix to buffer update under frame_drops

For svc with frame dropping in full_superframe_drop or
constrained dropped mode: the buffer level for a given layer
may be capped from increasing too much. This is because that layer
may be dropped even though its buffer is stable (the dropped is forced
due to underflow in other layers in full/constrained svc-drop mode).
This capping is needed to prevent decrease in qp over consecutive
frame drops.

The capping already exists and has been used, but this change
introduce an error that prevented its usage:
https://chromium-review.googlesource.com/c/webm/libvpx/+/1330875

The fix here is to also cap the bits_off_target as well, since after
the change mentioned above, its the bits_off_target that is used to
update buffer on next frame (which in turn affects qp for next frame/layer).

Change-Id: Ifdab5d478e91cce20ecec51faa574eed375ee36b

5 years agoRemove unnecessary calculation in 4-tap interpolation filter
chiyotsai [Sat, 3 Nov 2018 00:08:05 +0000 (17:08 -0700)]
Remove unnecessary calculation in 4-tap interpolation filter

Reduces the number of rows calculated for 2D 4-tap interpolation filter
from h+7 rows to h+3 rows.
Also fixes a bug in the avx2 function for 4-tap filters where the last
row is computed incorrectly.

Performance:
           | Baseline |  Result  | Pct Gain |
bitdepth lo| 4.00 fps | 4.02 fps |   0.5%   |
bitdepth 10| 1.90 fps | 1.91 fps |   0.5%   |

The performance is evaluated on speed 1 on jets.y4m br 500 over 100
frames.

No BDBR loss is observed.

Change-Id: I90b0d4d697319b7bba599f03c5dc01abd85d13b1

5 years agoMerge " highbd_iadst16_neon: resolve missing declaration"
Johann Koenig [Tue, 15 Jan 2019 18:19:31 +0000 (18:19 +0000)]
Merge " highbd_iadst16_neon: resolve missing declaration"

5 years agoMerge "vp9-svc: Rate control fix for key base layer"
Marco Paniconi [Tue, 15 Jan 2019 05:05:18 +0000 (05:05 +0000)]
Merge "vp9-svc: Rate control fix for key base layer"

5 years agovp9-svc: Rate control fix for key base layer
Marco Paniconi [Tue, 15 Jan 2019 01:02:59 +0000 (17:02 -0800)]
vp9-svc: Rate control fix for key base layer

After encoding key frame on base spatial layer,
if the overshoot is significant, reset the
avg_frame_qindex[INTER] on base spatial layer for
all temporal layers.

This forces the active_worst_quality to increase
on subsequent frames/layers and reduces frame dropping.

Change-Id: I53a3cd14131d69120e59a649b7ed1bfde3e940ee

5 years agoMerge "Fix typo: exhuastive"
Jerome Jiang [Tue, 15 Jan 2019 01:42:07 +0000 (01:42 +0000)]
Merge "Fix typo: exhuastive"

5 years agoMerge "clean up debug print."
Jerome Jiang [Tue, 15 Jan 2019 01:41:55 +0000 (01:41 +0000)]
Merge "clean up debug print."

5 years agoUse longer test clips in y4m_test
Yunqing Wang [Tue, 15 Jan 2019 01:12:54 +0000 (17:12 -0800)]
Use longer test clips in y4m_test

Used 20-frame clips to replace 10-frame clips in y4m_test. Also, removed
unused 10-frame clips.

Change-Id: Ib82ad2c3718f1f5f31478957b9ee970593536940

5 years agoUse longer videos in end-to-end tests
Yunqing Wang [Tue, 15 Jan 2019 00:30:20 +0000 (16:30 -0800)]
Use longer videos in end-to-end tests

Used 20-frame clips got from Deb in end-to-end unit tests to improve
the test coverage.

TODO: remove 10-frame clips.

Change-Id: I06ec2d35f5c5c47263d3be61623c80f52fd18ffe

5 years agoclean up debug print.
Jerome Jiang [Mon, 14 Jan 2019 23:46:04 +0000 (15:46 -0800)]
clean up debug print.

printf -> assert(0 & ...)

Change-Id: I7bd6c0127ad816e8a5b555e86d54961b33da2bc4

5 years agoFix typo: exhuastive
Jerome Jiang [Mon, 14 Jan 2019 23:42:20 +0000 (15:42 -0800)]
Fix typo: exhuastive

Change-Id: Ia00570a00b871eb1f929bd7e0af221d2c0b5ed21

5 years agoMerge "Change "ximage" to "vpx_image_t" in comments."
Wan-Teh Chang [Mon, 14 Jan 2019 22:53:08 +0000 (22:53 +0000)]
Merge "Change "ximage" to "vpx_image_t" in comments."

5 years agoMerge "Reset buffer_alloc_sz after freeing buffer_alloc."
Wan-Teh Chang [Mon, 14 Jan 2019 22:03:50 +0000 (22:03 +0000)]
Merge "Reset buffer_alloc_sz after freeing buffer_alloc."

5 years agoReset buffer_alloc_sz after freeing buffer_alloc.
Wan-Teh Chang [Mon, 14 Jan 2019 19:54:59 +0000 (11:54 -0800)]
Reset buffer_alloc_sz after freeing buffer_alloc.

ybf->buffer_alloc and ybf->buffer_alloc_sz should ideally be kept in
sync. If ybf->buffer_alloc is reset to NULL after being freed, then
ybf->buffer_alloc_sz should be reset to 0.

Change-Id: I7e7566b563ddf145d0e46050c5b6bd141084f8b3

5 years agoMerge "Fix typo."
Jerome Jiang [Mon, 14 Jan 2019 19:19:08 +0000 (19:19 +0000)]
Merge "Fix typo."

5 years agoChange "ximage" to "vpx_image_t" in comments.
Wan-Teh Chang [Mon, 14 Jan 2019 19:13:43 +0000 (11:13 -0800)]
Change "ximage" to "vpx_image_t" in comments.

In test/external_frame_buffer_test.cc, rename CheckXImageFrameBuffer()
to CheckXImageFrameBuffer().

Change-Id: Ifea3910445673be465d7536a69f85f1a2e2bce6e

5 years agoFix typo.
Jerome Jiang [Fri, 11 Jan 2019 22:32:09 +0000 (14:32 -0800)]
Fix typo.

Blocking libvpx update into google3.

Change-Id: I18c29f0a68568e65ae5e0c7fcdb5097b08b586a6

5 years agoconvolve_test: Add missing init of HBD buffers
James Zern [Sat, 12 Jan 2019 00:36:45 +0000 (16:36 -0800)]
convolve_test: Add missing init of HBD buffers

this resolves some msan errors.
the same change was done in libaom:
5ab58722c Add missing initializations of HBD buffers

Change-Id: I8882af45b95c90ba43bf138c7d305a6c3b99e61c

5 years agoMerge "Fix segmentation fault in hbd path"
Yunqing Wang [Fri, 11 Jan 2019 22:53:31 +0000 (22:53 +0000)]
Merge "Fix segmentation fault in hbd path"

5 years agoMerge "highbd idct: resolve missing declarations"
Johann Koenig [Fri, 11 Jan 2019 19:39:34 +0000 (19:39 +0000)]
Merge "highbd idct: resolve missing declarations"

5 years agoFix segmentation fault in hbd path
Deepa K G [Fri, 11 Jan 2019 12:32:12 +0000 (18:02 +0530)]
Fix segmentation fault in hbd path

When CONFIG_VP9_HIGHBITDEPTH is enabled,
lowbd modules were called in the hbd path.
This patch fixes the issue.

Change-Id: I59820180fbed120697b6ef1fc1a02be0d35ac1d5

5 years agoCorrect pyramid_mv_arr's memory size
Angie Chiang [Fri, 11 Jan 2019 06:44:01 +0000 (22:44 -0800)]
Correct pyramid_mv_arr's memory size

Change-Id: Id99ca6fc846ebe11a9f5363da4e6449e976303a1

5 years agoAdjust lambda with bsize in build_motion_field()
Angie Chiang [Fri, 11 Jan 2019 03:35:10 +0000 (19:35 -0800)]
Adjust lambda with bsize in build_motion_field()

Change-Id: I34cdbc6e8625c0de8595860af02ca277c3448a19

5 years agoMerge "vp8 dec: Add flag to bring up threads."
Jerome Jiang [Thu, 10 Jan 2019 21:57:07 +0000 (21:57 +0000)]
Merge "vp8 dec: Add flag to bring up threads."

5 years agovp8 dec: Add flag to bring up threads.
Jerome Jiang [Tue, 8 Jan 2019 18:51:54 +0000 (10:51 -0800)]
vp8 dec: Add flag to bring up threads.

Instead of creating a new decoder instance when restarting all threads
after they were shut down, re-create threads on the new flag.

BUG=webm:1577

Change-Id: I6272ecaa1b586afdaa5ed8d6eab80aff8f5eb673

5 years agoFree pyramid_mv_arr properly
Angie Chiang [Thu, 10 Jan 2019 13:55:08 +0000 (05:55 -0800)]
Free pyramid_mv_arr properly

Change-Id: Iac7fee461759599a7e167f8e6716ae3c6414a7d1

5 years ago highbd_iadst16_neon: resolve missing declaration
Johann [Wed, 9 Jan 2019 23:35:30 +0000 (15:35 -0800)]
 highbd_iadst16_neon: resolve missing declaration

Only used in a local array. Similar to lowbd iadst16 naming.

BUG=webm:1584

Change-Id: Ie07c2fb9599fb54fab221e5c0ccec0e95d69b893

5 years agohighbd idct: resolve missing declarations
Johann [Wed, 9 Jan 2019 18:57:07 +0000 (10:57 -0800)]
highbd idct: resolve missing declarations

BUG=webm:1584

Change-Id: I596f5f0e1a1c152493cd8177b32d416cc79937e0

5 years agoMerge changes Icec98e6f,I63614e65,I25ea05f4
Angie Chiang [Wed, 9 Jan 2019 16:11:04 +0000 (16:11 +0000)]
Merge changes Icec98e6f,I63614e65,I25ea05f4

* changes:
  Add full_pixel_exhaustive_new
  Add sse cost in vp9_full_pixel_diamond_new
  Use motion field for mv inconsistency in mv search

5 years agoMerge "ppc: resolve missing declarations"
Johann Koenig [Wed, 9 Jan 2019 15:38:38 +0000 (15:38 +0000)]
Merge "ppc: resolve missing declarations"

5 years agoppc: resolve missing declarations
Johann [Tue, 8 Jan 2019 18:34:39 +0000 (10:34 -0800)]
ppc: resolve missing declarations

Add rtcd headers and make local functions static.

BUG=webm:1584

Change-Id: Ic19aec1dc90703b0b89d1092baee487d0fd0cb4e

5 years agovp8 arm loopfilter: resolve missing declarations
Johann [Tue, 8 Jan 2019 18:24:21 +0000 (10:24 -0800)]
vp8 arm loopfilter: resolve missing declarations

BUG=webm:1584

Change-Id: I3270e6efe79fe9728e8d11f4c352deefc3cea00b

5 years agoMerge "vp8 idct: remove return"
Johann Koenig [Tue, 8 Jan 2019 15:39:10 +0000 (15:39 +0000)]
Merge "vp8 idct: remove return"

5 years agoMerge "vp8_copy32xn: resolve missing declaration"
Johann Koenig [Tue, 8 Jan 2019 05:23:24 +0000 (05:23 +0000)]
Merge "vp8_copy32xn: resolve missing declaration"

5 years agovp8 idct: remove return
Johann [Tue, 8 Jan 2019 04:38:13 +0000 (20:38 -0800)]
vp8 idct: remove return

Change-Id: Ib1648e1f6559e65ddf11cb54266c7eeff37a6ea6

5 years agoMerge "vp8 idct dequant: resolve missing declarations"
Johann Koenig [Tue, 8 Jan 2019 04:36:45 +0000 (04:36 +0000)]
Merge "vp8 idct dequant: resolve missing declarations"

5 years agoMerge "vp8 blend: resolve missing declarations"
Johann Koenig [Tue, 8 Jan 2019 04:29:03 +0000 (04:29 +0000)]
Merge "vp8 blend: resolve missing declarations"

5 years agoMerge "vp8 overlaps: resolve missing declaration"
Johann Koenig [Tue, 8 Jan 2019 04:28:38 +0000 (04:28 +0000)]
Merge "vp8 overlaps: resolve missing declaration"