summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-12Merge changes I306c582c,Id5389285Paul Wilkins
* changes: Remove configure_multi_arf_buffer_updates() Remove update_multi_arf_ref_frames()
2018-09-12Merge changes I97111413,Idcd6dcbcPaul Wilkins
* changes: Clean up define_gf_group() Clean up deprecated gop structure code
2018-09-12Merge "Set GF frame layer depth to be 0"Paul Wilkins
2018-09-11Remove configure_multi_arf_buffer_updates()Jingning Han
The bit-stream syntax doesn't support lst2/3/bwd reference frame update. Remove the deprecated function that goes such assumption. Change-Id: I306c582c2efc63928e4231adef2ee549076a987c
2018-09-11Remove update_multi_arf_ref_frames()Jingning Han
The bit-stream syntax doesn't support the use of lst2/3 frames. Remove the update_multi_arf_ref_frames() function that assumes such functionality. Change-Id: Id5389285c84fe6c578c52d210aa47ef3cb789f8e
2018-09-11Merge "Simplify vp9_frame_type_qdelta()"Jingning Han
2018-09-11Merge "Store mv/inter_cost/recon_error/err for ref frames"Angie Chiang
2018-09-11Clean up define_gf_group()Jingning Han
Remove deprecated extra_arf_allowed code. Change-Id: I97111413e6465475e750106fddef8f344db53405
2018-09-11Clean up deprecated gop structure codeJingning Han
Gradually integrate the single-/multi-layer ARF and dual ARF encoder control. Remove deprecated code. Change-Id: Idcd6dcbca3f8d7597878d83dec421e16be819f55
2018-09-11Simplify vp9_frame_type_qdelta()Jingning Han
Make direct use of frame type in the available VP9_COMMON structure. Eliminate the need to map through rf_level to fetch the frame type. This change doesn't alter the coding stats. It simplifies the vp9_frame_type_qdelta() function logic and removes unnecessary reference to rf_level. Change-Id: I1a7b2f5abcae39aa4a60d08a6011dde38ecf3b58
2018-09-11Set GF frame layer depth to be 0Jingning Han
Set the golden frame layer depth as 0 - the base layer in temporal domain. Change-Id: If63e1524a567fcff6162f4283811298551516be5
2018-09-11Remove unused constant definitionJingning Han
ARF_DECAY_BREAKOUT is no long used. Change-Id: I553f8a3087389f0343444e2551581e9de02d3427
2018-09-11Localize variable definitionsJingning Han
Localize variable definitions in setup_frames() and two_pass_first_group_inter(). Change-Id: I66e842791d679be6d22cef50e0b395b5aa380eac
2018-09-11Merge "Rework two_pass_first_group_inter()"Jingning Han
2018-09-11Merge "Separate frame context index for GOP layers"Jingning Han
2018-09-11Merge "Assign layer depth for all coding frames"Jingning Han
2018-09-11Merge "Refactor block_rd_txfm()"Hui Su
2018-09-10Rework two_pass_first_group_inter()Jingning Han
This function is used to in part decide if to trigger recode loop for the first normal P frame in a GOP. Rework its design logic to support the GOP with multi-layer ARF. Allow recode when there is a transition from ARF/OVERLAY/USE_BUF to normal P frame. The overall coding performance for multi-ARF gets slightly better (less than 0.1% for show_existing_frame case). Tested on a few clips, the encoding speed remains similar too. This change primarily serves to help integration of multi-layer ARF and dual-ARF systems. Change-Id: Ia44e44526b05029b1546985b3eb649e767d5444f
2018-09-10Refactor block_rd_txfm()Hui Su
Merge two identical if branches. Change-Id: Ie012ba9c116a30ef6fa2e7868c7a4ba886b99bc6
2018-09-10Store mv/inter_cost/recon_error/err for ref framesAngie Chiang
These information will help with making better mv search decision Add functionality to dump tpl_stats for offline analysis Change-Id: Ic2ec34368499c9bccb4d1f21a12b66453847fcf2
2018-09-10Separate frame context index for GOP layersJingning Han
Use separate frame context index to code frames at different layers. The maximum index cap is set as 3. This improves the compression performance of multi-layer ARF by 0.15% across the test sets. The overall coding gains from multi-layer ARF are avg PSNR ovarall PSNR SSIM lowres -3.9% -3.7% -3.2% midres -3.5% -3.2% -2.3% nflx2k -4.3% -4.6% -3.0% Change-Id: I8a0b345fdd47823c018544a6b4748753faf89dc1
2018-09-08fix vp9_svc_adjust_frame_rate signatureJames Zern
match the const in the header; quiets a visual studio warning. since: 04b3d49ba vp9-svc: Allow for setting framerate per spatial layer. Change-Id: I0a216eb8fe1a689fe6822bbfac70f7c98e9b1a70
2018-09-08Merge "Fork auto-alt-ref control"Jingning Han
2018-09-08Merge "Extend auto-alt-ref parameter range"Jingning Han
2018-09-08Merge "Add non-greedy-mv experimental flag"Angie Chiang
2018-09-07Assign layer depth for all coding framesJingning Han
Assign layer depth for the base layer ARF and the normal frames. Change-Id: I81cbb2846c3176336622f9006701c0219652905a
2018-09-07Merge "Add NORMAL_BOOST macro"Jingning Han
2018-09-07Fork auto-alt-ref controlJingning Han
Temporarily fork the auto-alt-ref control meaning. When it is set to be 1, use single layer ARF as baseline. The value 2 would enable dual ARF system. Any number above it would trigger automatic multi- layer ARFs. We would gradually refactor and integrate dual ARF and multi-layer ARF systems next, and eventually make auto-alt-ref directly control the layer depth. Change-Id: I292d27111ae8a596b97444afecf4b896043e543f
2018-09-07Extend auto-alt-ref parameter rangeJingning Han
Extend the upper limit from 2 (dual ARFs) to maximum ARF layers. This would later allow --auto-alt-ref to directly control the ARF layer depth later on. Change-Id: I6324fe980122e73dc98f81c8d7de1193a1a16e51
2018-09-07Add NORMAL_BOOST macroJingning Han
Normal frame boost factor is set to be 100 as the baseline for ARF boost. Replace the hard coded number with a macro. Change-Id: I81ce30138f7819844e7a2d811de9e1ccbeb85da5
2018-09-06Merge "vp9-svc: Allow for setting framerate per spatial layer."Marco Paniconi
2018-09-06Merge "Fix short first kf bug."Paul Wilkins
2018-09-06Merge "Revert "Revert "Prevent double application of min rate in two pass."""Paul Wilkins
2018-09-06Merge "Adaptive ARF factor decision"Jingning Han
2018-09-06Merge "Recursive rate allocation for multi-layer ARF coding"Jingning Han
2018-09-06Merge "Enable adaptive rate allocation for multi-layer ARFs"Jingning Han
2018-09-05Merge "Initialize the best partition before partition RDO"Hui Su
2018-09-05Initialize the best partition before partition RDOHui Su
This fixes the multi-thread encoder test failure. Change-Id: I0c1845922068e71097a387db0969ca419accb3ed
2018-09-05Add non-greedy-mv experimental flagAngie Chiang
The experiment aims at making non-greedy mv search decision Change-Id: I3d77048ce106771fe003f250d07b7ddf0112536f
2018-09-05vp9-svc: Allow for setting framerate per spatial layer.Marco Paniconi
Add duration to set_svc_ref_frame_config. BUG=b/113346831 Change-Id: I63613aed6b1183f98d04831600a6bdd645c740df
2018-09-05Adaptive ARF factor decisionJingning Han
Re-count the factors to decide bit boost factor for the intermediate layer ARFs. Make the gfu_boost factor assigned to each ARF adapt to its local factors. This and the recursive change 5bfe9eb together improves the multi-layer ARF compression performance: avg_psnr ovr_psnr ssim lowres -0.39% -0.54% -1.6% midres -0.98% -1.26% -2.3% hdres -0.95% -1.13% -2.3% Change-Id: I5fec3ea75cae58825787dc88dadc7e8697a041ea
2018-09-05Recursive rate allocation for multi-layer ARF codingJingning Han
Recursively calculate the rate boost for the ARF frames at the given layer depth from the remaining available bit resource after the prior layer ARFs consumption. Change-Id: I0e31bac4f87b895ca20605dc1307a8fc0d2a516d
2018-09-05Enable adaptive rate allocation for multi-layer ARFsJingning Han
Increase the bit allocation for the intermediate layer ARFs. The current strategy assigns higher offset to the lower layer ARFs. The needed budget is borrowed from the base layer ARF allocation. Change-Id: I16b6e9cce4dab8e73e7b097674d1a8504205026e
2018-09-05Merge "Increase encoder buffer for multi-layer ARFs"Jingning Han
2018-09-05Merge "Structure the multi-layer ARF locations"Jingning Han
2018-09-05Merge "Move partition search ML models to a seperate file"Hui Su
2018-09-04Merge "Assign target bits for multi-layer ARF system"Jingning Han
2018-09-04Move partition search ML models to a seperate fileHui Su
Clean up vp9_encodeframe.c. Change-Id: I4035fee94da746c74d72f71ca8334f91c5d10116
2018-09-04vp9-svc: Fix to first_spatial_to_encode for pattern constraint.Marco Paniconi
Change-Id: I876f69acf9420b3b013cb3048bbfa8ff059e2e50
2018-09-04Increase encoder buffer for multi-layer ARFsJingning Han
When multi-layer ARF mode is enabled, increase the encoder buffer to account for the situation where several ARFs are coded together in a frame packet. Change-Id: I4e53095f6b6ac5a3c8d79414411ac39880bf1523