When the perceptual AQ mode is enabled, cap the ARF boost to 2.5x
of the regular frame. This allows more consistent frame quality
across consecutive frames and sufficient bit rate allocation at
frame level for AQ mode.
Change-Id: I10f5e2860a3e4b412efe25cca635405bae293ebf
Note that when using --disable-runtime-cpu-detect the developer
must keep in mind what devices the library will be run on.
BUG=webm:1623
Change-Id: I0359e226bb678f8e5145bb30cd1cefc7e30c6c79
arm builds require too many tweaks to keep up with changes
to the ndk. Recommend ndk-build instead.
Update documentation and drop --sdk-path references. If
--enable-external-build is used instead we do not need the compiler
path.
BUG=webm:1622
Change-Id: Id024345afd7af988321f8f97ebab19c425cb0493
Values of mb_smooth_pct and mb_av_energy have been updated
correctly in vp9_rc_get_second_pass_params for higher layer
ARF frames.
Change-Id: Ic176e393eb8cc5f418235fee9accee84e9809607
Add a macro to to exclude VP9 specific assembly files from build if VP9
is not configured. This would otherwise cause a linking error for VP8
only builds.
BUG=webm:1625
Change-Id: I6d892b7c2837a2574538d18b776fd2b6d706da96
Trap the case where we end up with two short GF only groups just
before a key frame. For example, if the KF is 22 frames away
we are better doing one ARF group of size 16 followed by a GF
only group of 6 than two GF only groups of size 11 (when
min_gf_interval is 12).
Change-Id: Ie598a8a21c6e104cbe381b4792e77fd92d047725
Mask the values to show that we only want to store 1 byte. Switch
to lowercase ff since it's more prevalent in the file.
BUG=webm:1615
Change-Id: Ia8ede79cb3a4a39c868198ae207d606e30cfb1cb
Support the potential frame scaling use case. The operation flow
now allows the codec to allocate the memory buffer only when
perceptual AQ mode is enabled.
Change-Id: I7529e63131276dbe3a29f910d3a227f20dbc94a2
on CONFIG_BITSTREAM_DEBUG. this avoids an object file containing no
symbols which may cause warnings on some platforms.
Change-Id: I02af97d6970de949466c29f50d272733d97ee8d2
clang 7 integer sanitizer warns on unsigned->signed conversions when
the highest bit is 1.
BUG=webm:1615
Change-Id: I6381efaff9233254b40cb78f7bcf87090e0ad353
clang 7 integer sanitizer warns about storing any int16_t value
where the high bit is 1. Treated as an int, such number would
be positive. Treated as an int16_t, it is negative.
BUG=webm:1615
Change-Id: Idf655cd92d26b7c1180910159be3f64164577eca
For screen content nonrd_pickmode: reduce
threshold to select 4x4 tx_size, under certain
conditions.
Change-Id: If68c30172272868033f0e3011e53c76b4e7c48b6
For nonrd-pickmode: pass the source variance and the
mode (intra/inter) to select tx_size, for better tuning.
Neutral change for video mode, speed 7.
Some quality improvement for screen content.
Change-Id: I53336f23fa4f14076aa1cdf8036e9af73c43060a
In nonrd_pickmode for intra modes: add tx_size selection
based on Y prediction signal for the bsize.
The tx selection is done in model_rd, same as inter-modes.
Existing code for intra mode was first setting a tx_size based
only on the bsize, and then in some cases in block_yrd
(during the loop over bsize in units of tx_size) the tx_size
may be set again if model_rd is called in block_yrd.
This CL separates out the tx_size setting (based on Y channel
prediction via model_rd), and then block_yrd is called once
for whole bsize. This allows for better tuning of the tx
selection for intra modes in future change.
Adjust threshold in svc datarate test.
Negligible/neutral change in psnr/ssim metrics
for speed 7 and 8, 1 layer and SVC mode.
Change-Id: I33bc8447afdc3785482e13aac5c3636e13c59644