summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-04vp9-svc: Fix to first_spatial_to_encode for pattern constraint.Marco Paniconi
Change-Id: I876f69acf9420b3b013cb3048bbfa8ff059e2e50
2018-09-04Merge "ML based rectangular partition search pruning"Hui Su
2018-09-04Merge "Properly update the raw_src_frame for psnr calculation"Jingning Han
2018-09-04Merge "Build arf index stack"Jingning Han
2018-09-04Merge "vp9-svc: Add bypass flag to constrain inter_layer."Marco Paniconi
2018-09-03vp9-svc: Add bypass flag to constrain inter_layer.Marco Paniconi
The additional constraint imposed on inter-layer prediction should only be done for non-bypass (fixed) svc mode. Change-Id: Ia22cdb7bc21684776c9a13397e177a1e1c3d55a2
2018-09-02vp9-svc: Fix condition for pattern constraintsMarco Paniconi
For fixed/non-flexible SVC mode: on non-key spatial enhancement layers modify constraint on the inter-layer prediction to include the first_spatial_layer_to_encode. Change-Id: I6a59174976ad72d555653704dcd3b03c52e31b6f
2018-09-01Properly update the raw_src_frame for psnr calculationJingning Han
Update the raw_src_frame to be the current input source frame in the show_existing_frame mode. Change-Id: Ia8edf49ca948c45ffe6c60556756b36124ab092a
2018-08-31Build arf index stackJingning Han
Stack the ARF frame indexes. Use the most recent one as the ARF reference frame for frame coding. Change-Id: I88a2202fa5deb2587d861b434d27ab8de0642cf7
2018-08-31vp9-svc: Add first_spatial_layer_to_encode per superframeMarco Paniconi
VP9E_SET_SVC_LAYER_ID sets the first spatial layer to encoder per superframe, so add this parameter to svc encoder. This is needed, for example, to properly set is_key_frame for spatial layers when base spatial layer is skipped encoded. Change-Id: Ifd4ac77f539197ec021e62f4c624a6cc79d64f43
2018-08-31ML based rectangular partition search pruningHui Su
Add a ML model to predict if rectangular partition search can be skipped without much coding loss. This model is enabled for speed 0 low bitdepth only. Impact on coding performance is minor: avg_psnr ovr_psnr ssim lowres -0.005% 0.005% 0.017% midres 0.100% 0.114% 0.134% hdres 0.048% 0.083% 0.074% jvet480p 0.035% 0.027% 0.044% jvet720p 0.094% 0.090% 0.174% Tested encoding speed over 20 midres and hdres clips, average speed gain is about 8%; maximum speed gain is 23%. Change-Id: I5d4029dec7134c53ac68ab6cf0c8077dc0b767ed
2018-08-31Merge "Fix arf_src_offset calculation"Jingning Han
2018-08-31Merge "Set minimum frame size to be 1 byte"Jingning Han
2018-08-31Merge "Prepare multi-layer ARF coding structure"Jingning Han
2018-08-31Merge "Build up multi-layer ARF processing order"Jingning Han
2018-08-31Merge "Add element stack operations for arf index control"Jingning Han
2018-08-31Fix arf_src_offset calculationJingning Han
The offset should be computed with respect to the current coding process standing. Change-Id: I63fc303eb062d5fd68b8d1faa3b4172cdfcce168
2018-08-31Set minimum frame size to be 1 byteJingning Han
The show_existing_frame mode still needs to be sent to the decoder. Account for this as 1 byte. This would make the encoder properly update its state. Change-Id: I32a59ccb5d0e02cc6367c1a264b2de72dc1432a7
2018-08-31Prepare multi-layer ARF coding structureJingning Han
Build the frame processing order and type queue for multi-layer ARF coding structure. Change-Id: I5e14c60279020dc65a883d2997ca1ca9ce739488
2018-08-31Build up multi-layer ARF processing orderJingning Han
Use DFS to build the multi-layer ARF processing order. Change-Id: Iba4b20476eb5c8a3db49a24b2b0dec325fade65b
2018-08-31Add element stack operations for arf index controlJingning Han
Support arf index stack operation. Change-Id: Ifcf521ffc95a520344824ffc159883b71e8fc7a0
2018-08-31Merge "cosmetics,lf threading: normalize struct member names"James Zern
2018-08-30silence c++ abi warningJohann
Linking c++ libraries built with gcc 6 and gcc 7 on arm generates some warnings because of incompatibilities between those compilers: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728 libvpx does not generate a c++ library. C++ is only used for examples and tests. Change-Id: I3d5d5ef3fb66743bff26a833d6641898975e9f71
2018-08-30vp9: Fix rate control stats for bypass mode in sample encoderMarco Paniconi
Allow rate control stats to work for bypass mode in vp9_spatial_svc_encoder.c Change-Id: I66764a006a73b1fd13c07b4fc4e0c88b2bb2a035
2018-08-30Revert "Loopfilter MultiThread Optimization"James Zern
This reverts commit dafe064289a917977439ab6f4f002b9946496084. Corrupted files may cause the decoder to hang as row progress in the loopfilter is used to progress each thread. BUG=webm:1558 Change-Id: I0674ce9af14d3fb7b2da8124e7b600616c8e734a
2018-08-29Merge "rtcd: fix --required flag"Johann Koenig
2018-08-29rtcd: fix --required flagJohann
Always parse --required options. Previously they were only parsed for x86_64. Make entries passed in additive if there are existing required flags. Mark 'neon' as required for armv8/aarch64. BUG=chromium:876548 Change-Id: I55c6aad4536a9d8423e223e5616f3aa26d6b2941
2018-08-29Merge "Skip unnecessary motion search"Hui Su
2018-08-28Skip unnecessary motion searchHui Su
If a ref frame is masked out, we do not need to do motion search for it. It makes speed 0 a little faster. Change-Id: I68f71255b2798b24fd1d5b28ed24a2ef87251413
2018-08-28Merge "vp9: Fix ref frame update in denoiser in bypass mode."Jerome Jiang
2018-08-28Merge "Revert "Prevent double application of min rate in two pass.""Hui Su
2018-08-27Rework enc/dec mismatch detectionJingning Han
The previous enc/dec mismatch detection assumes the previously reconstructed frame would always stay at frame buffer pool index at 0. It could hence cause certain delay in enc/dec mismatch detection when the immediate reconstruction frame is not yet propagated to index 0 in the buffer map pool. This change always keeps the latest decoded show frame buffer index and directly gets the reconstructed frame from encoder and decoder buffer pools to check for mismatch. Change-Id: If53092cbc42ab78d55af5b83f12a489fc362f3ae
2018-08-27vp9: Fix ref frame update in denoiser in bypass mode.Jerome Jiang
BUG=b/112292577 Change-Id: I8fc5711e44d0317e299aa49f781e9c438bba9d82
2018-08-27vp9-svc: Change default pattern for bypass modeMarco Paniconi
For sample encoder: keep default pattern for bypass mode to example#0. Change-Id: Icddc4600d750a23a44b26517a327b546fd8eb412
2018-08-27Merge "SVC: extend api to specify temporal id for each spatial layers."Jerome Jiang
2018-08-23Merge "Rework the ref_frame_skip_mask feature in RDO"Hui Su
2018-08-23Revert "Prevent double application of min rate in two pass."Hui Su
This reverts commit 416b7051d7f610ed6d62dff18af7776ec520fd9c. Reason for revert: it causes visual quality drop as described in b/112953058. Original change's description: > Prevent double application of min rate in two pass. > > The initial allocation of bits in the two pass code to each frame > should be within the min max limits on the command line. However, > when forming an ARF group the cost of the ARF is shared by frames > in that group such that the residual bits for a frame could drop below > the min value. This change prevents the minimum being re-applied > after the cost of the ARF has been deducted as this may otherwise > cause low rate sections to overshoot their target. > > Test runs comparing to a baseline run with min and max section pct > 0-2000% vs one closer to the YT use case (50-150%) suggest that > this fix not only results in better rate control but also gives a better > rd outcome. > > For example the HD set vs 0-2000% baseline (opsnr, ssim). > Old code (50-150): +0.751, +1.099 > New code(50-150): +0.241, -0.009 > > Change-Id: I715da7b130bf53ba8aa609532aa9e18b84f5e2ef TBR=yaowu@google.com,paulwilkins@google.com,debargha@google.com,builds@webmproject.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Ic9849e4e0db64e9d92bbb9df9cc923230a15c4df
2018-08-23Merge "Sync prev_frame/last_show_frame update with decoder"Jingning Han
2018-08-23Merge "Skip update prev_mi frame in show_existing_frame mode"Jingning Han
2018-08-23Merge "Refactor encoder frame count update"Jingning Han
2018-08-22Sync prev_frame/last_show_frame update with decoderJingning Han
Make the encoder side handling of prev_frame and last_show_frame update synchronized with the decoder behavior. Change-Id: I0f265391cba182d7cc266a1c327fe6b92e24ab17
2018-08-22Skip update prev_mi frame in show_existing_frame modeJingning Han
When the current frame is coded by directly using a reference frame in buffer, no need to update the prev_mi frame information for next frame encoding control. Change-Id: I33fda8e70cdb31eb5b13b63e3dbd6e96ff85154d
2018-08-22Refactor encoder frame count updateJingning Han
This refactoring allows the encoder to skip frame count update in the show_existing_frame mode. Change-Id: Id69707976ccdad144cba93a8f5d36b6947611f91
2018-08-22Merge "Revert "vp8: Fix memory address overflow in decoder.""Jerome Jiang
2018-08-22Rework the ref_frame_skip_mask feature in RDOHui Su
Previously we often skip all compound inter prediction modes, causing large coding loss. This patch modifies how we set the ref_frame_skip_mask so that compound modes are considered in RDO. This affects speed>=1. Coding gains(overall psnr): lowres midres hdres average speed 1 0.54% 0.43% 0.64% 0.53% speed 2 0.59% 0.48% 0.60% 0.56% Tested encoding speed on 10 HD sequences, average speed loss is 5% for speed 1; 2% for speed 2. Change-Id: Ib8758af7ee7c9812022bd21c5fe61631e2bb8e5c
2018-08-22Revert "vp8: Fix memory address overflow in decoder."Jerome Jiang
This reverts commit 45cf384738ad261de7d00769c19b9b2842af06a7. BUG=875626,875680,webm:1496 Change-Id: I78037b5e57dbf6cfe326b29beaad1128868f09f2
2018-08-22Set refresh_frame_context flag off in show_existing_frame modeJingning Han
Match the decoder expectation, set off refresh_fame_context flag in show_existing_frame mode. Change-Id: I5258635b715ea04f41a4a087178709f707449b71
2018-08-21Drop empty line in vp9_get_compressed_data()Jingning Han
Change-Id: Iadb043128e0f813c75cc726e5a41ce94b9d1de24
2018-08-22Merge "Allow codec to skip temporal filter for intermediate ARFs"Jingning Han
2018-08-22Merge "Control reference frame refresh flags for USE_BUF_FRAME"Jingning Han