summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-12Turn on ml_var_partition_pruning for HBDHui Su
This affects speed 0 and 1 only. Tested on lowres_bd10(480p) and midres_bd10(720p), speed 0 speed 1 coding loss: 0.07% 0.10% encoder speedup: 14% 6.5% Change-Id: I5812400d8c7393321b7284d3fca06026842390b5
2018-10-10Merge "subpel asm: fix whitespace"James Zern
2018-10-10Merge "Use 4-tap interp filter in speed 1 sub-pel motion search"Yunqing Wang
2018-10-10subpel asm: fix whitespaceJohann
Change-Id: I7a3314a268cf6049a7260361043e76d4561085c6
2018-10-09Merge changes I67700eba,I9e8f8ed3,Id93565ccAngie Chiang
* changes: Move feature_score into an independent for loop Add set_mv_limits() Move lambda into TplDepFrame
2018-10-09Use 4-tap interp filter in speed 1 sub-pel motion searchYunqing Wang
Added the 4-tap interp filter, and used it for speed 1 sub-pel motion search. Speed 2 motion search still used bilinear filter as before. Speed 1 borg test showed good bit savings. avg_psnr: ovr_psnr: ssim: lowres: -1.125 -1.179 -1.021 midres: -0.717 -0.710 -0.543 hdres: -0.357 -0.370 -0.342 Speed test at speed 1 showed ~10% encoder time increase, which was partially because of no SIMD version of 4-tap filter. Change-Id: Ic9b48cdc6a964538c20144108526682d64348301
2018-10-09Add accurate sub-pel motion searchYunqing Wang
Added the accurate sub-pel motion search. In this patch, used the 8-tap filter in sub-pel motion search, and this was enabled at speed 0. Speed 0 borg test showed that avg_psnr: ovr_psnr: ssim: lowres: -1.363 -1.403 -1.282 midres: -0.842 -0.849 -0.720 hdres: -0.480 -0.488 -0.503 Speed test at speed 0 showed ~8% encoder time increase. Change-Id: I194ca709681ea588f3f6381093940e22d03c4d7b
2018-10-09Merge "Set up the unit scaling factor for motion search"Yunqing Wang
2018-10-08Move feature_score into an independent for loopAngie Chiang
We aim at change the mv search order according to feature_score This is part of the change. Change-Id: I67700eba014df92190eabc78060cf29adf0fc38b
2018-10-08Add set_mv_limits()Angie Chiang
Change-Id: I9e8f8ed3eb150b3af1f465f595000bd05d43f3f6
2018-10-08Set up the unit scaling factor for motion searchYunqing Wang
Set up the unit scaling factor used during motion search. Change-Id: I6fda018d593b7ad4b7658d44c39be950a502d192
2018-10-08Move lambda into TplDepFrameAngie Chiang
Change-Id: Id93565cca41e00d4ab5de4c6de30accabf2adc52
2018-10-08Merge "Avoid null checks related to pool->frame_bufs."Wan-Teh Chang
2018-10-08Merge "Correct a for loop in init_ref_frame_bufs."Wan-Teh Chang
2018-10-08Merge "Turn on ml_var_partition_pruning for speed 1"Hui Su
2018-10-08Correct a for loop in init_ref_frame_bufs.Wan-Teh Chang
The cm->ref_frame_map and pool->frame_bufs arrays are of different sizes (REF_FRAMES and FRAME_BUFFERS, respectively), so init_ref_frame_bufs() cannot iterate over these two arrays using the same for loop. Change-Id: Ica5bbd9d0c30ea3d089ad2d4bcf6cd8ae2daea64
2018-10-08Avoid null checks related to pool->frame_bufs.Wan-Teh Chang
It seems that null pointer checks such as the following may make clang scan-build think pool->frame_bufs may be a null pointer: buf = (buf_idx != INVALID_IDX) ? &pool->frame_bufs[buf_idx] : NULL; if (buf != NULL) { This "misinformation" may make scan-build warn about the ref_cnt_fb() function's use of its 'bufs' argument (Dereference of null pointer) when we pass pool->frame_bufs to ref_cnt_fb(). Rewriting the above code as: if (buf_idx != INVALID_IDX) { buf = &pool->frame_bufs[buf_idx]; not only is clearer but also avoids confusing scan-build. Change-Id: Ia64858dbd7ff89f74ba1a4fc9239b0c4413592c8
2018-10-08Merge "Changes to facilitate accurate sub-pel motion search"Yunqing Wang
2018-10-06Merge "Fix bug in prepare_nb_full_mvs"Angie Chiang
2018-10-05Turn on ml_var_partition_pruning for speed 1Hui Su
Coding loss: lowres 0.08%; midres 0.11%; hdres 0.07% Average encoding speedup is about 6%. Change-Id: I950291cf0f1d610bcdedeb150bcbefea2f5579bc
2018-10-05Changes to facilitate accurate sub-pel motion searchYunqing Wang
This patch included changes to facilitate accurate sub-pel motion search. More patch will follow to turn on accurate sub-pel motion search. Change-Id: I224c28c338353fe5c7609372162f79885c54248f
2018-10-04Fix bug in prepare_nb_full_mvsAngie Chiang
Previously, the prepare_nb_full_mvs might construct nb_full_mv with wrong mvs (from other ref frame). The following changes will fix the bug. 1) Let ready in TplDepStats becomes int array 2) Add parameter rf_idx 3) Use mv_arr instead of mv to build the nb_full_mv Change-Id: I199798aec4c6762d54799562e142457cc26ee043
2018-10-04Merge "Clean up vp9_firstpass.h"Jingning Han
2018-10-04Merge "Add mv_{dist/cost}_sum to TplDepFrame"Angie Chiang
2018-10-03Clean up vp9_firstpass.hJingning Han
Remove unused functions and macros. Change-Id: I46458a60f75637c66af0e18ad876a2634e5818bb
2018-10-03vp8: Increase rate threshold for overshoot-dropMarco Paniconi
Increase the rate threshold for the dropping when overshoot is detected during encoding. This helps to prevent some unneccessary drops for hard content. Change-Id: I258bf33883d46347efd44e1e192cb25c444d05fe
2018-10-03Merge changes I66b35ef7,Ic9ed6ed6,Ie5818689Angie Chiang
* changes: Add mv_dist/mv_cost to TplDepStats Change interface of motion_compensated_prediction Separate lambda from nb_mvs_inconsistency()
2018-10-03Merge "Change the frame used to set up encoder in tests to 0."Chi Yo Tsai
2018-10-02Change the frame used to set up encoder in tests to 0.chiyotsai
Change-Id: Ied460b6ff53a58050d53dec8d32b627de5de3f3a
2018-10-02Merge "Minor clean-up in tiny_ssim.c"Jingning Han
2018-10-02Merge "Force even arf group length where possible."Jingning Han
2018-10-02Merge "Keep metric log only for the displayable frames"Jingning Han
2018-10-02Merge "Fix vpxenc per frame psnr and ssim print"Jingning Han
2018-10-02Minor clean-up in tiny_ssim.cJingning Han
Report the correct filename in error message. Explicitly assign floating point value to double type. Change-Id: I42fd2da6e16b1e3e7ec221d5d562a728a93c0196
2018-10-02Force even arf group length where possible.Paul Wilkins
This patch tweaks the calculation of the active maximum GF interval and also the break out clause for the GF interval loop. The changes force the maximum and where possible the break out value to be odd which in turn will result in an even length ARF group if ARF coding is selected (vs GF only coding). The primary aim was to improve coding with multi layer arf groups. For the single layer case there are small net gains in 3 out of 4 sets (low,md, hd) and a small net drop for the NF2K set. For multi-layer the gains (opsnr, ssim, psnr-hvs : -ve = better) were:- Low res: -0.109, -0.038, -0.036 Mid res: -0.204, -0.171, -0.242 Hd res: -0.330, -0.471, -0.496 NF 2k: -0.165, -0.149, -0.157 Change-Id: I245f8561f5d1bd34312a0133c670c2154a0da23f
2018-10-01Keep metric log only for the displayable framesJingning Han
The end-to-end reconstruction quality is represented only by the displayable frames. Drop the coding stats from ARF frames. Change-Id: Ib8241db448611f4b6477f107930eaa273f960e20
2018-10-01Fix vpxenc per frame psnr and ssim printJingning Han
Fix compiler error and make the encoder properly log the psnr and ssim. Change-Id: I7b35541131acaa60117bb1e458508b82a4b4677e
2018-10-01Introduce the ml_var_partition_pruning featureHui Su
Add the ml_var_partition_pruning encoder speed feature that uses a neural net model to prune partition-none and partition-split search. The model uses prediction residue variance and quantization step size as input features. Encoding speed gain for speed 0(tested over 20 hdres clips): QP=30 QP=40 average 17.7% 18.3% max 24.46% 26.6% Coding loss: lowres 0.071%; midres 0.098%; hdres 0.163% Currently it is enabled for speed 0 low-bit depth only. It needs to be tuned for other settings. Change-Id: Ifb7417daa6bb6e7c97bb676269ce54ab0dc7b8c8
2018-09-29Merge "Remove deprecated get_arf_buffer_indices()"Jingning Han
2018-09-29Merge "Remove deprecated arf_update_index from GF_GROUP"Jingning Han
2018-09-29Merge "Add ml_var_partition experiment"Hui Su
2018-09-28Merge changes I93308a09,If85c36b4,I918eb36aAngie Chiang
* changes: Add vpx_clear_system_state to new mv search func Change mv color to red Call vp9_full_pixel_diamond_new in tpl mv search
2018-09-28Add mv_{dist/cost}_sum to TplDepFrameAngie Chiang
Change-Id: Iacce1f88630ba93ff72d745a83dd4b853b6b61af
2018-09-28Add mv_dist/mv_cost to TplDepStatsAngie Chiang
Change-Id: I66b35ef76c229d4eb3bf3c913619a0e219c4c2f9
2018-09-28Change interface of motion_compensated_predictionAngie Chiang
Change the interface of vp9_full_pixel_diamond_new Change-Id: Ic9ed6ed61c5178f3f445f40860ebaac7ea17f75d
2018-09-28Separate lambda from nb_mvs_inconsistency()Angie Chiang
Change-Id: Ie5818689233ae01742ca595e2c8c3f3664bb426c
2018-09-28Remove deprecated get_arf_buffer_indices()Jingning Han
Change-Id: I6d0c8a1a61d861aa0353cde76a833c7c0b222279
2018-09-28Remove deprecated arf_update_index from GF_GROUPJingning Han
As we move to unify the GOP structure layout control, the variable arf_update_idx and arf_ref_idx are deprecated. Change-Id: Iadcb9e6033d419d4b2015fe747c23be59a7da787
2018-09-28Merge "Fix minor bug in calculation of max arf group length."Jingning Han
2018-09-28Merge "Adjustment of GOP intra factor for multi-layer."Jingning Han