Age | Commit message (Collapse) | Author |
|
|
|
* changes:
Move feature_score into an independent for loop
Add set_mv_limits()
Move lambda into TplDepFrame
|
|
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
|
|
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
|
|
|
|
We aim at change the mv search order according to feature_score
This is part of the change.
Change-Id: I67700eba014df92190eabc78060cf29adf0fc38b
|
|
Change-Id: I9e8f8ed3eb150b3af1f465f595000bd05d43f3f6
|
|
Set up the unit scaling factor used during motion search.
Change-Id: I6fda018d593b7ad4b7658d44c39be950a502d192
|
|
Change-Id: Id93565cca41e00d4ab5de4c6de30accabf2adc52
|
|
|
|
|
|
|
|
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
|
|
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
|
|
|
|
|
|
Coding loss:
lowres 0.08%; midres 0.11%; hdres 0.07%
Average encoding speedup is about 6%.
Change-Id: I950291cf0f1d610bcdedeb150bcbefea2f5579bc
|
|
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
|
|
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
|
|
|
|
|
|
Remove unused functions and macros.
Change-Id: I46458a60f75637c66af0e18ad876a2634e5818bb
|
|
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
|
|
* changes:
Add mv_dist/mv_cost to TplDepStats
Change interface of motion_compensated_prediction
Separate lambda from nb_mvs_inconsistency()
|
|
|
|
Change-Id: Ied460b6ff53a58050d53dec8d32b627de5de3f3a
|
|
|
|
|
|
|
|
|
|
Report the correct filename in error message.
Explicitly assign floating point value to double type.
Change-Id: I42fd2da6e16b1e3e7ec221d5d562a728a93c0196
|
|
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
|
|
The end-to-end reconstruction quality is represented only by the
displayable frames. Drop the coding stats from ARF frames.
Change-Id: Ib8241db448611f4b6477f107930eaa273f960e20
|
|
Fix compiler error and make the encoder properly log the psnr and
ssim.
Change-Id: I7b35541131acaa60117bb1e458508b82a4b4677e
|
|
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
|
|
|
|
|
|
|
|
* 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
|
|
Change-Id: Iacce1f88630ba93ff72d745a83dd4b853b6b61af
|
|
Change-Id: I66b35ef76c229d4eb3bf3c913619a0e219c4c2f9
|
|
Change the interface of vp9_full_pixel_diamond_new
Change-Id: Ic9ed6ed61c5178f3f445f40860ebaac7ea17f75d
|
|
Change-Id: Ie5818689233ae01742ca595e2c8c3f3664bb426c
|
|
Change-Id: I6d0c8a1a61d861aa0353cde76a833c7c0b222279
|
|
As we move to unify the GOP structure layout control, the variable
arf_update_idx and arf_ref_idx are deprecated.
Change-Id: Iadcb9e6033d419d4b2015fe747c23be59a7da787
|
|
|
|
|
|
|
|
|
|
|