Don't initialize first pass costs for a number of symbols where first
pass probabilities aren't initialized.
As a side effect, an illegal read in the ANS experiment is fixed.
https://bugs.chromium.org/p/webm/issues/detail?id=1089
Change-Id: I97438c357bd88f52f5a15c697031cf0c3cc8f510
This commit unifies the motion vector cost buffers for full pixel
and sub-pixel motion search. The new motion vector coding system
provides 0.5% coding gains for 720p and above sequences and 0.2%
for lower resolution sets.
Change-Id: I927ec81eadc39d11a3c12b375221a1ddd2e8bf24
Priviously, we do 12-tap interpolation even there is no sub pixel,
This could cause a bug becuase decoder doesn't extend border when there
is no sub pixel. In this situation, if we still do interpolation, we
will access the border extension which doesn't exist and cause a
memory error
Change-Id: I55b879722f0a10c5d13261bd9617a75c826a2418
This commit accounts for the context based probability model for
motion vector cost estimate in rate-distortion optimization.
Change-Id: Ia068a9395dcb4ecc348f128b17b8d24734660b83
This commit converts the scalar motion vector probability model
into vector format for later precise estimate.
Change-Id: I7008d047ecc1b9577aa8442b4db2df312be869dc
This fixes a bug in HBD sum of squared error computation introduced
in #abd00505d1c658cc106bad51369197270a299f92.
Change-Id: I9d4e8627eb8ea491bac44794c40c7f1e6ba135dc
-Avoid unnecessary calculations
-Use SIMD when possible
Encoder is about 5% faster with the extra intra prediction angles
enabled.
Change-Id: I131056befe327cedab217ad4a40d5f2a11318acc
Preliminary tests indicated that these changes make cost_coeffs
approximately 20% faster which is a 2% improvement overall
Change-Id: Iaf013ba75884415cd824e98349f654ffb1c3ef33
This makes all metric computation to locate at some place, also gets
rid of duplicate code between vp9 and vp10.
Change-Id: I24a2707d183a2419cd18a8343010adae185ffcd4
Adds new 32x32 masked 1-d transforms that combine 1-D length-16
DCT with length-16 identity transforms.
To be continued in subsequent patches.
Change-Id: I0b4f66492d44c079b3c3b531ba48a97201de1484
This commit fixes an enc/dec mismatch in the dynamic motion vector
referencing experiment introduced in 837ef00.
Change-Id: I9fbe116fce118a80ef0f96bf41ce1f802547c2ee
replace with vpx_highbd_lpf_horizontal_edge_16 and
vpx_highbd_lpf_horizontal_edge_8 to avoid passing a count parameter
Change-Id: I551f8cec0fce57032cb2652584bb802e2248644d
replace with vpx_lpf_horizontal_edge_16 and vpx_lpf_horizontal_edge_8 to
avoid passing a count parameter
Change-Id: I848c95c02a3c6ebaa6c2bdf0983dce05cd645271
move to encoder_encode() as vp10_get_compressed_data() allocates data and
would require some modification to make its error return meaningful.
Change-Id: Ia5267c35d16ccd42b6da6d2136402b13e28f9159
This bug made the rd loop use one-side obmc (compound of the current
predictor and the predictors of the left mi's, while the above ones
are ignored by mistake) to determine whether to use obmc. This fix
improved the compression performance by ~0.6% on different test sets.
Coding gain (%) of obmc experiment on derflr/derfhd/hevcmr/hevchd:
1.568/TBD/1.628/TBD
Change-Id: I43b239bedf9a8eebfd02315b1b036e140a998140