Age | Commit message (Collapse) | Author |
|
Change-Id: I43fd61f7946a8a96d444dab5e94a9b01483ffab7
|
|
|
|
Move it to deeper stages where all the encoder configurations have
been set. This avoids the encoding failure when the buffer is
allocated before the encoder is fully configured.
Change-Id: I6723966fd2c7c36fbab9a92d1f3bd59c83ed95f0
|
|
Placeholder to support adaptive quantizer for PSNR and SSIM coding
quality improvement.
Change-Id: Id967c9914bb1d72a6f480ef1ba9d6650914dd658
|
|
We plan to compute mv field in different scale.
Change-Id: I49a92d948f8b5dbab78e38c61f5f4f879bbe269f
|
|
BUG=webm:1444
Change-Id: I6823635eb1a99c3fcca0a8f091878e3ab2fdd2ac
|
|
We start mv search from the block with highest feature score, then
move on to the block's neighbors with with an searching order using
their feature scores.
We use max heap to help us achieve the functionality.
This feature is under flag USE_PQSORT
Change-Id: Ie5dc5ea715b0f9a7a594e5080a7cb4f5309f5597
|
|
This CL is for facilitating the upcoming change,
a variant implementation of change mv search order according to
feature score
Change-Id: Ie6024b1a5ec02343aea6aa81fc14f94e2e515d06
|
|
Sort the feature_score in descending order.
Do mv search from the block with higher score to the block with
lower score
Change-Id: I47a87cd66ea3e40d8c8fc55a7517ab8aa10fdb94
|
|
|
|
Add an encoder side reference frame buffer pool to store the
reference frames for tpl model. This servces as an intermediate
step to support multi-layer ARF system. The buffer memory size will
be optimized afterwards.
Change-Id: If2d2f095d4911a4996f6c2a0b0a8e3d235ceadb2
|
|
Generalize the tpl model framework to support the newly designed
GOP structure system. The existing tpl model assumes single layer
ARF.
This design will separate the tpl model operation for GOP with
and without ARF cases. When a GOP has ARF, the maximum lookahead
offset would upper limit the needed frame buffer to build the
tpl model for the entire GOP. When a GOP does not have ARF, we
would use the temporal model in a different approach.
The first step will focus on GOP with ARF. All the tpl model related
operation will only be triggered by ARF frame generation.
Change-Id: I13ab03a7bc68f5a4f6b03f2cb01c10befe955e73
|
|
Change-Id: I61447b7a21ac5b03f2a6accd6e433d8f9369e508
|
|
* changes:
Move feature_score into an independent for loop
Add set_mv_limits()
Move lambda into TplDepFrame
|
|
Set up the unit scaling factor used during motion search.
Change-Id: I6fda018d593b7ad4b7658d44c39be950a502d192
|
|
Change-Id: Id93565cca41e00d4ab5de4c6de30accabf2adc52
|
|
The last element of the cpi->scaled_ref_idx array was not used, so
reduce the array size by 1.
The corresponding libaom CL is
https://aomedia-review.googlesource.com/c/aom/+/72445.
Change-Id: I9166f0fbe1a7898c8b611b1535fcc74b4f766997
|
|
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
|
|
Change-Id: Iacce1f88630ba93ff72d745a83dd4b853b6b61af
|
|
Change-Id: I66b35ef76c229d4eb3bf3c913619a0e219c4c2f9
|
|
The function is called in motion_compensated_prediction when
CONFIG_NON_GREEDY_MV is on.
The parameter lambda is used to adjust the importance of
mv consistency between neighbor blocks.
The lambda value is set to a random value for now, and still needs
to be tuned.
Change-Id: I918eb36a686eaa56b4009058f5f329e90c75870b
|
|
* changes:
Add feature score for each block
Correct mv rows/cols bug in read_frame_dpl_stats
|
|
The feature score is used to indicate whether a block's mv is reliable
or not.
Now we use Harris Corner Detector method to compute the score.
Change-Id: Ibbe7a1c1f3391d0bf4b03307eaabb5cc3cfb1360
|
|
Update the frame index counting from key frame offset for all
the processed frames at the encoder. This would allow encoder to
automatically decide frame sign bias next.
Change-Id: Ibbdc2a29b7245be27422272e1fb539596eed63d1
|
|
|
|
Delete flag and associated code.
Change-Id: I899d258a4cd7b84de9136ccfa27cf8a50108b130
|
|
Remove deprecated multi_arf_enabled flag and associated code.
Change-Id: I73f06362a10faa5b3bd91a78eedb201a96434f18
|
|
Removes deprecated multi_arf_allowed variable and dependent code.
Change-Id: Ic1cf341f807c38207e728c48a4c4442387db93ff
|
|
use the recommended format [1] of:
<PROJECT>_<PATH>_<FILE>_H_
[1] https://google.github.io/styleguide/cppguide.html#The__define_Guard
"All header files should have #define guards to prevent multiple
inclusion. The format of the symbol name should be
<PROJECT>_<PATH>_<FILE>_H_."
Change-Id: I2e8ab0b32fb23c30fa43cff5fec12d043c0d2037
|
|
Change-Id: I853e0925d29becb9c1f84e5c00d84649fb070a07
|
|
Removal of rate control structure elements related to Zoe's
deprecated multi laryer ARF work.
Change-Id: I5070657f91df7bd3f9137cf74016f737313417c8
|
|
Removed VP9_COMP element that is no longer used.
Change-Id: I2b3e1e16244074e3510c1467b0e7532213c4ae05
|
|
These information will help with making better mv search decision
Add functionality to dump tpl_stats for offline analysis
Change-Id: Ic2ec34368499c9bccb4d1f21a12b66453847fcf2
|
|
Stack the ARF frame indexes. Use the most recent one as the ARF
reference frame for frame coding.
Change-Id: I88a2202fa5deb2587d861b434d27ab8de0642cf7
|
|
Support arf index stack operation.
Change-Id: Ifcf521ffc95a520344824ffc159883b71e8fc7a0
|
|
This flag will control the use of multiple layer arf + show
existing frames.
Change-Id: Ic6b9e8e67b2db7d32706bdf0a14663a39f57295f
|
|
The default is set to turn on the temporal dependency model at
speed 0. Use --enable-tpl to control turning it on/off when calling
vpxenc.
Change-Id: I61614cd8100ae57dc01fd46b2a69c5b67287f18a
|
|
Add frame pointer to re-use spare frames to store the reconstructed
frames.
Change-Id: I870aa048fc9b7d8b356aa73df3a92b4670425f95
|
|
Change-Id: I3bdd44e65b56c7600b9faadd2c117138c3911c14
|
|
Assign the estimate frame quantization parameter in the tpl_frame
data structure.
Change-Id: I6149bdb1e15dbdae348f06ff61bf814004462232
|
|
Increase the temporal dependency model operating block size from
8x8 to 32x32.
Change-Id: I26b13493fe957d67c8646575370e651584b56ea5
|
|
Change-Id: I23559110bae8fa2328fe9bdb6672c7b1da84e17f
|
|
Adapt the Lagrangian multipler based on the spatial variance in
the temporal dependency model. The functionality is disabled by
default. To turn on, set enable_tpl_model to 1.
Change-Id: I1b50606d9e2c8eb9c790c49eacc12c00d3d7c211
|
|
Previous CLs have implemented the construction of the hierarchical
structure at the encoder side. This CL is to define and configure the
according flags that will guide the reference frame update according to
the constructed hierarchical structure.
Change-Id: Iae55f2400f7c7beff41feff9308f87bfc70c7b21
|
|
This CL is to hook up the implemented hierarchical structure
construction as well as its corresponding bitrate allocation
functionality with the defining of a GF group.
Currently the hierarchical structure is off by default. Hence this CL
has no impact on coding performance.
Change-Id: I9e1ddfd877559e99072c23970f7fe103b64ed9ee
|
|
|
|
Change-Id: I06fc4b0ad5a45c49e10a9601a2356fbc6e93d6da
|
|
This commit builds up the temporal prediction dependency propagation
within the group of pictures.
Change-Id: Id04cfc0323e6a5c4ac4a570d53e20d1229b3ee11
|
|
Add block and frame level data structures to support frame
dependent mode decision.
Change-Id: I996fc84155fcba8e2ec2a114bb0799d6aa5539dd
|
|
This commit replace a hard coded macro with a macro defined by
a configure command.
Change-Id: Ib31354d61865314ed43e2c429c72b4ef2c8fa2a7
|