Frame can be split into rectangular tiles for application of separate
bilateral or Wiener filters per tile. Some variable names changed for
better readability.
Change-Id: I13ebc4d0b0baf368e524db5ce276f03ed76af9c8
For rectangular blocks between 8x8 and 32x32, we can now code the
transform size as one bigger than the largest square that fits in
the block (eg, for 16x8, we can code a transform size of 16x16
rather than the previous maximum of 8x8), when this oversized
transform is coded in the bitstream, the codec will use the full
size rectangular transform for that block (eg 16x8 transform in
the above example).
Also fixes a scaling bug in 16x8/8x16 transforms.
Change-Id: I62ce75f1b01c46fe2fbc727ce4abef695f4fcd43
This commit separate the frame index of EXT_ARFs' from other frame
types in the ext-refs setting.
It improves the average RD performance by
0.206% in the lowres, and
0.173% in the midres.
The overall gains for the ext-refs compared to the baseline are
5.665% in the lowres, and
4.883% in the midres.
Change-Id: I6591ad29120880c1aef0bd0b7cf15238c3f3b8f3
rd_pick_palette_intra_sby() method is called only when,
cpi->common.allow_screen_content_tools is on. So, no need to check that
again. We just use an assert() instead to still be safe.
Change-Id: I19785c2aac016798c8d331bbe91971b3806b73a8
Originally, only bi-pred type of frames can use BWDREF. When
extra alt-refs are inserted in a gf group, the closest alt-ref
serves as ALTREF for the frames within the corresponding
subgroup. Therefore, the original alt-ref can be used as BWDREF
for the LF_UPDATE type of frames.
This patch further swaps the virtual indices of BWDREF and ALTREF
for those frames whose BWDREF is farther than ALTREF. As a result,
the BWDREF is always the closet backward reference frame, and the
ALTREF is the farther one.
It improves the average RD performance by
0.132% in lowres, and
0.030% in midres.
The overall gains for the ext-refs compared to the baseline are
5.486% in lowres, and
4.666% in midres.
Change-Id: I22e4e5f378f19c4c89196a0a5e9214adb46c3428
This function was previously unused and removed in
I6bc740e778658d6f81ca54888fc6fa822d3b5ee0. I am adding it back in
with previously suggested fixes.
Change-Id: Iee0afb39170d25895b11d07e71843eae6913efd1
Mostly refactoring, but a very tiny functional change:
Do all rounding in calc_centroids() itself, instead of rounding in two
places inside palette.c
This gives a slight performance improvement for screen content:
0.078% on average.
Change-Id: I7a0e007d30ebf4e59839483a167123f31a222dd4
The previous code was giving:
unused variable ‘tmp_rate’ [-Wunused-variable]
unused variable ‘tmp_dist’ [-Wunused-variable]
‘rate2_nocoeff’ may be used uninitialized in this function [-Wmaybe-uninitialized]
Change-Id: I26326d0e5ffc141ad548654356a877cd3627cea6
Insert multiple arfs in a gf group to emulate multi-layer backward
reference frames structure. At maximum, two extra ARF's are inserted
in a gf group.
It improves the RD performance by 0.317% in Avg in lowres dataset.
Change-Id: I62c32e1b0f25b978484dd113b319bebcd959bf60
This is temporary until the global motion experiment is made to work
with ext_inter and dual_filter.
Change-Id: I73624ca6f536fd98218d7e07bcd7a2c1e6f5aebd