Age | Commit message (Collapse) | Author |
|
Change-Id: Iacc0b5c58032bde372ed9f99b87712547c4d8454
|
|
|
|
Alter way in which we identify static scenes.
Remove some redundant code.
Change-Id: I883c2ea2e341770648a8663d8881f720ed099b61
|
|
Framerate changes over time, VP9EncoderConfig supposed to have static
read-only data.
Change-Id: I36580a7ee71243c1eabb57691089691731d03e67
|
|
We had a very complicated way to initialize cpi->pass from
cfg->g_pass:
switch (cfg->g_pass) {
case VPX_RC_ONE_PASS:
oxcf->mode = ONE_PASS_GOOD;
break;
case VPX_RC_FIRST_PASS:
oxcf->mode = TWO_PASS_FIRST;
break;
case VPX_RC_LAST_PASS:
oxcf->mode = TWO_PASS_SECOND_BEST;
break;
}
cpi->pass = get_pass(oxcf->mode).
Now pass is moved to VP9EncoderConfig and initialization is simple:
switch (cfg->g_pass) {
case VPX_RC_ONE_PASS:
oxcf->pass = 0;
break;
case VPX_RC_FIRST_PASS:
oxcf->pass = 1;
break;
case VPX_RC_LAST_PASS:
oxcf->pass = 2;
break;
}
Change-Id: I8f582203a4575f5e39b071598484a8ad2b72e0d9
|
|
Change-Id: Ice5376100d8e27cbdaddfd3cd06898cedd2720fe
|
|
for upper layers in first frame
Change-Id: I1fec9c084b499b2f445b79726066d01b136b59fa
|
|
1. Remove last reference flag for first frame upper layers in one pass mode.
2. Disable refresh golden frame flag for key frames.
Change-Id: I44ac1bd2c795169e4fbfdd078ea79a1d33a204d6
|
|
|
|
All changes are for spatial svc only.
1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer
2. Use golden reference idx for spatial reference
3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers
4. Add "auto-alt-refs" in svc options
Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178
|
|
Change-Id: I53db06acf5bc434f9584136b848322f5870300b3
|
|
Add indirection to the section of buffer indices.
This is to help simplify things in the future if we
have other codec features that switch indices.
Limit the max GF interval for static sections to fit
the gf_group structures.
Change-Id: I38310daaf23fd906004c0e8ee3e99e15570f84cb
|
|
Adjust enforced minimum arf Q deltas for non primary arfs
in the middle of an arf/gf group.
Change-Id: Ie8034ffb3ac00f887d74ae1586d4cac91d6cace2
|
|
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
|
|
Both enums are identical.
Change-Id: I06653f9c90a2d3a2dd5c741e75b17ee7d066a56f
|
|
Change-Id: I54cdb4ce11590511e6f86bc2fd55771f1c18a20a
|
|
Produces sane qindex for the first frame in 1-pass constant and
constrained qualirty modes.
Change-Id: Ib2a5091df15a23489e9bb5534a2019cf2689755e
|
|
The third array element was unused. 2 elements now: key- and interframe.
Change-Id: I5b8b9f5d889cc96a204cedfc432059293256298e
|
|
Change-Id: Ib35ff854378764dc3c6745844c67a33dee545663
|
|
|
|
Change-Id: I89a1dbea39c50c7633f746d9c93fec3a289f1b42
|
|
Change-Id: I2c6950e7d79fc89c6f97e6dcf47317ef66c453a5
|
|
Initializes total_actual_bits and total_target_bits to 0
Change-Id: Ia50d3bf5df765146a44aa1f6045e73367ccf50df
|
|
Change-Id: I4bd635949240880ced5f581c24e981ccd0374e40
|
|
If we are already saving a lot in bits from the target (maximum)
bitrate in the constrained quality mode, allow the quantizer
to go lower than the cq level. This hopefully will solve issues
with getting too low a bitrate and consequently poor quality for
certain videos in cq mode.
Change-Id: I1c4e8b0171fcf58f95198b3add85eea5f3c8f19f
|
|
|
|
Change-Id: I7ca46fa26acd80a21210cb8d9584ad812cb995bf
|
|
Allow slightly larger minq-maxq range for P frames. This improves
the compression performance of speed -5 for rtc set by 2.7% in psnr.
Change-Id: I438653d52d0fe51111509c6092e2334bac2de0cf
|
|
tx_mode supercedes whatever mechanism is used to push for 16x16
allowing for the use of the 4x4 transform.
Change-Id: I6c3f05ab9fe52050e40cc6303de9334653763289
|
|
Merged minq tables for arf and gf cases.
These tables were almost the same and for
VBR the arf table was not used at all.
Change-Id: Ie3c87e91dab613cf06f6945ac1ace0e0e4213d34
|
|
Small adjustment to the active Q range calculations.
These changes should slightly extend the available Q range
for KF/GF/ARF and narrow it for other frames.
The results for this change in isolation are broadly positive
for SSIM and average PSNR and slightly up but mixed for opsnr.
derf +0.293% opsnr, +1.286% SSIM
std-hd + 0.528% opsnr, + 1.746% SSIM
yt +0.056% opsnr, +0.457% SSIM
yt-hd -0.147% opsnr, + 0.226% SSIM
Change-Id: If065280342027ecc5d44b49fc1d440dfef041002
|
|
|
|
Change-Id: I62ab0f4346b4157a90dc5b5f73ab5e597d69c1bd
|
|
|
|
Change-Id: Id6ab59e505be28cd4eb9f1fe114feb47debe0539
|
|
Change-Id: I7cc6f441f414ca1b4d95dad3f789fff6faf8c3c4
|
|
This member of VP9_COMP seemed unnecessary since it
only shadowed VP9EncoderConfig.key_freq that is
accessible through VP9_COMP.
Change-Id: Ib751bb1cf1b0b3c50a2a527d7c34f6829dd6fee3
|
|
The end_useage parameter is confusingly named since it
now actually defines the rate control method used.
Change-Id: I98912caabfe556b7af0b939a645d1336409e4d71
|
|
|
|
|
|
Change-Id: Id48edd12c6f649c82113128491ef6ea7410e93b2
|
|
Use cq_level (which is identical) from VP9_CONFIG instead.
Change-Id: I1aaf2fcef3d2dbd4577f613d27693ff8a68989fd
|
|
To make direct side by side testing this patch combines two
VBR corrections schemes to allow more direct side by side testing.
(The other patch was by Debargha chg id I0cd1f7...)
Change-Id: I271c45e5c4ccf8de8305589000218b80d9dc3a25
|
|
Add code to monitor over and under spend and
apply limited correction to the data rate of subsequent
frames. To prevent the problem of starvation or overspend
on individual frames (especially near the end of a clip) the
maximum adjustment on a single frame is limited to a %
of its un-modified allocation.
Change-Id: I6e1ca035ab8afb0c98eac4392115d0752d9cbd7f
|
|
|
|
Fix rate control bug whereby the rate factor heuristics
were being updated on arf overlays causing a rate surge
for a few frames followed by a corrective drop.
This fix eliminates many of the overshoot problems that
we were seeing on hard clips (even without applying
stricter vbr rate control) and also helps quality on
almost all clips with some hard clips improving by >5%.
Overall quality results measured at speed 2.
Derf +1.78% opsnr , +2.44% SSIM
Stdhd +2.41% opsnr, +2.85% SSIM
Change-Id: I2369df6295c2705963fa6307877f6acb304bcc39
|
|
Just to be consistent with min_frame_bandwidth & max_frame_bandwidth names.
Change-Id: I36702c708cba9ad1a5c36393f37758a2edeadb90
|
|
|
|
|