Age | Commit message (Collapse) | Author |
|
Change-Id: Ib9fdf65e263dbaace8d4c86766eba2c6f35f652b
|
|
The function predicts the mv_mode for each prediction block in
diagonal order.
Change-Id: I7dcfcdb317ffa334cb40bb435baa71b5db62252b
|
|
This function evaluate the impact of setting NEW_MV_MODE on a
block and its neighbor blocks.
Change-Id: Ie0b2c67bdc5cd14e0efd8ebc5dc3f3f873bcf3fe
|
|
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
|
|
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
|
|
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
|
|
|
|
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
|
|
Blocking libvpx update into google3.
Change-Id: I18c29f0a68568e65ae5e0c7fcdb5097b08b586a6
|
|
this resolves some msan errors.
the same change was done in libaom:
5ab58722c Add missing initializations of HBD buffers
Change-Id: I8882af45b95c90ba43bf138c7d305a6c3b99e61c
|
|
|
|
|
|
When CONFIG_VP9_HIGHBITDEPTH is enabled,
lowbd modules were called in the hbd path.
This patch fixes the issue.
Change-Id: I59820180fbed120697b6ef1fc1a02be0d35ac1d5
|
|
Change-Id: Id99ca6fc846ebe11a9f5363da4e6449e976303a1
|