|
![](/images/spacer.gif) |
![](/images/spacer.gif) |
![](/images/spacer.gif) |
Changelog for kvazaar-2.2.0-150400.1.pm.3.x86_64.rpm :
* Wed Jan 04 2023 Luigi Baldoni - Update to version 2.2.0 Features: * Updated Region of Interest (ROI) functionality to allow separate ROI map for each frame * Improve inter search * Update cabac context during search to improve the accuracy of bit cost estimation * Move intra chroma search option from --rd 3 to its own option --(no-)intra-chroma-search and fast bipred to - -(no-)fast-bipred * Change maximum rd level to 4, where 3 performs more rd search for inter and 4 performs full intra search * Add --(no-)combine-intra-cus for controlling whether the larger intra blocks are tried even when search at current depth is disabled * Add --force-inter for debugging purposes to force all PUs in inter slices to use best inter mode Optimizations: * AVX2 implementations of bidirectional blending Fixes: * Make sure the dpb is more than max_num_reorder_pics 899c672 * Compute proper count of buffered frames for vps and sps. Use common function d4880be * Fix some strategy function pointer signatures a400504 External contributors: * build: fix automake warning by AATTbradh * cli: add missing newlines in usage by AATTbradh * refactor SEI by AATTbradh * cli: minor api doc fix by AATTbradh * add sudo ldconfig by AATTbinbinzhm * Enable -mpopcnt and -mlzcnt on AVX2 by AATTklondi- Bump sover to 7 * Wed Oct 13 2021 Luigi Baldoni - Update to version 2.1.0 * With this release, the license was changed from LGPL2.1 to 3-Clause BSD, allowing more liberties in using Kvazaar. Features: * Option to use a custom table for fast bitrate estimation weights (--fast-coeff-table ) * Tools to create new weight sets for fast bitrate estimation (--fast-rd-sampling, --fastrd-accuracy-check, - -fastrd-outdir), documented in rdcost-weight-tool/README.txt * Added support for Y4M input in addition to YUV (Autodetected, manually enable using --input-file-format=y4m) * Allow writing out block statistics for debugging (--stats-file-prefix) Optimizations: * New AVX2 implementations for interpolation filters Fixes: * DTS offset was incorrect at the beginning of the sequence when using GOP * Added VPS information about reordering and buffering, fixes VLC playback * Removed pthread_exit() on mingw to fix media-autobuild suite * Renamed truncate function to not overlap with POSIX one. * Wed Apr 22 2020 Luigi Baldoni - Update to version 2.0.0 * Several unmentioned improvements and fixes Highlights: * Updated presets * Updated GOP definitions using QP offset model. + There is now even longer hierarchical GOP --gop=16 * Much faster and improved bipred * Alternative and better rate control algorithm, optimal bit allocation (--rc-algorithm oba) * Variance adaptive quantization (--vaq) Features: * Option to set QP offset for intra frames (--intra-qp-offset, automatical by default) * Zero-coeff-rdo is now configurable (--zero-coeff-rdo) * Optional intra frame analysis for rate control (--intra-bits) * Optional machine learning based depth constraints for intra search (--ml-pu-depth-intra) * PU depths are now separately configurable for each GOP layer User Interface: * Report bitrate and some kind of (cumulative) average QP Optimizations: * More AVX2 opimizations for SAO * More AVX2 opimizations for transforms * More AVX2 opimizations for intra prediction * AVX2 strategy for variance calculation- Bump sover to 6 * Tue Jul 09 2019 Luigi Baldoni - Update to version 1.3.0 Features: * Add release notes like this (#159, cf85d52) * Changed --rd=2 to use SSD metric for CU mode decision (662430d) * Changed inter search to check the cost of flushing residual to zero (75a8700) * Changed rectangular and asymmetric blocks to use a transform split (774c666) * Added diamond search ME algorithm (4e13608) * Enabled low delay B GOP structure with --bipred - -gop=lp-g4d3t1 (7155dd0) * Added termination of intra search at zero residual with - -intra-rdo-et (4fb1c16) Optimization: * Made TZ search faster and slightly better (c136044) * Optimized bi-prediction (69756e2) Fixes: * Fixed transform skip with rectangular inter blocks (fb462b2) * Fixed accidental inter search for 4x4 blocks (649113a) User Interface: * Changed options for all preset levels (f033ad0) * Added an option for limiting the number of steps in motion estimation with --me-steps (39ed368) * Added --me=dia (4e13608) * Added --level, --force-level and --high-tier for setting bitstream level and tier (bac0745) Building: * Fixed issue with struct timespec redefinition with Visual Studio 2015 and later (713e694) * Fixed building .asm files in Visual Studio 2017 (6be8195) * Fixed compatibility with crypto++ 6.0 (4b24cd0) * Added support for crypto++ with the name libcryptopp (411276d) * Dockerfile base image was updated to Ubuntu 18.04 (8380b6c) * Enabled -Wextra by default (ff17e0b) Refactoring: * Inter motion vector cost functions (c73cce3) * Dockerfile (0164291) * Fri Nov 17 2017 aloisioAATTgmx.com- Update to version 1.2.0 Features: * Intra prediction mode encryption with - -crypto=intra_pred_modes (2b8ce5e) * Adaptive QP for 360° video with --erp-aqp (26adef4) * New selection algorithm for --owf=auto and --threads=auto (8c4a347) * Added an option to set the encryption key using --key (2e13091) * Added an option to limit SAO to band offset or edge offset only with --sao=band and --sao=edge (8674c0f) Optimization: * Reduced number of intra modes checked when using --rd=2 (2cad317) * Reduced inter-frame CTU dependencies caused by SAO (050e90d) * Changed to a faster calculation for coefficient costs when using --rd=0 (1ead9c0) Fixes: * Fixed long motion vectors not getting clipped (#158, 85e2a40) * Fixed order of pictures in reconstruction debug output when - -gop=8 is used (#101, aae141f) * Fixed a use-after-free when encoding very few frames with - -gop=8 (#161, 2991962) * Fixed a crash when video size is not a multiple of the smallest CU size (2f2405d) * Fixed invalid bitstream when QP is too large (382636d) * Fixed a race condition causing a deadlock (5f8e17d) * Fixed a memory leak in encryption (8654b48) * Fixed I-frames not being IRAP frames when using GOP (00c9f52, 841597e) * Fixed computing inter and intra costs with different metrics (afc13f1) * Fixed reliance on undefined behavior (b41f0fa, 924cf85) * Fixed --mv-constraint=frametilemargin constraining motion vectors too much (409d211) * Fixed using --bipred with --tmvp (#160, 9974380) User Interface: * Changed type of kvz_config.roi.dqps from uint8_t * to int8_t. Delta QP values for --roi may now be negative. (79cb3a2) * Changed PSNR display format (20d6444) Building: * Default to no -Werror. Run configure with --enable-werror to enable it. (033bc6b) * make check now runs valgrind tests that used to only run on Travis. Programs ffmpeg, valgrind and TAppDecoderStatic should be found from $PATH (6bbe5e1) Refactoring: * Removed duplicate code in inter MVP and merge candidate selection (4fb0783) * Removed duplicate code in intra reconstruction for luma and chroma (e944416) * Changed functions for writing the CU tree bitstream to use luma pixel coordinates (610c91b, f5eef7f) * Removed duplicate code in functions for writing intra CU bitstream with and without encryption (525a518) * Removed duplicate code in helper functions in search.c (2c73476) * Gathered function parameters for inter search functions into a single struct (2fa3d82)- Refreshed kvazaar.memset.patch- Bumped library version to 4 * Wed Feb 22 2017 scarabeusAATTopensuse.org- Bit of spec cleanup * Thu Feb 16 2017 aloisioAATTgmx.com- Update to version 1.1.0 * Both BDRate and speed improved slightly. Features: * Bitrate control now works at LCU level, giving more consistent results. (2318bd7) * Added --roi parameter for LCU level delta-QP control. (4a0121a) * Added --slices parameter for encapsulating tiles and WPP-rows into slice NAL\'s instead of using bitstream offsets. (1e6463c) * Temporal motion vector prediction now works with B-frames. (d892be5) Optimization: * Added AVX2 version of SSD. (778e46d) * Optimized intra reference building. (c31207e) * Optimized bitstream writes. (a9e45ef) * Optimized CU-split decision. (2c069a3) * Fix main-thread busy-looping on Linux. (a5a925f) * Avoid initializing memory needlessly during RDOQ. (acd12cb, b021d22) Fixes: * Pass DTS and PTS timestamps correctly through the API. (d18de19) * Fixed bug with subpixel motion estimation within tiles. (2c005cd) * Improved 10-bit RD-performance. (70a52f0) * Fixed for stupendously large bitstreams when - -mv-constraint was used with --subme. (937a764) * Fixed bug with --smp and --amp. (46c9a48) * Fix problem with --bipred. (1e6463c) * Fixed hang with threading on OSX. (d893474) * Fix crash when frame is less than 65 pixels high and WPP is used. (b8e3513) User Interface: * Disabled WPP with tiles enabled. (cb6672b) * Improved --help. (5bf7454, 78a28e0) * Made it possible to disable the gop-structure that was enabled by default in v.1.0.0. (deb63f7) * Have --threads=auto enable threading instead of disabling it. (db5e750) * Give errors on failures and handle them better. (97863cd, 6a178de) * Use reference picture number of medium preset by default. (7ff33e1) Building: * Include optimizations on 32-bit. (1dcc993) * Added appveyor CI tests for MSYS2. (e269b86) * Add pkg-config macros, so pkg-config doesn\'t need to be installed anymore. (2d7daa1) * Travis CI OSX tests work again. (c32f5fa) Refactoring: * Refactored deblocking and sign hiding. (7ec5f78) * Removed Exp-Golomb lookup table. (ed3bd89) * Copy kvz_config to encoder_control_t and remove duplicate fields. (e78a8df) * Tue Oct 04 2016 aloisioAATTgmx.com- Update to version 1.0.0 New Features * --version * --help * --loop-input * --mv-constraint to constrain motion vectors * --tiles=2x2 as an alternative syntax for uniform tiles * --hash=md5 * Print information about what SIMD optimizations are in use * --mv=full8 --mv=full16 --mv=full32 --mv=full64 * --cu-split-termination=zero/off * --crypto for selective encryption of bitstream (for OpenHEVC) * --me-early-termination=sensitive/on/off for early termination of motion vector search * Added 4x8 SMP and 4x12 AMP motion partitions * --subme=0/1/2/3/4 for control over complexity of fractional pixel motion prediction * --lossless for lossless coding * Monochrome coding * --input-format=420/400 * --input-bitdepth=8/10 * --tmpv for temporal motion vector predictor * --rdoq-skip for not using rdoq for situations where it\'s unlikely to improve BDRate * Modified --gop=lp-g4d3r1t1 syntax to not take the reference frames as a parameter, it\'s now --gop=lp-g4d3t1. * Enable WPP and multithreading by default, with detection for number of cores * Update all presets to ratedistortion-complexity optimized versions. These are based on a search of all (~ish) possible encoding parameters and bring a huge boost to both speed and BDRate when encoding with the presets (10x speed for veryslow, ~1.1x-4x for others, up to 30% improved BDRate for some presets). * Set default options to match medium with intra period of 64, QP 22 and --gop=lp-g4d3t1 * --implicit-rdpcm RExt feature Optimizations * AVX2 version for Sample Adaptive Offset (SAO) * Optimized memory copying * AVX2 versions of filters for fractional pixel motion estimation * AVX2 version for half pixel chroma sampling for SMP/AMP * AVX2 versions for calculating two or four SATD values at once for small blocks * Rewrote AVX2 version of fractional pixel motion compensation * Rewrote motion vector cost calculation. It only got slightly faster, but BDRate improved a bunch due to the new implementation being more correct. * Made AVX2 SAD use SSE4.1 for cases where there isn\'t an AVX2 implementation, speeding up SMP/AMP. Bugfixes * Fixed a bug in rate control where an int overflowed after coding 2^31 bits (2Gb) * Fixed non-determinism intiles * Fixed chroma reconstruction bug in tiles * Fixed a bug with calculating the number of bits used for intra mode on 4x4 CUs * Stopped checking zero motion vector multiple times in motion compensation * Fixed possible segfault in motion compensation * Fixed a race condition with OWF and SMP/AMP * Gave pthread_cond_timedwait time in correctly, such that main thread now sleeps instead of busylooping when it has nothing to do * Fixed rate control with lp-gop * Fixed full search not taking temporal motion vector into account * Allow non-gop-length intra period for lp-gop Code / Building / Testing * Moved SAO to it\'s own file * Removed a ton of unnecessary includes * Updated autotools ax_pthread * Added build test for OS-X for Travis * Made tests check for bitstream correctness * Refactored some of the copypasta in motion vector search starting point selection * Refactored the cu_info_t datastructures to hold information at a 4x4 resolution needed for AMP and SMP * Changed cu_info_t to use bitfields to negate the effect of increasing the cu_info_t array by a factor of 4 * Moved bitstream generation from encoderstate.c to encode_coding_tree.c * Renamed encoder_state_t.global to frame, which makes sense since it hold frame level data, not global data * Rewrote integer vector inter prediction, because it was so bad * Refactored init_lcu_t * Added more tests for inter SAD * Added speed tests for dual intra SAD functions * Added more realistic speed tests for inter SAD Other * Added a manpage * Added scripts for updating manpage and README based on - -usage. * Added a Dockerfile. Just because. * Added commit date to --version * Thu Jan 28 2016 aloisioAATTgmx.com- Update to version 0.8.3 * Sat Jan 16 2016 aloisioAATTgmx.com- Update to version 0.8.2- Bumped library version to 3 * Fri Jan 15 2016 aloisioAATTgmx.com- Update to version 0.8.1- Removed static library * Mon Nov 02 2015 aloisioAATTgmx.com- Update to version 0.7.2 * Sun Oct 25 2015 aloisioAATTgmx.com- Update to version 0.7.1 * bumped library version to 2 * Sat Oct 10 2015 aloisioAATTgmx.com- Update to version 0.7.0 * bumped library version to 1- Removed kvazaar-arm.patch because it\'s now fixed upstream * Fri Sep 18 2015 aloisioAATTgmx.com- Update to version 0.6.1 * Tue Sep 15 2015 aloisioAATTgmx.com- Initial version 0.6.0
|
|
|