Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Change-Id: I1d8c312a599db505a023e5cd0cc4ba2b8f696a2e
|
|
This code/setting was actually not used (since speed features were not set on first frame,
until a recent change) and should be removed.
In CBR mode, the q value for the first frame can be controlled by setting
the target size via the parameters rc_buf_initial_sz (and max_intra_size_pct).
Change-Id: I65afc64972b36c449bd5a8c25800e65da5389066
|
|
Use a crude correction factor to correct for
lower compression efficiency at higher encode
speeds when estimating the max Q for the
clip.
Change-Id: I5ae377647f4adf5e91d700a8791fb3b8f70efc73
|
|
This commit optimizes the bit allocation for the non-RD coding flow.
It applies slightly better quantizer to the frames, where all blocks
run a non-RD partition search. Such frames typically have better
rate-distortion trade off, thus improving the reconstruction quality
for next few frames reference at reasonably low increment in rate
cost.
The coding performance for rtc set at speed -5 with error-resilient
tuned on and rate control set as cbr is improved by 19.58%. It improved
the coding speed by about 10% for a portion of local test clips.
Change-Id: I9d56696cd4359dc8136ca10aff10fff05aaa2686
|
|
Change-Id: I366850015004644c4fc7feabe27a782fdd8d8718
|
|
|
|
Change-Id: I47a8b4bf9a6cc0063d1a6785eaaad641d0659e24
|
|
Change-Id: I044e393438c7b58a6393e20efa38fd03d745ad33
|
|
|
|
|
|
Change-Id: Ibfccee5e35c235c02843e1c1fbd3c39034619cf5
|
|
Change-Id: Ib9e27298c575afc02a98b593bc6ad60762064d9b
|
|
Change-Id: I0d39bdbb8166ee44561f1008d1a2e76e70b36f30
|
|
Change-Id: Ib719a9f74924718715592e0238bc391ae239d026
|
|
Change-Id: Id1ec41275cc35565e522a1b2ac252ea3ec05638f
|
|
|
|
Change-Id: Ia79f975f54829b8ae6b568ca5c05f4f1f541706f
|
|
Adds a method for determining a fixed size partition based on
variance of a 64x64 SB. This method is added to rtc speed 6.
Also fixes a bug in rtc_use_partition() and includes some
refactoring related to partitioning search, and some cosmetics.
Currently compared to speed 5, the coding efficiency of speed 6
is -19% and that of speed 7 is -55%, in cbr mode.
Change-Id: I057e04125a8b765906bb7d4bf7a36d1e575de7c6
|
|
Removed the comment "// __asm emms;" from all calls
to vp9_clear_system_state.
Change-Id: Ib4dae69c1cdf3f185b04184a870cd70c4d703f10
|
|
This was inadvertently left out in a previous refactoring step.
Change-Id: Idf3350e95152f876a1a1a4591dd30c8981856c96
|
|
Change-Id: Ifd6b2d36d91237b5f38853a3a8a529d8be38ba09
|
|
Only use layered average size if number_temporal_layers > 1.
Also removed unneeded commented-out line, and change some parameter
setting in vpx_temporal_scalable_patterns.c
Change-Id: Ic86e43e7daf0313e8c5a4aba1497299158111955
|
|
|
|
Change-Id: I8aa3dd068d9a7225b3e8b24392a7b4a54b9435dd
|
|
|
|
Removes certain cases of feedback of active_worst_quality,
and removes it from the RATE_CONTROL structure. Now active
worst quality is expected to be computed locally in the
q picking function during the encode.
Making temporal filter strength depend on avg_frame_qindex
rather than on active_worst_quality actually improves
performance esp. for yt.
derf: +0.038%
yt: +0.359%
Change-Id: I1fe5a343034b55af9322289165321f00ac0827b1
|
|
|
|
Use frame_parameter_update to precisely describe the functionality.
Change-Id: Ia9a55ba8efef7b987e30d949dd00ac716189bdb9
|
|
Some parameter changes and fixes on one-pass rate control.
derfraw300 is now only 10% below 2-pass speed 0 rate control.
Change-Id: I1940eef8a5a035dc18e71b880d5e00cabd1f01b9
|
|
-Properly set the average frame size for each layer.
-Allow each layer to update its average/last Q stats after encoding.
-Initialize for some layer context variables.
Change-Id: Iaa37d144fcf4f30ff4283a4e8db8b9ca8bf4c815
|
|
Change-Id: I13738ef1f307cc5f563126bc7a92beaa01fde3bd
|
|
Fixes some of the parameters for 1-pass non-cbr mode.
Also includes some cleanups, inlcuding refactoring of the
recode_loop options.
Results on derfraw300 improve by about 5-6%, so that the one-pass
mode is now 13% below the 2-pass mode in speed 0.
Change-Id: I844cc2638694c7574f3be00d41d60b23dc1016f0
|
|
This patch adds a buffer-based rate control for temporal layers,
under CBR mode.
Added vpx_temporal_scalable_patters.c encoder for testing temporal
layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns).
Updated datarate unittest with tests for temporal layer rate-targeting.
Change-Id: I8900a854288b9354d9c697cfeb0243a9fd6790b1
|
|
|
|
Inlcudes a number cleanups:
1. Moves the one-pass pre-encode parameter setting functions
to vp9_ratectrl.c
2. Deprecates per_frame_bandwidth in RATE_CONTROL structure
3. Removes target_bandwidth in cpi structure since it is not used.
4. Various renaming of functions
There is no bit-stream change in 2-pass, one-pass cbr and one-pass
vbr modes.
Change-Id: Ifd9916bf4d485b7d04c5f52044ffe6703254ccbd
|
|
Fixes rate control partially in one-pass non-cbr case to achieve a
bitrate close to the one desired. Previous version was way off at
the high bitrate end.
Also includes several one-pass rate control cleanups and refactoring.
On derfraw300, one-pass encoding is now 19% off from two-pass speed
0 encoding, down from 35%.
Change-Id: I6f0dcdb7f8aa85a7e7cd3a3155d4f9d2a4d2f4f4
|
|
silences warnings about declarations not matching prototype
Change-Id: I30b9a24f78ebe3b9cc2bbfcd3a7363ba7c328e4d
|
|
Includes a few fixes and clean-ups that adds the ability
to use alt-ref frames in one-pass mode.
Whether alt-refs are actually used or not is controlled by a
macro USE_ALTREF_FOR_ONE_PASS in vp9_firstpass.c.
This first cut seems to improve derf by 15+% in 1-pass mode.
But further experiments with parameters are underway.
Change-Id: I78254421435478003367c788c7930d2dc4ee2816
|
|
Change-Id: If370f83080b403e417716d1edad58fdaa2b90170
|
|
Change-Id: I8cfa5d5eb2c1bbacd9b604cc5dc0a2cd2e5cebb8
|
|
Change-Id: I1d556ddf04ab0a98eadf412972a6977c1055446f
|
|
Change-Id: I3a260d3ca68db3a9352ae5409de76e56202976e5
|
|
Set this_key_frame_forced flag and don't use kf_boost when not set.
Change-Id: Ibe66a82fa9219e60db358ddeb43d6471816c8b50
|
|
|
|
|
|
Fixes assert that fails occasionally on small values of
max-key frame intervals. Also, adds a small change on
updating frames_to_key for frame drops.
Change-Id: Icc2b33b25e3e4ced7e49f8db73e0a887ef9c99e0
|
|
Applies an upper limit on burst bitrate for any
frame. This is to insure that typical encodes for YT
do not produce frames that are so large that they
risk stalling HW implementations. Such frames
could also cause playback problems in SW.
For now the limit is set at 250 bits per MB for 1080P
and larger (with the 1080P limit used for smaller frames).
Setting maxQ, constant quality mode or targeting a
very high bandwidth will have precedence over this limit.
Change-Id: Ie6f776c38b06ac7cec043d034085f4b79ee46a38
|