Skip to content

Tags: sailfishos-mirror/libvpx

Tags

v1.14.0

Toggle v1.14.0's commit message
Release v1.14.0 Venetian Duck

2024-01-18 v1.14.0 "Venetian Duck"

  This release drops support for old C compilers, such as Visual Studio 2012
  and older, that disallow mixing variable declarations and statements (a C99
  feature). It adds support for run-time CPU feature detection for Arm
  platforms, as well as support for darwin23 (macOS 14).

  - Upgrading:
    This release is ABI incompatible with the previous release.

    Various new features for rate control library for real-time: SVC parallel
    encoding, loopfilter level, support for frame dropping, and screen content.

    New callback function send_tpl_gop_stats for vp9 external rate control
    library, which can be used to transmit TPL stats for a group of pictures. A
    public header vpx_tpl.h is added for the definition of TPL stats used in
    this callback.

    libwebm is upgraded to libwebm-1.0.0.29-9-g1930e3c.

  - Enhancement:
    Improvements on Neon optimizations: VoD: 12-35% speed up for bitdepth 8,
    68%-151% speed up for high bitdepth.
    Improvements on AVX2 and SSE optimizations.
    Improvements on LSX optimizations for LoongArch.
    42-49% speedup on speed 0 VoD encoding.
    Android API level predicates.

  - Bug fixes:
    Fix to missing prototypes from the rtcd header.
    Fix to segfault when total size is enlarged but width is smaller.
    Fix to the build for arm64ec using MSVC.
    Fix to copy BLOCK_8X8's mi to PICK_MODE_CONTEXT::mic.
    Fix to -Wshadow warnings.
    Fix to heap overflow in vpx_get4x4sse_cs_neon.
    Fix to buffer overrun in highbd Neon subpel variance filters.
    Added bitexact encode test script.
    Fix to -Wl,-z,defs with Clang's sanitizers.
    Fix to decoder stability after error & continued decoding.
    Fix to mismatch of VP9 encode with NEON intrinsics with C only version.
    Fix to Arm64 MSVC compile vpx_highbd_fdct4x4_neon.
    Fix to fragments count before use.
    Fix to a case where target bandwidth is 0 for SVC.
    Fix mask in vp9_quantize_avx2,highbd_get_max_lane_eob.
    Fix to int overflow in vp9_calc_pframe_target_size_one_pass_cbr.
    Fix to integer overflow in vp8,ratectrl.c.
    Fix to interger overflow in vp9 svc.
    Fix to avg_frame_bandwidth overflow.
    Fix to per frame qp for temporal layers.
    Fix to unsigned integer overflow in sse computation.
    Fix to uninitialized mesh feature for BEST mode.
    Fix to overflow in highbd temporal_filter.
    Fix to unaligned loads w/w==4 in vpx_convolve_copy_neon.
    Skip arm64_neon.h workaround w/VS >= 2019.
    Fix to c vs avx mismatch of diamond_search_sad().
    Fix to c vs intrinsic mismatch of vpx_hadamard_32x32() function.
    Fix to a bug in vpx_hadamard_32x32_neon().
    Fix to Clang -Wunreachable-code-aggressive warnings.
    Fix to a bug in vpx_highbd_hadamard_32x32_neon().
    Fix to -Wunreachable-code in mfqe_partition.
    Force mode search on 64x64 if no mode is selected.
    Fix to ubsan failure caused by left shift of negative.
    Fix to integer overflow in calc_pframe_target_size.
    Fix to float-cast-overflow in vp8_change_config().
    Fix to a null ptr before use.
    Conditionally skip using inter frames in speed features.
    Remove invalid reference frames.
    Disable intra mode search speed features conditionally.
    Set nonrd keyframe under dynamic change of deadline for rtc.
    Fix to scaled reference offsets.
    Set skip_recode=0 in nonrd_pick_sb_modes.
    Fix to an edge case when downsizing to one.
    Fix to a bug in frame scaling.
    Fix to pred buffer stride.
    Fix to a bug in simple motion search.
    Update frame size in actual encoding.

v1.14.0-rc1

Toggle v1.14.0-rc1's commit message
Release Candidate 1 v1.14.0 Venetian Duck

v1.13.1

Toggle v1.13.1's commit message
libvpx 1.13.1

2023-09-29 v1.13.1 "Ugly Duckling"
  This release contains two security related fixes. One each for VP8 and VP9.

  - Upgrading:
    This release is ABI compatible with the previous release.

  - Bug fixes:
    https://crbug.com/1486441 (CVE-2023-5217)
    Fix to a crash related to VP9 encoding (#1642)

v1.13.0

Toggle v1.13.0's commit message
Release v1.13.0 Ugly Duckling

2023-01-31 v1.13.0 "Ugly Duckling"

  This release includes more Neon and AVX2 optimizations, adds a new codec
  control to set per frame QP, upgrades GoogleTest to v1.12.1, and includes
  numerous bug fixes.

- Upgrading:
    This release is ABI incompatible with the previous release.

    New codec control VP9E_SET_QUANTIZER_ONE_PASS to set per frame QP.

    GoogleTest is upgraded to v1.12.1.

    .clang-format is upgraded to clang-format-11.

    VPX_EXT_RATECTRL_ABI_VERSION was bumped due to incompatible changes to the
    feature of using external rate control models for vp9.

- Enhancement:
    Numerous improvements on Neon optimizations.
    Numerous improvements on AVX2 optimizations.
    Additional ARM targets added for Visual Studio.

- Bug fixes:
    Fix to calculating internal stats when frame dropped.
    Fix to segfault for external resize test in vp9.
    Fix to build system with replacing egrep with grep -E.
    Fix to a few bugs with external RTC rate control library.
    Fix to make SVC work with VBR.
    Fix to key frame setting in VP9 external RC.
    Fix to -Wimplicit-int (Clang 16).
    Fix to VP8 external RC for buffer levels.
    Fix to VP8 external RC for dynamic update of layers.
    Fix to VP9 auto level.
    Fix to off-by-one error of max w/h in validate_config.
    Fix to make SVC work for Profile 1.

v1.13.0-rc1

Toggle v1.13.0-rc1's commit message
Release Candidate 1 v1.13.0 Ugly Duckling

v1.12.0

Toggle v1.12.0's commit message
Release v1.12.0 Torrent Duck

2022-06-17 v1.12.0 "Torrent Duck"

  This release adds optimizations for Loongarch, adds support for vp8 in the
  real-time rate control library, upgrades GoogleTest to v1.11.0, updates
  libwebm to libwebm-1.0.0.28-20-g206d268, and includes numerous bug fixes.

- Upgrading:
    This release is ABI compatible with the previous release.
    vp8 support in the real-time rate control library.
    New codec control VP8E_SET_RTC_EXTERNAL_RATECTRL is added.
    Configure support for darwin21 is added.
    GoogleTest is upgraded to v1.11.0.
    libwebm is updated to libwebm-1.0.0.28-20-g206d268.

- Enhancement:
    Numerous improvements on checking memory allocations.
    Optimizations for Loongarch.
    Code clean-up.

- Bug fixes:
    Fix to a crash related to {vp8/vp9}_set_roi_map.
    Fix to compiling failure with -Wformat-nonliteral.
    Fix to integer overflow with vp9 with high resolution content.
    Fix to AddNoiseTest failure with ARMv7.
    Fix to libvpx Null-dereference READ in vp8.

v1.12.0-rc1

Toggle v1.12.0-rc1's commit message
Release Candidate 1 v1.12.0 Torrent Duck

v1.11.0

Toggle v1.11.0's commit message
Release v1.11.0 Smew Duck

2021-09-27 v1.11.0 "Smew Duck"
  This maintenance release adds support for VBR mode in VP9 rate control
  interface, new codec controls to get quantization parameters and loop filter
  levels, and includes several improvements to NEON and numerous bug fixes.

  - Upgrading:
    New codec control is added to get quantization parameters and loop filter
    levels.

    VBR mode is supported in VP9 rate control library.

  - Enhancement:
    Numerous improvements for Neon optimizations.
    Code clean-up and refactoring.
    Calculation of rd multiplier is changed with BDRATE gains.

  - Bug fixes:
    Fix to overflow on duration.
    Fix to several instances of -Wunused-but-set-variable.
    Fix to avoid chroma resampling for 420mpeg2 input.
    Fix to overflow in calc_iframe_target_size.
    Fix to disallow skipping transform and quantization.
    Fix some -Wsign-compare warnings in simple_encode.
    Fix input file path in simple_encode_test.
    Fix valid range for under/over_shoot pct.

v1.11.0-rc1

Toggle v1.11.0-rc1's commit message
Release Candidate v1.11.0 Smew Duck

v1.10.0

Toggle v1.10.0's commit message
Release v1.10.0 Ruddy Duck

2021-03-09 v1.10.0 "Ruddy Duck"

  This maintenance release adds support for darwin20 and new codec controls, as
  well as numerous bug fixes.

  - Upgrading:

    New codec control is added to disable loopfilter for VP9.

    New encoder control is added to disable feature to increase Q on overshoot
    detection for CBR.

    Configure support for darwin20 is added.

    New codec control is added for VP9 rate control. The control ID of this
    interface is VP9E_SET_EXTERNAL_RATE_CONTROL. To make VP9 use a customized
    external rate control model, users will have to implement each callback
    function in vpx_rc_funcs_t and register them using libvpx API
    vpx_codec_control_() with the control ID.

  - Enhancement:

    Use -std=gnu++11 instead of -std=c++11 for c++ files.

  - Bug fixes:

    Override assembler with --as option of configure for MSVS.

    Fix several compilation issues with gcc 4.8.5.

    Fix to resetting rate control for temporal layers.

    Fix to the rate control stats of SVC example encoder when number of spatial
    layers is 1.

    Fix to reusing motion vectors from the base spatial layer in SVC.

    2 pass related flags removed from SVC example encoder.