kMinCompressedSize was defined as a global constant, so it
was exported by default and possibly causing duplicate
symbol issues for applications. In particular, libvpx also
exports this symbol.
Instead, move the definition into the only function which
references is. As a local variable it is hidden from the
linker and not part of the global symbol table.
Change-Id: If8b3bc4c487197237adb04749cd3dd4792e39893
this change unifies the intra prediction angles so that 8x8 block has
the same number of angles and angle steps as 16x16 and 32x32 blocks.
the benefit is that HW implementation can have the same logic to
handle all block sizes. otherwise, prediction angles for 8x8 is
different from other block sizes, which requies special logic.
Change-Id: I99f8d82b4b96fa1442a657b56a93e326f1eec321
This will separate the transform kernel selection from lv_map
experiment such that we can evaluate each feature's performance
separately
Note that txk_sel is build on top of lv_map
Change-Id: I5bd1ea99be30000efcdc2bcd42de002b78b1c3c8
Hoists the iCDF conversion outside of the daala code.
We directly store 32768 - cdf[i] in each cdf, to avoid having to
convert the whole array every time a symbol is coded.
This works with ec_multisymbol, new_tokenset, and ec_adapt.
Compared to Change-Id Idbbd3743e9189146cb519d5b984bdabd69e3f4c0,
this improves decoder runtimes by 1.15% at QP=55 and 2.64% at
QP=20.
The overall slowdown of ec_smallmul is now 0.12% at QP=55 and
0.44% at QP=20.
Encoder output should not change, and all streams should remain
decodable without decoder changes.
Change-Id: I06b8b75b667bb1bc4ddffc78f895e48a09f4c578
The "good" speed levels are universally better than the "rt" ones,
running faster to achieve the same quality.
rt mode also turned off alt refs and lag-in-frames, but these
are still accessible separately (and the low latency test case
explicitly sets them).
Some features were used by the rt scale and not the good scale.
Two additional "good" levels, 7 and 8, were added to accomidate
these features and not reduce test coverage.
Change-Id: I3a6a78ddb664511762c197bc41f3a9909665b565
If daala_ec is disabled while bistream_debug is enabled, decodeframe.c
fails to compile due to aom_util/debug_util.h not being included
directly.
This patch just adds the missing include so that decodeframe.c will
still build with bitstream_debug enabled and daala_ec disabled.
Change-Id: I2e7eebdd17431a804be5b00239a9ae581e73f731
If DC only idct gives zero, then we can skip the steps which
add zero signal to predicted signal.
DC only idct cases will occur more frequently at lower bit rates.
Similar changes can be done for C version of high bit depth idct functions.
Change-Id: I53af22904568f7043091710da70ca8299bf361c5
(1) Add a macro DISABLE_CHROMA_U8X8_OBMC to enable(one-sided)/turn
off obmc in under 8x8 chroma blocks.
(2) When it is enabled, use the above neighbor in chroma 4x4 obmc
Change-Id: I2373e6698fd56da7f99653d77be2b7284b3e74f2
When the fwd Gaussian elimination process encounters diagonal
element as zero value, the linear equation does not have unique
solution. Return the linear solver state as unsolvable in such
case. This resolves a floating point exception issue due to divided
by zero in the loop restoration filter.
BUG=aomedia:437
Change-Id: I3c67525691a3003f9f470e8a0d5b4ee187cba963
In lv_map experiment, tx_type will be decoded after
av1_read_coeffs_tx_facade.
So one should only call get_tx_type after that.
This CL fix a mismatch happens in lv_map
Change-Id: I91193f0952e82e6ee53b63c51305f0eafbbf29c9
This was still being used for CDFs whose size might not match the
declared array size. We replace it with an intialization macro
intended explicitly for this purpose.
Change-Id: I65d9a3c871e1d1bdd906f20ff3a264f58d8e5620
This should be the same number of operations as the non-ec_smallmul
version (though ideally we'd use the real 15-bit probability
natively).
Encoder output should not change, and all streams should remain
decodable without decoder changes.
Change-Id: I2998a77a02f566cd0c82c415395637acf49b5a97
This only changes the internal coding engine. We convert CDFs into
iCDFs at the "bool" reader <-> daala_ec boundary.
Decoder output should not change.
Change-Id: I483dfe3e5588d2038c3c7ec4cd5ba62d6699b920
This removes one subtraction from the CDF search loop (reducing the
dependency chain for reading from the CDF) at the cost of one
increment and decrement during renormalization (easily absorbed by
the reorder buffer).
There should be no change in decoded output.
Change-Id: Ia7905bb8ca7c5d4ab73f23ccc61bcd3432349aa2
This only changes the internal coding engine. We convert CDFs into
iCDFs at the "bool" writer <-> daala_ec boundary.
Encoder output should not change, and all streams should remain
decodable without decoder changes.
Change-Id: Id3ac7352926497bf6f7bc371ab9bc76e9a3569d5
Encoder output should not change, and all streams should remain
decodable without decoder changes.
Change-Id: Id1f1b0f2f02c3b46f150a93c451bf48abd0782ca
this change adds the following filter tap options:
1. add options to replace 15 tap filter with 9 or 11 tap filter
2. force chroma plane to only use maximum 7 tap filter
above options are disabled by default
Change-Id: Iab90a613210c1adaf4475976e9ed7e78ac30803b
This CL is targeted to improve the objective/subjective quality of the
"ext-refs" coding tool.
Tuned the frame rate factors as follows:
(1) BRF_UPDATE:
Decreased from INTER_HIGH (1.5) to GF_ARF_LOW (1.25);
(2) Both LAST_BIPRED_UPDATE and BIPRED_UPDATE:
Increased from INTER_LOW (0.80) to INTER_NORMAL (1.00)
, which is to reduce the bits allocated to the BWEDREF frame whereas
to increase the bits allocated to the bi-directionally predicted
frames.
Obtained a coding gain in overall PSNR as follows, compared against
the original ext-refs:
lowres: BDRate -0.181%
midres: BDRate -0.090%
hdres: BDRate -0.701%
Change-Id: Id001f3b124d833da9f80eba4cdec2ca3f6ba9d82
This creates a central function which defines when a
block should be warped. It also refactors the
WARPED_MOTION code so that all calls to av1_warp_plane
happen in the same location.
No change in performance.
Change-Id: Icaf9ec7700d34523809258594bb9843bb2975f46
The greedy search method improves the BD-rate over the baseline by
more than 0.2% for lowres test set. Larger gain 0.55% is observed for hdres test set.
[2017.04.06] Cleanup to remove redundant computation. On a local linux
machine, the greedy method is now faster than the trellis method in
encoding the first 100 frames of foreman_cif. However, the BD-rate seems
to become smaller due to the recent changes to the codebase.
[2017.04.06-2] Style changes to meet the requirements.
remove "greedy-optimize-b" in configure
[2017.04.10] Move the changes under the macro USE_GREEDY_OPTIMIZE_B
[2017.04.11] Adjust rdmult to accommodate CpuSpeedTest
[2017.04.12] Set USE_GREEDY_OPTIMIZE_B to 0 at the request of debargha@.
[2017.04.13] Move greedy implementation of optimize_b into a separate
function with the same name (selected by USE_GREEDY_OPTIMIZE_B, default
is 0)
Change-Id: Ic15534f8d696d5f02e8f2e3e9f08b52e41e9efd2