This commit enables motion estimation process based on the dynamic
motion vector referencing system. It allows the codec to select
the optimal predicted motion vector for motion vector coding.
Change-Id: Ic2a4d16e17c3fc320b1435d9ff564d5902c89f16
This commit allows the compound mode to use entropy coding contexted
on the dynamic motion vector referencing system.
Change-Id: Ie6f3219183ac3fce322d340728af26c1c1dfa37f
This allows the codec to use effective motion vector as the candidate
to produce the reference motion vector list.
Change-Id: I4e00719f059ad82e5e8a0c843f7f96f59135cefd
The old taps were equivalent to [2 2 3 2 3 2 2], while the new taps are
equivalent to [1 2 3 4 3 2 1]. The new coefficients improve metrics
slightly (not clear why).
ntt-short1 results:
LOW (%) MEDIUM (%) HIGH (%)
PSNR NaN -0.126426 -0.209062
PSNRHVS NaN 0.043873 -0.038114
SSIM NaN -0.054293 -0.138431
FASTSSIM NaN -0.143498 0.245350
Change-Id: Iecadda68a4e9b33a49a807faf0a7dee6c9a119cb
Skip the transform type search in the dynamic motion vector
referencing mode. Always fall back to 2D-DCT setting.
Change-Id: Ia483172e13ce0da313855106a194fee48fcc0514
This commit accounts for the context based probability model for
motion vector cost estimate in rate-distortion optimization.
Change-Id: I18961b25ef356e4751407a178702e9a7a1213100
This commit converts the scalar motion vector probability model
into vector format for entropy coding contexted on the predicted
motion vector.
Change-Id: I09a17ed4d01efa49640c2882efbf78913b32556e
This commit extends the search range to include the motion vectors
from collocated reference blocks.
Change-Id: I1c856ab42c78d7a92cdb8bc169713a9335b0e908
This commit enables entropy coding of the syntax elements used in
the dynamic motion vector referencing system.
Change-Id: If876c7df6402caf4b6daa3d511328da522e95233
This commit enables the dynamic reference motion vector coding mode
for the compound inter blocks.
Change-Id: I3d6edea7cf241cbb108709b57aeb54f811029237
This commit generalizes dynamic reference motion vector coding mode
to support multiple candidate modes in the rate-distortion
optimization scheme and to support the selection in the bit-stream
syntax. The maximum number of modes allowed is currently limited to
4. The syntax elements for the dynamic reference motion vector
modes are using binary codes.
Change-Id: I63ada01c18d4aaa2e3770811130fa8a42a88ab62
This commit enables the dynamice motion vector referencing system
for inter predicted modes with single reference frame.
Change-Id: Ib3502c746276a859a7b443ec2687b71d4c788dc0
Use and compare the reference frame vector to find the reference
motion vector candidates for compound mode.
Change-Id: Ie9d1006f5121593a2311fcaeac411a54a705d266
When the current frame does not have its previous frame for
reference, reset the ZEROMV mode context.
Change-Id: I6018ede03adea76c4c5335e0eb34ab60df0576c7
This commit synchronizes the value assigned to cm->use_prev_frame_mvs.
It resolves a potential mismatch between encoder and decoder.
Change-Id: I2208017db73f8a83cbb50027776db8dc67526b44
Unify the reference motion vector candidate search for row, column,
and single block cases. Make it support later extended reference
frame contexts.
Change-Id: I1278a9f1ed8561eccc8460b4edff4b97d438ad9b
It allows the codec to account for certain corner cases when
processing inter prediction mode entropy coding.
Change-Id: I51a1adda0d9e27bd1e18d912fd56ca4422b607b4
This commit allows the codec to analyze the reference motion vector
candidate list and adaptively reduce the size of inter prediction
mode set.
Change-Id: I98f25bbf17cc844a84cfc568be27912f31fbe478
This commit re-works the entropy coding scheme of the motion
compensated prediction modes. It allows a more flexible hyperplane
partition for precise classification.
Change-Id: Id02d4015a053affea9c19b1188873fbd7b906e92
This commit allows the codec to check the top-right neighbor block
when available for reference motion vector candidates.
Change-Id: I94c19bdb5e2cb8c1f58bd39a3001873fcc55b08c
Check all motion vectors in the immediate above and left blocks if
the boundary condition matched with that of the reference block.
Change-Id: Ie1c263065eded01fbf735c1518de8162cc377e89
This commit ports the motion vector stack from motion field
analyzer to the encoding and decoding pipeline.
Change-Id: I9f265f198b3f7b52dad8948490959041159fd6b2