Add basic support for nonzero motion vectors (#485)
* Add motion vector paramater to inter prediction function Motion vector is read from added data field in Block structure * Add reference frame and motion vector fields/parameters Reference frame and motion vector are added fields to the RDOOutput structure and added parameters to the block encoding function * Fix inter prediction function for nonzero MVs * Add call to encode new motion vector * Import default cdfs for MV coding from libaom * Fix handling of MV precision in MV coding function * Add coding of DRL mode * Add motion vector stack * Add new MV counter to correctly determine context * Use motion vectors in MV stack for prediction * Sort MV stack according to weights Also update weights after near search * Fix log2() function * Compute correct context for DRL flag * Store MVs with 1/8 pel precision and fix MV generation * Add some basic motion estimation Motion estimation is full search (+/-16 pel range in 2-pel increments) and is done independently for each block * Fix chroma motion compensation for small blocks Chroma motion compensation sometimes happens on 2x2 basis
Showing
- src/context.rs 161 additions, 78 deletionssrc/context.rs
- src/encoder.rs 80 additions, 10 deletionssrc/encoder.rs
- src/lib.rs 1 addition, 0 deletionssrc/lib.rs
- src/me.rs 72 additions, 0 deletionssrc/me.rs
- src/partition.rs 25 additions, 12 deletionssrc/partition.rs
- src/predict.rs 1 addition, 0 deletionssrc/predict.rs
- src/rdo.rs 18 additions, 1 deletionsrc/rdo.rs
Loading
Please register or sign in to comment