- Oct 23, 2018
-
-
David Michael Barr authored
-
Luca Barbato authored
Add a generic bound for u8 and u16 and convert `pred_dc`, `pred_dc_128`, `pred_dc_left`, `pred_dc_top`, `pred_h`, `pred_v` and `pred_paeth`.
-
- Oct 22, 2018
-
-
Luca Barbato authored
-
Luca Barbato authored
-
- Sep 24, 2018
-
-
Emmanuel Gil Peyrot authored
-
- Sep 16, 2018
-
-
Luca Barbato authored
-
- Sep 12, 2018
-
-
Frank Bossen authored
* Correctly handle NEAR mode when less than 2 entried in MV stack If there are fewer than 2 entries in the motion vector stack, then the NEAR motion vector is considered to be the same vector as the global motion vector (currently 0,0), as per 7.10.2.12 "Extra search process" in the spec. * Add support for 2nd and 3rd NEAR motion vector * Adaptively select best MV mode
-
- Sep 06, 2018
-
-
Kyle Siefring authored
-
- Sep 05, 2018
-
-
David Michael Barr authored
* CPU feature check for SSSE3. * Measure rdo_cfl_alpha() speed. * Remove redundant loop for 2x speed-up of rdo_cfl_alpha(). * Allow rdo_cfl_alpha() to return None. * Tidy up formatting.
-
- Aug 31, 2018
-
-
Frank Bossen authored
Move MV stack construction out of encoding function such that the value of the nearest MV can be determined before encoding
-
- Aug 28, 2018
-
-
David Michael Barr authored
This yields an ~4x speed-up of this function. Update sameness test with in-range values. Return early for zero alpha. Elide bounds checks from SSSE3 implementation Bounds are enforced in the safe wrapper.
-
- 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 20, 2018
-
-
* 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
-
- 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
-
- Aug 13, 2018
-
-
* Attempt to process 10-bit Y4M input Currently compiles, encodes and decodes with desynchronization * Use high bit depth quantization tables * Move context::clamp() to util.rs * Fix partition context initialization for high bit depth * Enable and test 10-bit input * Add 10- and 12-bit test clips to build.sh Commented out by default, to enable as needed for local testing. * Use the same bit depth as y4m_dec for y4m_enc * Fix benchmark module compilation * Fix high bit depth test encoding in 8-bit * Fix header syntax for 12-bit 4:2:0 input * Enable and test 12-bit input * Reflect 12-bit support in README.md * Keep the default C420jpeg color space in y4m_encoder * Do not allow reconstruction output at high bit depths * Fix reconstruction output at high bit depths * Clean up reconstruction copy to frame buffers
-
- Aug 10, 2018
-
-
This reverts commit 8c545350.
-
- Aug 09, 2018
-
-
* Attempt to process 10-bit Y4M input Currently compiles, encodes and decodes with desynchronization * Use high bit depth quantization tables * Move context::clamp() to util.rs * Fix partition context initialization for high bit depth * Enable and test 10-bit input * Add 10- and 12-bit test clips to build.sh Commented out by default, to enable as needed for local testing. * Use the same bit depth as y4m_dec for y4m_enc * Fix benchmark module compilation * Fix high bit depth test encoding in 8-bit * Fix header syntax for 12-bit 4:2:0 input * Enable and test 12-bit input * Reflect 12-bit support in README.md
-
- Aug 02, 2018
-
-
Frank Bossen authored
* Create proper structure for reference frame buffer Also move reference frame buffer into frame invariants to avoid having to pass an additional parameter to each function requiring access to reference frame buffer. * Add basic inter prediction function Basic inter prediction function copies collocated samples from first frame in reference frame set. * Add mapping from reference frame index to slot in buffer Add array that maps a reference frame index such as LAST_FRAME into a slot of the reference frame buffer * Use GLOBALMV instead of ZEROMV For consistency with text specification * Add support for writing reference frames in inter mode * Add write_inter_mode() for NEWMV and GLOBALMV inter pred modes Also, - Rename ZEROMV prediction mode to GLOBALMV - RDO search include GLOBALMV mode if inter frame - Import CDFs required to encode NEWMV or GLOBALMV modes - Add write_tx_tree() for tx block coding for a inter mode. This function is also for var-tx, but currently only one tx block for a inter mode partition since tx_mode in frame header is set as LARGEST_TX atm. * Fix ref_frame storage and counting * Add basic inter prediction function Basic inter prediction function copies collocated samples from first frame in reference frame set. * Add mapping from reference frame index to slot in buffer Add array that maps a reference frame index such as LAST_FRAME into a slot of the reference frame buffer * Use GLOBALMV instead of ZEROMV For consistency with text specification * Fix entropy coding issues for inter modes * Fix issue with transform type and small blocks
-
This reverts commit a78777c6.
-
* Create proper structure for reference frame buffer Also move reference frame buffer into frame invariants to avoid having to pass an additional parameter to each function requiring access to reference frame buffer. * Add basic inter prediction function Basic inter prediction function copies collocated samples from first frame in reference frame set. * Add mapping from reference frame index to slot in buffer Add array that maps a reference frame index such as LAST_FRAME into a slot of the reference frame buffer * Use GLOBALMV instead of ZEROMV For consistency with text specification * Add support for writing reference frames in inter mode * Add write_inter_mode() for NEWMV and GLOBALMV inter pred modes Also, - Rename ZEROMV prediction mode to GLOBALMV - RDO search include GLOBALMV mode if inter frame - Import CDFs required to encode NEWMV or GLOBALMV modes - Add write_tx_tree() for tx block coding for a inter mode. This function is also for var-tx, but currently only one tx block for a inter mode partition since tx_mode in frame header is set as LARGEST_TX atm. * Fix ref_frame storage and counting * Add basic inter prediction function Basic inter prediction function copies collocated samples from first frame in reference frame set. * Add mapping from reference frame index to slot in buffer Add array that maps a reference frame index such as LAST_FRAME into a slot of the reference frame buffer * Use GLOBALMV instead of ZEROMV For consistency with text specification * Fix entropy coding issues for inter modes
-
Run with --features=comparative_bench Applies to intra prediction tests and disables native function inlining Also refactor benchmarks and reduce code duplication
-
- Jul 31, 2018
-
-
This affects all intra prediction modes in rav1e except DC_PRED.
-
-
- Jul 16, 2018
-
-
- Jul 13, 2018
-
-
Michael Bebenita authored
-
Format.
-
- Jun 30, 2018
-
-
* Restrict transform type RDO to speed levels 0-3 * Restrict prediction mode RDO above low speed levels
-
- Jun 21, 2018
-
-
Raphaël Zumer authored
nopaeth@2018-06-21T09:29:47.514Z -> paeth@2018-06-21T09:28:52.893Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0962 | -0.4074 | -0.3002 | 0.0372 | -0.1525 | -0.0627 | -0.0307
-
Raphaël Zumer authored
* Clean the build on submodule updates * Clean up and refactor RDO functions and data Move RDO decision functions to rdo.rs, extract rd_cost computation function, move some data to appropriate locations. * Remove redundant variable in partitioning decision * Simplify top-down partitioning decision
-
- Jun 20, 2018
-
-
Update the year and add a header to files where it was missing.
-
- Jun 16, 2018
-
-
This also extracts the unsafe top-left pixel access from the native predictor function. smooth@2018-06-15T19:42:21.397Z -> paeth@2018-06-16T00:12:39.612Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -2.2074 | -4.3757 | -5.0621 | -0.9361 | -0.3539 | -0.1071 | -2.5839
-
- Jun 15, 2018
-
-
- Jun 12, 2018
-
-
- Jun 07, 2018
-
-
Yushin Cho authored
The most notable cause was level map always use the old inter mode scan order as default.
-
- Jun 05, 2018
-
-
- Jun 04, 2018
-
-
* Add RDO decision for partitioning master (-s=2) -> current (-s=2) PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -7.4095 | N/A | N/A | -6.8990 | -9.0320 | -8.7738 | -17.4584 master (-s=3) -> current (-s=2) PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -5.1051 | 9.5605 | N/A | -5.1176 | -5.3494 | -5.1293 | 1.4963 master (-s=3) -> current (-s=0) PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -7.7416 | N/A | N/A | -7.1631 | -7.8223 | -7.2918 | 3.6073 * Increase RD cost comparison precision master (-s=3) -> current (-s=0) PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -7.5800 | N/A | N/A | -7.0594 | -7.8593 | -7.3970 | 4.0382 * Avoid creating a new struct for child modes in partition decisions * Add comments in encode_partition()
-
- Jun 01, 2018
-
-
* Add Paeth predictor and tests * Update submodule hash * Fix native Paeth prediction function name in bench
-
- Apr 26, 2018
-
-