Age | Commit message (Collapse) | Author |
|
|
|
|
|
Change-Id: I6503ebc79beaac2947992437ac133f3ac4379019
|
|
|
|
This should fix valgrind's failure.
BUG=webm:1591
Change-Id: Idab2d6281484c36e6de193d6f45d13f97762625e
|
|
Refactor out code about simple motion search.
Change-Id: Ie6895db2aff3c13e7a45554d6bc1c7c0af8f2d51
|
|
|
|
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
|
|
|
|
* changes:
Add find_best_ref_mv_mode()
Add get_mv_dist
Add get_mv_from_mv_mode()
|
|
|
|
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Given an mv_mode, get_mv_dist() obtains the mv and uses it
to compute distortion.
Change-Id: I58b8c7137b99c2736d651e678f0cd013dbd94877
|
|
* changes:
Add set_block_src_pred_buf()
[cleanup] Move get_feature_score to a proper place
|
|
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
|
|
|
|
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
|
|
Avoid recursively decreasing 'strength'.
avg_psnr ovr_psnr ssim
midres -0.224 -0.195 -0.115
Change-Id: Ie74c069cda76873ac38e9c1a9162b1ddfb9b103d
|
|
This function sets src and pre buffer of MACROBLOCK
and MACROBLOCKD.
Will add static decorator once this function is called.
Change-Id: I0fb46784dd97839e4d87c9e027fe8c59683e70d8
|
|
Add static decorator to it as well.
Change-Id: I6c89fae456561b6975ab49af139a45a7483507c6
|
|
Exclude low bit depth optimizations from high bit depth builds.
BUG=webm:1584
Change-Id: I86a7ebafa557d262257358e1e055a06d52659977
|
|
BUG=webm:1591
Change-Id: I34aedcb5336a96e33932ce34967c12f187ee52e2
|
|
|
|
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
|
|
Some cosmetic changes to make the code google c++-style compliant.
BUG=webm:1591
Change-Id: Icef3ccc8ebed7210b6b6f915885d5f648e62da72
|
|
|
|
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
|
|
|
|
* changes:
Correct pyramid_mv_arr's memory size
Adjust lambda with bsize in build_motion_field()
Free pyramid_mv_arr properly
|
|
|
|
|
|
|
|
Change-Id: Iacd1ad5673c71d350cad235e504da0e066dfc4a0
|
|
This patch adds unit speed test for vp9_apply_temporal_filter.
BUG=webm:1591
Change-Id: I4792dfc6ecd4a82775b9a895a90aafdc2a199f86
|
|
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
|
|
|
|
|
|
|
|
Change-Id: I667be78eb7c41154bf44c242992f622f12c31b80
|
|
|
|
BUG=webm:1584
Change-Id: Ifdebf33356abcc6869f695d129165ba17e042dcd
|
|
BUG=webm:1584
Change-Id: I4cbfafe8ea72b3d4523aabcaed4848fa29bb19fe
|
|
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
|
|
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
|
|
|