- Aug 28, 2018
-
-
Luca Barbato authored
-
- Aug 27, 2018
-
-
Move .take() ealier in the chain as suggested by lu-zero
-
Use single loop for all coefficients
-
Speed up probability update function Remove array and compute values on the fly instead
-
Frank Bossen authored
Add reference frame structure to capture YUV data and probabilities of a previously decoded frame. Symbol counts are reset and not carried from one frame to the next. Error resilient mode is disabled to support this feature.
-
-
Frank Bossen authored
Add 1/8th pel motion refinement step but don't enable it by default Currently this feature yields an average loss of about 1 percent BD rate
-
- Aug 25, 2018
-
-
Frank Bossen authored
-
Monty Montgomery authored
Add storage for block-level loop deblocking filter delta adjustments, as well as infrastructure for writing out these parameters. Unused as yet. No funcitonal change to current encoder.
-
Monty Montgomery authored
This patch implements the block-level deblocking filter params set by the frame header.
-
Monty Montgomery authored
As requested by Yushin in 490
-
David Michael Barr authored
-
- Aug 24, 2018
-
-
Search 1/2 pel square, then 1/4 pel square
-
David Michael Barr authored
-
-
Frank Bossen authored
Implement motion compensation interpolation filters since chroma may now require half-sample interpolation
-
Removal suppresses compiler warnings
-
Tristan Matthews authored
-
Frank Bossen authored
Motion estimation code should be about 3x faster. Disassembly of compiled code shows use of SIMD instructions.
-
- Aug 23, 2018
-
-
David Michael Barr authored
* Add the chroma-from-luma predictor and a test * Add benchmarks for CfL predictor * Implement CfL signalling * Plumb from predict_intra to pred_cfl * Add struct for CfL parameters * Compute subsampled luma AC and plumb it with CfL alpha * Plumb CfL parameters up to RDO * Add CfL to RDO loop, no parameter search
-
Frank Bossen authored
* 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
-
- Aug 22, 2018
-
-
-
Monty Montgomery authored
This patch adds basic data structures for tracking loop filter state, as well as being able to encode complete loop filter frame header syntax. No functional change.
-
Monty Montgomery authored
Loop filter needs to know about both block and tx size. Right now, they're implicitly hardwired to the same thing. This patch makes the hardwiring explicit and adds placeholders to allow a full loop filter implementation.
-
-
- Aug 21, 2018
-
-
Because luma_mode == chroma_mode.
-
Luca Barbato authored
-
Luca Barbato authored
-
Limit the intra modes searched for chroma to the colocated luma mode plus the DC mode if different from the first mode
-
Yushin Cho authored
Because the coefficient block coder encode maximum 32x32 (== 1024) coefficients in a block.
-
-
- Aug 20, 2018
-
-
I.e. multiple of 4x4 blocks in AV1.
-
* Implement idct 4x4 in rust. * Add uncommited changes [squashme] * Make some changes based on code review. * More changes. * For code review
-
* Search more intra modes in inter frames Reuse exisiting intra mode lists to determine which intra modes to search in an inter frame * Remove duplicate line
-
There is no need for additional variable specific to chroma since the plane_offset() function already does the proper correction
-
-
-
Chroma distortion was sometimes being computed on inexistant 2x2 blocks
-
- Aug 19, 2018
-
-
On MinGW, the "no_build_target(cfg!(windows))" line unfortunately prevents out/lib/pkgconfig/aom.pc from being created, causing the "// MSVC" code branch to be taken which results in a linker error (-laom not found). Rather than fixing pkg-config, we can pass an absolute path to libaom.a like we already do to aom.lib for MSVC. This has the benefit that rav1e can be compiled with MinGW directly from cmd, where pkg-config usually isn't available. Tested on: * MinGW-Builds 8.1.0 (cmd, msys2 terminal) * Visual Studio 2017 15.8.1 (cmd, msys2 terminal)
-
- Aug 18, 2018
-
-
Use right shift opertator for faster code
-