This reduces the multiplier width of daala_ec from 16x15->31 to
8x15->23, which reduces hardware latency by an estimated 20% (and
area for this module by an estimated 40%).
These are the smallest logical changes required to achieve this,
but the approach will be optimized significantly in subsequent
commits.
When enabled:
ec_smallmul1c_base@2017-03-08T00:49:01.830Z ->
ec_smallmul1c@2017-03-08T00:49:45.091Z
PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
0.0203 | 0.0203 | 0.0204 | 0.0203 | 0.0203 | 0.0203 | 0.0202
Change-Id: Idbbd3743e9189146cb519d5b984bdabd69e3f4c0
This new coding tool is targeted to complete following two tasks:
(1) Remove the inter mode NEWFROMNEARMV;
(2) Add new inter coding modes that provide compound prediction but
using single reference frame - initially NEAREST_NEARMV from
single reference.
Change-Id: Ifadf91147d0b12c2f62cfd79a72ce0c37c4ee949
EXT_TILE: allocate variables on the heap due to the potentially
large number of tiles.
ANS: initialise tile contexts.
EXT_INTER, MOTION_VAR, WARPED_MOTION: fix compilation.
Change-Id: I43a9d01c2442d97b6a8875712f77d932dce3740d
This experiment is for converting binary symbols in the baseline
into non-binary symbols. EC_MULTISYMBOL should continue to be used
by experiments with their own signalling for compatibility.
Change-Id: Idc11a469b1806948107c0d6966235f3053c43519
Adds a dependent config flag 'interintra' to turn on/off interintra
modes altogether.
Adds a dependent config flag 'wedge' to turn on/off wedge compound
for both interinter and interintra.
Adds another macro to change wedge predictors to use
only 0, 1/2, or 1 weights.
From now, use
--enable-ext-inter --enable-wedge --enable-interintra to get the
same behavior as the old --enable-ext-inter.
Change-Id: I2e787e6994163b6b859a9d6431b87c4217834ddc
Frame Super-Resolution is an experiment currently under development.
This commit just adds an experimental flag for it.
The goal of the experiment is to compress a downsampled version of a
frame instead of the full resolution one when bandwidth is limited. The
decoder will need to upsample and filter the frame it recieves after
decoding. It is thought that this will result in a visually superior
result in low bandwidth scenarios.
Change-Id: Ia8af8692cffd133db3838693fd85ded2442b078c
This reverts commit 48c10c7d91.
Reason for revert: this incorrectly detects feenableexcept for
i686-w64-mingw32 (at least), causing the link to fail
BUG=aomedia:388
Change-Id: I141fec2285bd67d1312f1eb6be528cc69108cd27
this change added back the original 15 tap filter from VP9 back into
the parallel_deblocking experiment. when transform size of both blocks
along the edge is greater than 16x16, 15 tap filter is used.
Change-Id: Ieae0393b66b1168572292bcebabd2707058b7f1d
Move the analyzer setup to process_toolchain() in configure to
ensure the {CXX,LD}FLAGS are picked up for all targets.
Change-Id: I037f52406c19a42ddd848adad2f43d3a49b00ded
This tool was adopted in the AOM codec WG call on 03/03/2017.
Resubmitting, now that the log2() use has been removed:
https://aomedia-review.googlesource.com/#/c/8463/
Change-Id: Iec4cff00ea901ab3ed6ed703599ef41c3f860ca1
This ports the wx-widgets stream analyzer from Daala to AV1.
Currently, this supports playback, zooming, and printing bit accounting
statistics to stdout.
The configure script does not yet build the analyzer, to compile it:
g++ -I. examples/analyzer.cc video_reader.c ivfdec.c tools_common.c \
libaom.a `wx-config --cppflags` `wx-config --libs` -o analyzer
Change-Id: I0e4288d52a103850b255f226f398892cc50d29e8
This reverts commit 8e55c2ebc7.
This change causes unit tests to fail (test_intra_pred_speed)
/ crash (x86-linux-gcc) with no experiments enabled.
BUG=aomedia:384
Change-Id: I5c8c51a9fe33287c2a4d8b9985ca97388b8790c8
Split it into two experiments:
q_adapt_probs: multiple initial coeff prob tables based on q-index
subframe_prob_update: multiple backward prob updates within frame
Change-Id: I78041ebd4ba34afc9152f6861225f63c2e8eb686
* code the palette color index using 45 wavefront
* interleave the coeff and palette color index in
transform block level
* the above change does not change code efficiency
Details:
The 45 wavefront scan allows to compute the ctx of
the diagonal samples' indices at the same time.
Interleaving palette indices and palette residual
on a transform block basis means that the entropy
decoding and further processing of the palette
residual is not delayed by the entropy decoding
of all the color indices of the palette encoded
block.
Change-Id: Ie9f576002a9a68394b99c23b01e9730df06df070
This allows compiling a codec using the same operating path (the generic
"high-bitdepth" one), regardless of the profile of the input bitstream.
For now, keep the 16-bit (generic) pixel operating path disabled by default.
Change-Id: Idd31a842b801a82c4918b1cfa7cc0bff5b11d060
daala_ec now works without ec multisymbol, ec_multisymbol was accepted
at the face to face meeting. Enable ec_multisymbol on its own and not as
a carryover with daala_ec.
Change-Id: I2f9d2523decd0641be6bc476c78cfd60f2e83a02
This commit implements a new rate control system which was ported from
Daala's rate control system (which was based off of Theora's rate
control system) to the encoder. Its aim is to address the weaknesses of
the current rate control system and eventually serve as its replacement.
This is still work in progress. So far this commit only implements
support for single pass encoding for constant quality and bitrate
targeting.
Additional commits which implement two-pass support and the rest to
match the feature set of the current rate control system are coming
soon.
The rate control system hasn't been fully tuned (and will likely need
additional tuning as the encoder's development progresses) and does
contain some "hacks", to convert the quality to a quantizer value
(empirical) and to tweak the quantizer in between golden frames (which
uses some code from the current rate control system as well as code
which attempts to model what that code does), the latter of which is
only in the constant quality codepath.
Bitrate targeting works much better than the current rate control
system's targeting and will actually closely match the rate specified by
the user without the current rate control system's bursty behaviour.
Change-Id: I588fbfd2e80a3d21ce7176903115d6a96ef1700a
It is now possible to use daala_ec without ec_multisymbol by running:
./configure --enable-experimental --disable-ec_mulitsymbol.
Change-Id: I55a0473b887846f01ef832059cdbe31aebebce05
Noticed that some ALTREF_FRAMEs could have used compound modes for its
prediction but have been labeled as SINGLE_REFERENCE mode in the frame
header. This experiment is to remove the COMPOUND_REFERENCE mode from
the frame-level reference mode choices and only leave SINGLE_REFERENCE
and REFERENCE_MODE_SELECT the two choices in the frame header.
When turning on both ext-refs and ref-adapt, compared against ext-refs
itself, a small gain is achieved. In PSNR, the bitrate saving gains are
as follows:
lowres: Avg -0.120%; BDRate -0.128%
midres: Avg -0.155%; BDRate -0.128%
Change-Id: I2cfff8a6b7eaa65ef863dbdbc4dd086d3b586f8c
The new_tokenset experiment replaces the unconstrained tokenset with a
multisymbol alphabet in an inventive way.
Tested configurations:
new_tokenset + ec_adapt, new_tokenset, ec_multisymbol
Change-Id: I846ab2e51c2a1dc3f2f9904ed8c47a8e98f853c5