Kvazaar Versions Save

An open-source HEVC encoder

v0.8.2

8 years ago

This release is to fix wrong library version numbering.

v0.7.2

8 years ago

Added more AVX2 optimizations for:

  • Angular prediction
  • (De)quantization

v0.7.1

8 years ago

API changes

  • New function encoder_headers for obtaining the VPS, SPS and PPS separately from the rest of the bitstream

Speedups

  • AVX2 optimizations for angular prediction
  • AVX2 optimizations for quantization
  • AVX2 optimizations for SATD

v0.7.0

8 years ago

API changes

  • Breaking changes to function encoder_encode.
  • More information about the encoded frames is available:
    • NAL type
    • picture order counts
    • quantization parameter
    • slice type
    • reference frame list
  • Original input frame is returned with the encoded data.

Other

  • Building on ARM is now possible.

v0.6.1

8 years ago

Bug fixes:

  • Fixed bug causing unnecessary copying of memory, leading to very slow encoding with big frames. Up to 10x performance improvement with 4k when all encoding tools are turned off, but much less with all tools turned on.

v0.6.0

8 years ago

Major new features

  • Kvazaar can be built as a library (and is included in FFmpeg).
  • Bi-prediction fixed for fractional pixels.
  • Support for coding interlaced video.
  • Preliminary support for 10 bit encoding (must be compiled with KVZ_BIT_DEPTH=10).
  • Parsing of input resolution from filename, if not given explicitly.

Optimizations

  • Improvement in subpixel motion estimation.

Bug fixes

  • Fixed issue with referencing across IDR boundaries.
  • Fixed issue with inter search pattern.
  • Fixes to how movement vector costs are calculated.
  • Fixed issue with frame padding.
  • Fixed MMX being misdetected.
  • Fixed --seek with non-randomaccess input streams.

v0.5.0

8 years ago

License was changed to LGPL 2.1 after previous release

Major new features.

  • Rate control
    • Enabled with --bitrate=[target_bitrate] --input-fps=[fps]
  • TZ-search algorithm
    • Enabled with --me=tz
  • Support for Group of Pictures
    • Enabled with --gop=8
    • Other GOP sizes not yet supported
  • Bi-pred search
    • Enabled with --bipred
  • Other new commandline parameters
    • --no-signhide
    • --no-info
    • --vps-period
    • --pu-depth-inter
    • --pu-depth-intra
  • Various bug fixes and optimizations

v0.3.5

9 years ago

v0.4.0

9 years ago

It's been too long since last release.

Major new features.

  • Parallerization. Both tiles and WPP supported.
  • Lots of improvements to intra coding in both speed and quality.
    • Better estimation of coding costs through statefull CABAC cost estimation.
    • Intra chroma mode search.
    • Faster 64x64 intra mode check.
    • Faster intra mode decision.
    • Taking the possibility of using intra skip into account during preliminary mode search.
  • Fractional pixel motion estimation.
  • SIMD optimizations.
    • Mostly AVX2.

v0.3.0

10 years ago

The major feature for this version was implementation of new search structure that works in LCU (64x64 pixels) sized units and does reconstruction as we go along. It's a bit slower but allows us to work with real pixel data and estimate the cost of coding different modes better. Eventually this will also allow us to also do bitstream coding on per-LCU basis.

Features:
  • Reimplemented the mode search to work in LCU (64x64) sized units.
  • Do intra mode search and CU size selection based on real reconstructed state.
  • Enabled 4x4 luma intra prediction units, providing a boost to intra quality and bitrate but also slowing intra search by at least 25%.
  • Added an early stop condition for search when inter skip mode with no coefficients is found.
  • Better estimation for the bit cost of coding different modes.
  • Added support for custom quantization matrices. (--cqmfile)
  • Added multiple reference pictures. (--ref)
  • Added SAO band offsets.
  • Added SAO merging.
  • Added option to turn RDOQ (Rate Distortion Optimized Quantization) off. (--no-rdoq)
  • Added option to skip frames at the beginning of input file. (--seek)
  • Added option to give input resolution in (width)x(height) form. (--input-res)
  • Added option to output encoders reconstruction as yuv file. (--debug)
Bug fixes:
  • Fixed a bug where when RDOQ was on, different coefficients were chosen even for identical frames. This was due to using CABAC context from the previous frame for RDOQ.
  • Fixed a crash with dimensions that are not multiples of 8.
  • Fixed lots of compiler warnings.