Skip to content

Changelog

Adam Wieckowski edited this page Nov 8, 2023 · 11 revisions

This sections shows all the changelog which includes records of major changes, new features and bug fixes. All White papers can also be found for each version.

v2.1.2

  • fixed an out-of-bound read in RPR
  • improved exception handling in all external interface functions
  • minor fixes

v2.1.1

  • bugfixes (skipped RASLs, releasing internal Pictures)
  • clean RPR & simdFilter
  • improve makefile

v2.1

  • initial native ARM SIMD implementation
  • reworked RPL management
  • finished CU=PU refactoring
  • fixed affine motion clipping with sub-pictures

v2.0

  • Added initial error resilience
  • Removed vvdecapp from default installation
  • Improved logging
  • Minor efficiency improvements

v1.6

  • Added an allocator API to reduce copying to application buffers
  • Fixed VVC conformance (especially VPS handling, SbTMVP)
  • Improved build (reduced exported symbols, fixed Xcode build)

Performance

VVdeC performance

Figure 2: Performance of the VVdeC v1.6.0. Each point represents a decoding of a bitstream created with the VTM-10.0 encoder using the JVET common test conditions, but for every second QP between 21 and 43. The wall-clock time used to calculate the frames per second was measured using the time utility.

v1.5

  • Changed to a standard Clear BSD-3 license
  • Added decoder reset functionality (API change)
  • Updated build to ease android development
  • Conformance bugfix to decoding slices using different ALF APS ids
  • Fixed an occasional critical race condition
  • Fixed many sanitizer problems
  • WASM testsuite

v1.4

  • Support for ARM and Win32 architectures, reported to work on riscv and powerpc
  • Improved scheduling
  • Performance improvements
  • Refactoring and cleanups

v1.3

  • Improved tune-in behavior
  • 3x memory reduction
  • MinGW support
  • Cleanups
  • Minor SIMD improvements
  • WASM improvements (support for 32-bit browsers and theoretically UHD decoding)

VVdeC memory reduction from v1.2 to v1.3

Figure 1: Visualization of the memory reduction between version v1.2 and v1.3.

v1.2

  • White paper: VVdeC v1.2
  • Added WebAssembly build option
  • Added and improved some SSE41 SIMD
  • Minor improvements to ALF, DMVR and LMCS processing
  • Library: added option to remove padding from YUV on output
  • Bugfixes

v1.1.2

  • Bugfixes (including conformance and memory leaks)

v1.1.1

  • Cleanup of data structures
  • Bugfixes (including conformance)

v1.1.0

  • Sample application allows decoding to standard output
  • Checking the actual output YUV MD5 sum in the test-suite, ensuring picture order is correct
  • Bugfixes (including conformance)

v1.0

  • White paper: VVdeC v1.0
  • Support for sub-pictures, GDR, mixed slice types within a frame
  • Lib-interface changed to pure C
  • Support for all Main10 conformance bitstreams from [9]
  • Improved handling of internal errors
  • Encapsulated all internal classes in a namespace
  • Minor cleanups and bugfixes

v0.2

  • White paper: VVdeC v0.2
  • Changed license to modified 3-clause BSD
  • Memory reductions by removing obsolete look-up-tables
  • Fixed syntax for multiple slices
  • Fixed syntax for Decoded Picture Hash SEI
  • Fixed and extended the conformance test set

v0.1.2

  • Various bugfixes
  • Fixed handling of multiple slices
  • Fixed handling of multiple tiles
  • Cleanup of CABACReader and VLCReader to align with spec [1]
  • Extended the set of tested conformance sequences
  • Changed semantics of --threads and --parsedelay parameters

v0.1.0

  • Initial release

Performance

VVdeC performance

Figure 2: Performance of the first version of the VVdeC. Each point represents a decoding of a bitstream created with the VTM-10.0 encoder using the JVET common test conditions, but for every second QP between 21 and 43. The wall-clock time used to calculate the frames per second was measured using the time utility.

Clone this wiki locally