- 10 Jan, 2017 1 commit
-
-
Marco authored
When aq=3 mode is on and the gf_cbr_boost is set: make sure golden frame is always refreshed, and don't incorporate segement cost in qp setting on the boosted golden frame. Better performance on RTC set with gf_cbr_boost on, for example with gf_cbr_boost=50, gains from ~0.5-3%. Change-Id: Ie811f5e4d444ff3320bd6e2c1745b2c4c09a8460
-
- 06 Jan, 2017 2 commits
-
-
hui su authored
Constraints on encoder config: -target_bandwidth is no larger than 80% of level bitrate limit -target_bandwidth * (1 + max_over_shoot_pct) is no larger than 88% of level bitrate limit -min_gf_interval is no smaller than level limit -tile_columns is no larger than level limit Constraints on rate control: -current frame size plus previous three frames' size is no larger than the CPB level limit -current frame size is no larger than 50%/40%/20% of the CPB level limit if it's a key/alt-ref/other frame. Change-Id: I84d1a2d6d6e3c82bfd533b3309ce999cfaba2c8b
-
Jerome Jiang authored
The source sad could be used to copy the partition without going into choose_partitioning function to speed up vp9 encoding. Computing source sad takes little time. Speed test on Android and Linux shows little encoding time gain (less than 1.4%). Turned off for now since partition copy is turned off. Change-Id: I61c9d5b8f22329760cb29a4ee30a7f9c232ce8d3
-
- 20 Dec, 2016 1 commit
-
-
Jerome Jiang authored
Add feature to copy partition from the last frame. The copy is only done under certain conditions that SAD is below threshold. Feature is currently disabled, until threshold is tuned. Feature will be initially used for Speed 8 (ARM). Under extreme case of always copying partition for speed 8: Encode time is reduced by 5.4% on rtc_derf and 7.8% on rtc. Overall PSNR reduced by 2.1 on rtc_derf and 0.968 on rtc. Change-Id: I1bcab515af3088e4d60675758f72613c2d3dc7a5
-
- 14 Nov, 2016 1 commit
-
-
Jingning Han authored
This commit enables asymptotic closed-loop encoding decision for the key frame and alternate reference frame. It follows the regular rate control scheme, but leaves out additional iteration on the updated frame level probability model. It is enabled for speed 0. The compression performance is improved: lowres 0.2% midres 0.35% hdres 0.4% Change-Id: I905ffa057c9a1ef2e90ef87c9723a6cf7dbe67cb
-
- 02 Nov, 2016 1 commit
-
-
paulwilkins authored
Fixed formatting bug introduced by the fix to BUG=webm:1322 ( Iedc4477aef1746aa0a4f84d88a1156296fd3ba87) Change-Id: I715ee446c0e8584967ab87ba4e355759dd394187
-
- 27 Oct, 2016 2 commits
-
-
Debargha Mukherjee authored
Adjusts the q adjustement step depending on how far the projected and target rates differ. Change-Id: I498d03523ca233a270512ca3972c372daa4ca2a8
-
Debargha Mukherjee authored
Fixes a case where recode is not triggered based on the value of maxq passed into the recode loop test function. BUG=b/32375284 Change-Id: I15ad985d0525c68e0443cfaf842440d2754b2266
-
- 25 Oct, 2016 1 commit
-
-
Yunqing Wang authored
This patch modified the motion search counts used in: https://chromium-review.googlesource.com/#/c/305640/ These 2 counts were originally added as thread data, and used to make decisions in motion search. The tile encoding order can be inconsistent while using different number of threads, which can cause bitstream mismatch. Here moved them to tile data to solve the issue. BUG=webm:1322 Change-Id: Iedc4477aef1746aa0a4f84d88a1156296fd3ba87
-
- 22 Oct, 2016 1 commit
-
-
Vignesh Venkatasubramanian authored
Re-use the tile worker threads to pack the bitstream in parallel on a per-tile basis. Restricting this to real-time only for now (further testing is needed to ensure this does not make 2-pass worse in any case). BUG=webm:1309 Change-Id: I8a80da7c5089b837d0df79a5c49d5e3022dfc8ec
-
- 19 Oct, 2016 1 commit
-
-
James Zern authored
This reverts commit 9e8efa5b. this change causes ubsan warnings, failures in vpxenc_vp9_webm_rt_multithread_tiled BUG=webm:1309 Change-Id: I020c7be985c771bfff4b3de1afe51cc8edb980da
-
- 17 Oct, 2016 1 commit
-
-
Vignesh Venkatasubramanian authored
Re-use the tile worker threads to pack the bitstream in parallel on a per-tile basis. Restricting this to real-time only for now (further testing is needed to ensure this does not make 2-pass worse in any case). BUG=webm:1309 Change-Id: Ia2c982da56697756e12f02643f589189b3271d98
-
- 11 Oct, 2016 1 commit
-
-
Marco authored
For 1 pass vbr real-time mode: Allow for the usage of alt-ref frame when non-zero lag-in-frames is used. Use non-filtered alt-ref, and select usage based on fast scene/content analysis/detection within the lag of frames. Positive gains on ytlive set: overall avgPSNR ~3-4%. Several clips are up between 5-14%, a few clips are neutral/small change. Current speed decrease is about ~5-10%. Use the flag USE_ALTREF_FOR_ONE_PASS to enable this feature (off by default for now). Change-Id: I802d2bf3d44f9cf01f6d15c76be9c90192314769
-
- 29 Sep, 2016 1 commit
-
-
Marco authored
change_config() may be called often in real-time application, to update bitrate/framerate or qp-max/min. No need to do update_frame_size() unless frame size has changed. Change-Id: I23a51deade1e03adc91c468f9ffde3235298770c
-
- 15 Sep, 2016 1 commit
-
-
clang-format authored
Change-Id: I501597b7c1e0f0c7ae2aea3ee8073f0a641b3487
-
- 03 Sep, 2016 1 commit
-
-
Sarah Parker authored
Change-Id: I21c8ad0b5ed7f8d843cae45c18f5727bceb8f859
-
- 26 Aug, 2016 2 commits
-
-
paulwilkins authored
This patch is to address concerns that changes to allow recodes on the first frame in each ARF group do not give a good enough speed quality trade off for speed 2. Though the average impact on encode speed is 1-2%, for some hard clips it is > 5% rise. For speed 1 this is less an issue and for Speed 0 the previous patch actually improves speed. Change-Id: Ie1bcefdbfdf846d3f4428590173f621465dffe3a
-
Sarah Parker authored
This corrects a formatting error introduced in: I1e9d548ce445d29002f0c59ebfd3957a6f15e702 where spaces were used as delimiters instead of tabs. The corresponding fix for vp10 is in Ica3d625d6672b3c47e0e208b45eede29b9004030. Change-Id: Ibc4eb8fd82e6b926ba259a679dc98557cadba9b1
-
- 25 Aug, 2016 1 commit
-
-
Yury Gitman authored
Current commit is just an API template for the rest of the code, and I will add inner logic later. Altref frames generate a lot of bitrate and at the same time other frames refer to them a lot, so it makes sense to apply special compensation-based adaptive quantization scheme for altref frames. E.g., for blocks that are good predictors for the future apply rate-control chosen quantizer while for bad predictors apply worse one. Change-Id: Iba3f8ec349470673b7249f6a125f6859336a47c8
-
- 17 Aug, 2016 1 commit
-
-
paulwilkins authored
Change-Id: If1ca3cf83e058317c9751d7da6caa7cd75eb6845
-
- 15 Aug, 2016 1 commit
-
-
paulwilkins authored
Allow recodes for the first inter frame in each arf group even when the recode rule is set to ALLOW_RECODE_KFARFGF. Small gains of 0.05%. Change-Id: I40cb559d36a2bf0ebf5cf758c3f92e452b480577
-
- 05 Aug, 2016 1 commit
-
-
James Zern authored
quiets -Wshorten-64-to-32 warnings Change-Id: Ice037acb675d1d81bfedf2dfcfa91a8a29a19dfd
-
- 02 Aug, 2016 1 commit
-
-
clang-format authored
Change-Id: I45d9fb4013f50766b24363a86365e8063e8954c2
-
- 20 Jul, 2016 1 commit
-
-
Yaowu Xu authored
This commit changes the call in vp9 encoder from vp9_deblock() to vp9_post_proc_frame() to ensure the data structures used in the call are properly allocated. This fixes an encoder crash when configured with --enable-internal-stats. Change-Id: I2393b336c0f566665336df4f1ba91c405eb56764
-
- 18 Jul, 2016 2 commits
-
-
Marco authored
Allow usage of lookahead for VBR in real-time mode, for 1 pass vbr. Current usage is for fast checking of future scene cuts/changes, and adjusting rate control (gf interval and active_worst/target size). Added unittests (datarate) for 1 pass vbr mode, with non-zero lag. Added an experimental option to limit QP based on lookahead. Overall positive gain in metrics on ytlive set: avgPNSR/SSIM up on average ~1-3%; several clips up by 5, 7%. Change-Id: I960d57dfc89de121c4824b9a9bf88d2814e74b56
-
Yury Gitman authored
Change-Id: I1954f9d6e33abff9081fe7a5cf59d5497768e0df
-
- 12 Jul, 2016 2 commits
-
-
JackyChen authored
This change eliminates redundant computation in the two stage downscaling, which saves ~1% encoding time in 3-layer svc encoding. Change-Id: Ib4b218811b68499a740af1f9b7b5a5445e28d671
-
Jim Bankoski authored
The deblocking filters used in vp8 have been moved to vpx_dsp for use by both vp8 and vp9. Change-Id: I5209d76edafc894b550f751fc76d3aa6799b392d
-
- 29 Jun, 2016 1 commit
-
-
paulwilkins authored
For forced key frames in particular this helps to make them blend better with the surrounding frames where noise tends to be suppressed by a combination of quantization and alt ref filtering. Currently disabled by default under and IFDEF flag pending wider testing. Change-Id: I971b5cc2b2a4b9e1f11fe06c67ef073f01b25056
-
- 24 Jun, 2016 2 commits
-
-
Yaowu Xu authored
Change-Id: I4aceffcdf7af59ffeb51984f0345c3a4c7e76a9f
-
Yury Gitman authored
Change-Id: I9afa02cae671bd3527cf344695e53d0cc767f549
-
- 17 Jun, 2016 1 commit
-
-
Yaowu Xu authored
BUG=webm:1219 Change-Id: I433a688fbbc87094afa888c1e7d49f3eefc0e765
-
- 15 Jun, 2016 1 commit
-
-
hui su authored
Change-Id: I1ef3df0192491035728fe9d5eb25cc66dc2965de
-
- 11 May, 2016 1 commit
-
-
paulwilkins authored
Added actual and absolute rate miss values to the opsnr.stt stats output line. Changes to the borg graphing may be needed before merge. Change-Id: I1e9d548ce445d29002f0c59ebfd3957a6f15e702
-
- 10 May, 2016 1 commit
-
-
hui su authored
Add control API VP9E_SET_TARGET_LEVEL that allows the encoder to control the output bitstream level and/or keep level related statistics. Usage: 255 do not care about level (default) 0 keep level related stats only 10 target for level 1 11 target for level 1.1 . . . 62 target for level 6.2 Usage for vpxenc: --target-level=0/255/10/11... Change-Id: I31d1aeca19358b893e7577b4e63748c8e614034a
-
- 29 Apr, 2016 1 commit
-
-
Marco authored
And initialize a variable (avg_source_sad) that was not initialized to 0. Change-Id: I63223e20fffe2a2ea38f03da62dad16af0618ea4
-
- 25 Apr, 2016 1 commit
-
-
paulwilkins authored
In Aq mode 1 the segment and AQ delta for each block is based on spatial variance. There may be a net imbalance between blocks that have lower Q than the baseline value and those that have higher Q. This patch monitors that imbalance and extends the allowed baseline Q range for the frame to accommodate adjustment of that baseline value to compensate. Change-Id: Iae8a48c7c01fe2af94a141e149d03acf467237ca
-
- 22 Apr, 2016 1 commit
-
-
Marco authored
So it can be used even with aq-mode=3 not enabled. Also cleans up some code in the places where its used. No change in behavior. Change-Id: Ib6b265308dbd483f691200da9a0be4da4b380dbc
-
- 13 Apr, 2016 1 commit
-
-
Marco authored
Change recursive weight for average_source_sad and put some constraint on spacing between detected scene-cuts. Change only affects 1 pass real-time mode. Change-Id: I1917e748d845e244812d11aec2a9d755372ec182
-
- 05 Apr, 2016 1 commit
-
-
Marco authored
Avoid copy-block when denoising is at LowLow level (i.e., no denoising is done). Instead, don't enter denoiser at all, and when level goes back up over kLowLow do a reset in denoiser. Change-Id: I0544adf58f4dd51ecc4a4607fcb0353bfbbb7a59
-