Slight improvement in midres and hdres sets of 0.02% and 0.0.9%
respectively.
This is also a better design anyways.
Change-Id: I15b60b8836070a2132641e5b1d8e9f68df426c08
* Change the behaviour of search_wiener at borders to match
the behaviour of the Wiener filter itself
* Reorder the calculation in compute_stats, saving ~5% of
encode time at low bitrates (tested on bus_cif.y4m at 200kbps)
Change-Id: I5f649d77fd66584451aaf37697ce9c9af69524e4
Enables Wiener based loop restoration only for the UV
frames. The selfguided and domaintranform filters do not
work very well for UV components, hence they are disabled.
For each UV frame a single set of wiener parameters are
sent. They are applied tile-wise, but all tiles use the
same parameters.
BDRATE (Global PSNR) results:
-----------------------------
lowres: -1.266% (up from -0.666%, good improvement)
midres: -1.815% (up from -1.792%, tiny improvement)
Tiling on UV components will be explored subsequently.
Change-Id: Ib5be93121c4e88e05edf3c36c46488df3cfcd1e2
* Remove some unused variables
* Reduce need for casts by typing intermediate buffers appropriately
* Avoid copying data which is never modified; use the original data
instead.
* Reduce number of intermediate buffers required, saving allocations
of 576KiB in the decoder and ~1MiB in the encoder
No effect on performance
Change-Id: I55243904dd8e818fb6d43fa431903736475d23ff
Includes:
Some cleanups/refactoring
Better buffer management.
Some preps for future chrominance restoration.
Change-Id: Ia264b8989b5f4a53c0764ed3e8258ddc212723fc
This commit moves a number of large buffers from stack to heap to fix
crashes due to stack overflow.
Change-Id: I9d1592e4f6dbfa18a475d0fc5674f6d3632f39ed
The main objective is to reduce computational complexity.
The domain transform filter has an effect of edge preserving smoothing
at a lower computational cost than the bilateral filter, and can be
readily paralelized.
A little drop in coding efficiency about 0.06% for lowres, 0.16% for
midres.
Change-Id: Id949406b7e5afe9b64588d130065c63a76e4f3f9
This filter is meant to replace the bilateral filter,
but is currently added in addition to the bilateral filter
for testing.
Change-Id: Ia529701e69833d47c11b3367d5bf804eb8498079
Includes a major refactoring/enhancement to support
tile-adaptive switchable restoration. The framework can be
readily extended to add more restoration schemes in the
future. Also includes various cleanups and fixes.
Specifically the framework allows restoration to be conducted
on tiles such that each tile can be either left unrestored, or
use bilateral or wiener filtering.
There is a modest improvemnt in coding efficiency (0.1 - 0.2%).
Further enhancements will be added subsequently to improve coding
efficiency and complexity.
Change-Id: I5ebedb04785ce1ef6f324abe209e925c2d6cbe8a
Cherry-Picked the following commits:
0defd8f Changed "WebM" to "AOMedia" & "webm" to "aomedia"
54e6676 Replace "VPx" by "AVx"
5082a36 Change "Vpx" to "Avx"
7df44f1 Replace "Vp9" w/ "Av1"
967f722 Remove kVp9CodecId
828f30c Change "Vp8" to "AOM"
030b5ff AUTHORS regenerated
2524cae Add ref-mv experimental flag
016762b Change copyright notice to AOMedia form
81e5526 Replace vp9 w/ av1
9b94565 Add missing files
fa8ca9f Change "vp9" to "av1"
ec838b7 Convert "vp8" to "aom"
80edfa0 Change "VP9" to "AV1"
d1a11fb Change "vp8" to "aom"
7b58251 Point to WebM test data
dd1a5c8 Replace "VP8" with "AOM"
ff00fc0 Change "VPX" to "AOM"
01dee0b Change "vp10" to "av1" in source code
cebe6f0 Convert "vpx" to "aom"
17b0567 rename vp10*.mk to av1_*.mk
fe5f8a8 rename files vp10_* to av1_*
Change-Id: I6fc3d18eb11fc171e46140c836ad5339cf6c9419