- 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
-
- Aug 17, 2018
-
-
Make most calls use the non-mutable version
-
Frank Bossen authored
* Refactor RDO loop to avoid code duplication Use same code regardless of whether a loop over chroma modes is needed * Test skip on and off in RDO loop * Don't search transform type when skipping * Don't try to skip when using intra modes * Fix issues with speed 0 and speed 1 Handling of < 8x8 was incorrect in CDEF and in reset_skip_context() * Use dense sampling for chroma components in above_coeff_context and left_coeff_context
-
- Aug 16, 2018
-
-
* WIP motion vector reference search * More searches * Have a version that compiles * Actually call MV prediction function Fix a few bugs along the way * Add computation of context for inter mode * Have find_mvrefs return a mode_context value and use it * Test but never select intra mode in inter frame * Fixes to context derivation for inter mode Some success with mixing intra and inter in a same frame but still buggy * Fixes to find MV references functions Can encode/decode 20 frames at speed 4, but not at slower speed settings * Fix MV scan Now intra/inter mixing works for all speed settings * Fix issues that arose from rebase * Remove lines that should not have been added * Remove superfluous empty lines * Supress compiler warnings * A few cosmetic improvements
-
Thomas Daede authored
-
- Aug 15, 2018
-
-
-
AWCY Result for subset1 at --speed=1 master_s1@2018-08-14T20:42:35.057Z -> fix_topdown_rdo_mode_update_s1@2018-08-15T20:06:31.213Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.1532 | -0.2611 | N/A | -0.1801 | -0.1267 | -0.1137 | -0.2634
-
Fix test script section name
-
* Add basic AppVeyor configuration * Update appveyor.yml Remove benchmark run
-
gibix authored
-
-
- Aug 14, 2018
-
-
-
-
-
Luca Barbato authored
-
Luca Barbato authored
-
Luca Barbato authored
Make the library code not depend to the y4m crate.
-
Luca Barbato authored
-
Luca Barbato authored
-
* Handle profiles and chroma sampling in sequence header * Move y4m::Colorspace to ChromaSampling mapping to rav1e.rs
-