Age | Commit message (Collapse) | Author |
|
This should fix valgrind's failure.
BUG=webm:1591
Change-Id: Idab2d6281484c36e6de193d6f45d13f97762625e
|
|
|
|
|
|
|
|
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
|
|
* 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
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
Used 20-frame clips to replace 10-frame clips in y4m_test. Also, removed
unused 10-frame clips.
Change-Id: Ib82ad2c3718f1f5f31478957b9ee970593536940
|
|
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
|
|
printf -> assert(0 & ...)
Change-Id: I7bd6c0127ad816e8a5b555e86d54961b33da2bc4
|
|
Change-Id: Ia00570a00b871eb1f929bd7e0af221d2c0b5ed21
|
|
|
|
|
|
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
|
|
|
|
In test/external_frame_buffer_test.cc, rename CheckXImageFrameBuffer()
to CheckXImageFrameBuffer().
Change-Id: Ifea3910445673be465d7536a69f85f1a2e2bce6e
|