Age | Commit message (Collapse) | Author |
|
vp9_rdopt is for making rd optimal mode decisions. vp9_rd is for all
other rd related routines. Anything used outside of making an rd optimal
decision belongs in rd.
Change-Id: I772a3073f7588bdf139f551fb9810b6864d8e64b
|
|
Add a conditional compile flag for this feature. Also add a
switch to enable the encoder to use these statistics in the
second pass. Currently, the switch is turned off.
Change-Id: Ia1c858c35ec90e36f19f5cffe156b97ddaa04922
|
|
Before encoding a frame, calculate and store each 16x16 block's
variance of source difference between last and current frame.
Find partitioning threshold T for the frame from its variance
histogram, and then use T to make partition decisions.
Comparing with fixed 16x16 partitioning, rtc set test showed an
overall psnr gain of 3.242%, and ssim gain of 3.751%. The best
psnr gain is 8.653%.
The overall encoding speed didn't change much. It got faster for
some clips(for example, 12% speedup for vidyo1), and a little
slower for others.
Also, a minor modification was made in datarate unit test.
Change-Id: Ie290743aa3814e83607b93831b667a2a49d0932c
|
|
|
|
This patch allows the encoder to skip the partition search for the
frame if it is an inter frame and only zero motion vectors have
been detected in the first pass. The partition size is directly
assigned according to the difference variance.
Borg tests show overall little performance changes in term of PSNR
(derf -0.027%, yt 0.152%, hd 0.078%, stdhd 0%). The worst case of
PSNR loss is -0.514% from yt. The best PSNR gain is 4.293% from yt.
The second pass encoding speedup for slideshow clips is 15%-40%.
Change-Id: I881f347d286553ee5594a9ea09ba1a61ac684045
|
|
Change-Id: I930dced169c9d53f8044d2754a04332138347409
|
|
Add multi_arf_allowed flag.
Re-initialize buffer indices every kf.
Add some const indicators.
Change-Id: If86c39153517c427182691d2d4d4b7e90594be71
|
|
Remove the old experimental multi arf code that was under
the flag CONFIG_MULTIPLE_ARF.
Change-Id: Ib24865abc11691d6ac8cb0434ada1da674368a61
|
|
This patch implements a mechanism for inserting a second
arf at the mid position of arf groups.
It is currently disabled by default using the flag multi_arf_enabled.
Results are currently down somewhat in initial testing if
multi-arf is enabled. Most of the loss is attributable to the
fact that code to preserve the previous golden frame
(in the arf buffer) in cases where we are coding an overlay
frame, is currently disabled in the multi-arf case.
Change-Id: I1d777318ca09f147db2e8c86d7315fe86168c865
|
|
Change-Id: Ibb841a1fa4d08d164cf5461246ec290f582b1f80
|
|
|
|
Change-Id: I8fab776c8801e19d3f5027ed55a6aa69eee951de
|
|
Both enums are identical.
Change-Id: I06653f9c90a2d3a2dd5c741e75b17ee7d066a56f
|
|
Change-Id: Iccf6ede4c4f85646b0f8daec47050ce93e267c90
|
|
Change-Id: I54cdb4ce11590511e6f86bc2fd55771f1c18a20a
|
|
This is not a speed feature, adding inline function instead.
Change-Id: Ia48c41802eec9e92cf990339d724097279695c9a
|
|
Change-Id: I9b683c8647a864e74073161f4aa6f2911b7825e3
|
|
|
|
Change-Id: Ib35ff854378764dc3c6745844c67a33dee545663
|
|
Right now there is just one place to check: xd->lossless and for the first
pass there is a function is_lossless_requested().
Change-Id: I949a6834e64ce51e422e2892f097f2b871b5429a
|
|
|
|
Added a skipping test in non-rd inter-mode. After interpolation
prediction step, the residuals are tested to see if they will be
quantized to 0 based on modeling between spatial domain and
frequency domain.
Set static-thresh to 800 for >=720p and 300 for <720p, rtc set
tests showed
1. Speed 5, psnr: -0.514%; ssim: -1.748%;
speedup on related clips: 5% -11%
2. Speed 6, psbr: -0.628%; ssim: -1.637%;
speedup on related clips: 4% - 9%
Change-Id: I62fbf26bc043ecd2b584f255f1a4ee5ab52bfcf3
|
|
Use type TWO_PASS instead of "struct twopass".
Change-Id: I9d92920893bd436537b2ca19e9c9d355cca56c7c
|
|
Because PC_TREE is encoder-level data, not MACROBLOCK-level data.
Change-Id: I4f620c0781acd3a2744860610117e74948e0b2b5
|
|
|
|
Also delete vp9_set_roimap() which is not used in VP9.
Change-Id: I48c60b1dc8794c6a234f9c3d95e2debb7bdb3fd5
|
|
|
|
|
|
|
|
Change-Id: I61471dd0f77d1547abec13cbf9670e1c4eb9131a
|
|
Change-Id: I0d50354111df79b74aafcd3bb7dc14df3c14733a
|
|
|
|
Change-Id: Id6ab59e505be28cd4eb9f1fe114feb47debe0539
|
|
It seems nobody uses it now.
Change-Id: Ided479cb7f5023559efc8f102ecead43884f4441
|
|
Change-Id: I58b82c94e893f37b3a07f481abdb3f6c6728f992
|
|
This reverts commit 59e733ca81b707780901340686ecd7419077eb54.
Hold off removing arnr_type to give users the opportunity
to change their script files to handle its deprecation. A
follow-up patch will mark the control for setting arnr_type
as deprecated and it will be removed completely in a later
revision of the code.
Change-Id: I8b817c744e144d3714234a4cd4309816d0c7e3e8
|
|
Change-Id: I2ad333553e673dbabcdc0f0366aea311e90849bf
|
|
This member of VP9_COMP seemed unnecessary since it
only shadowed VP9EncoderConfig.key_freq that is
accessible through VP9_COMP.
Change-Id: Ib751bb1cf1b0b3c50a2a527d7c34f6829dd6fee3
|
|
Actual renames:
vp9_onyx_if.c -> vp9_encoder.c
vp9_onyx_int.h -> vp9_encoder.h
Change-Id: I80532a80b118d0060518e6c6a0d640e3f411783c
|