Release Notes

June 11, 2026

Improvements:

  1. Film grain preservation improvements: Improves grain retention in flat regions and increases the temporal randomness of film grain.
  2. Added option flat-lf-sse to apply an alternative distortion metric (low-frequency SSE) for flat blocks, which improves film grain preservation. Disabled by default.
  3. Added option enable-tx-size-search to control whether transform size search is enabled. Enabled by default.
  4. Bug fix: Fixed a hang issue in rc-model=0 recode.
  5. API changes: Added two fields to wz_codec_cx_pkt_t: elapsed_time for live encoding usage, and psy_ratio for internal development and analysis purposes.

November 26, 2025

Improvements:

  1. Improved the accuracy of bits estimation for rc-model=1 when using TPL scaling.

November 07, 2025

Improvements:

  1. Optimized performance for rc-model=1.
  2. Fixed an issue where rc-model=1 occasionally produced significantly lower bitrates.

October 24, 2025

Improvements:

  1. Added a new rate control model, configurable with the "rc-model" option via wz_codec_set_option. Value 0 selects the legacy model, and value 1 enables the new model, which improves rate control decisions and reduces recode count. The new model currently supports two-pass CRF+VBV mode.
  2. Added WZ_TUNE_IQ and WZ_TUNE_SSIMULACRA2 tune options for all intra usage.

October 11, 2025

Improvements:

  1. Optimized flat regions, with adjustable behavior through wz_codec_set_option using the "flat-lambda-scale" and "nonflat-psyrd-scale" options.

September 28, 2025

Improvements:

  1. Added support for film grain preservation preference, configurable with the "fgp-style" option via wz_codec_set_option.
  2. Added support for TPL scale mode, configurable with the "enable-tpl-scale" option via wz_codec_set_option.

July 10, 2025

Improvements:

  1. Fixed a discontinuity when continually setting "psy-rd-uv".
  2. Fixed an issue that caused the chroma rdmult to be mistakenly overridden.
  3. Enhanced balance of grain retention between luma and chroma planes.

June 27, 2025

Improvements:

  1. Rate control enhancement.
  2. Fixed a quality downgrade issue in the first miniGOP following a key frame.
  3. Added support for chroma grain preservation, which can be enabled by setting the "psy-rd-uv" and "psy-rdoq-uv" options via wz_codec_set_option.

June 13, 2025

Improvements:

  1. Improved encoding speed by optimizing VBV recode decision-making.
  2. Rate control enhancement.
  3. Improved temporal and spatial subjective quality inconsistency issues.
  4. Fixed high bitrate issue when psy-rd is set but psy-rdoq is 0.

API Changes:

  1. Added "animation" as a new value to the existing "tune-content" option. This feature is still under development.
  2. Introduced a new option: "tpl-qp-offsets", intended for debugging purposes.

Feb 12, 2025

Improvements:

  1. Improved encoding speed by optimizing VBV recode decision-making.
  2. Rate control improvement for film grain preservation mode when use-fixed-qp-offsets=1 is not set (default 0).

Dec 14, 2024

Hot fix:

  1. Fix regression in header files.

Dec 12, 2024

Improvements:

  1. Enhance VBV management by analyzing the complexity of upcoming mini-GOPs and dynamically adjusting the target VBV level accordingly.

Nov 18, 2024

Bug fix:

  1. Fixed an issue where the denoised image overwrote the source image in film grain synthesis mode.

Sample Encoder:

  1. simple_encoder_wz_api.c now supports multiple encoder instances. To enable this feature please modify the macro NUM_ACTIVE_CODEC to 2 which will make the sample encoder create two encoder instances.

Nov 11, 2024

API Change:

  1. Rename aom_dump_image to wz_dump_image
  2. Rename aom_draw_block_boundary to wz_draw_block_boundary
  3. Other minor changes are made to API header files to make them more consistent (Replace aom with wz).

Documentation:

  1. The following Control IDs were added to API Parameters page: WZAV1E_SET_COLOR_RANGE, WZAV1E_SET_COLOR_PRIMARIES, WZAV1E_SET_TRANSFER_CHARACTERISTICS, WZAV1E_SET_MATRIX_COEFFICIENTS, WZAV1E_SET_CHROMA_SAMPLE_POSITION, WZAV1E_SET_TIMING_INFO_TYPE.
  2. An option was added to the API Parameters page: deltaq-mode

The following parameters are removed from aom_codec_enc_cfg/wz_codec_enc_cfg struct following the SDK released on Sep 20, 2024:

  1. The following parameters are removed because S-frame, ref-frame scaling, super-resolution and large-scale tile modes are no longer supported:

    • rc_resize_mode
    • rc_resize_denominator
    • rc_resize_kf_denominator
    • rc_superres_mode
    • rc_superres_denominator
    • rc_superres_kf_denominator
    • rc_superres_qthresh
    • rc_superres_kf_qthresh
    • sframe_dist
    • sframe_mode
    • large_scale_tile
  2. The following parameters are removed because they have been deprecated.

    • enable_gop_mt
    • input_async
    • enable_scc_tools
    • fast_decode
    • render_width
    • render_height
    • roi_boost
    • rc_dropframe_thresh
    • fwd_kf_enabled
    • kf_mode
    • kf_max_period
    • monochrome
    • psycho_visual
    • preset
    • enable_tpl_scale
  3. enable_vbv is removed because it is now set by wz_codec_set_option.

Nov 01, 2024

New feature:

  1. Film Grain Synthesis Mode. For more details, please refer to the Film Grain Synthesis page.

Sep 20, 2024

API Change:

  1. Replace API prefix aom_ with wz_
  2. Clean up data structure wz_codec_enc_cfg_t
  3. Add API wz_codec_get_option. An example usage of this API is provided in sample_encoder_src/simple_encoder_wz_api.c.

For a list of encoder options supported by this SDK release, please refer to the API Parameters page.

Sep 03, 2024

Improvements:

  1. Enhanced Grain Preservation Mode.
  2. Fixed low bitrate issue: Resolved an issue where low bitrates could occur when using 2-pass VBR encoding with VBV enabled.

API Change:

  • Some encoder settings have been moved from aom_codec_enc_cfg_t to the aom_codec_set_option function.
  • For more details, please refer to the API Parameters page.

Recommendations:

For optimal grain preservation, we recommend using the 2-pass Capped CRF mode with fixed qp offset. Here is an example command line:

    ./aomenc $INPUT -o $OUTPUT --passes=2 --lag-in-frames=72 --kf-max-dist=$MAX-KF --kf-min-dist=$MIN-KF --threads=$THREADS --cpu-used=$SPEED --tile-columns=1 --tile-rows=0 --profile=0 --target-seq-level-idx=$LEVEL --set-tier-mask=0 --end-usage=q --cq-level=$CRF --min-q=4 --enable-vbv=1 --target-bitrate=$MAX_BITRATE --buf-sz=1333 --maxsection-pct=160 --use-fixed-qp-offsets=1 --fixed-qp-offsets=0,0,0,0,0 --arnr-maxframes=0 --enable-restoration=0 --enable-cdef=0 --psy-rd=15 --psy-rdoq=10 --sb-size=64 --enable-tx64=0 --max-gf-interval=4

Following is a short explanation:

  1. --passes=2 --lag-in-frames=72 --kf-max-dist=$MAX-KF --kf-min-dist=$MIN-KF: Specify 2pass, lags, and keyframe intervals.
  2. --threads=$THREADS --cpu-used=$SPEED --tile-columns=1 --tile-rows=0: Specify the speed (recommend 3/5) and threads. Enables tiling for parallel processing.
  3. --profile=0 --target-seq-level-idx=$LEVEL --set-tier-mask=0: Specify the profile and levels for conformance, it's not mandatory.
  4. --end-usage=q --cq-level=$CRF --min-q=4 --enable-vbv=1 --target-bitrate=$MAX_BITRATE --buf-sz=1333 --maxsection-pct=160 --use-fixed-qp-offsets=1 --fixed-qp-offsets=0,0,0,0,0: Specify the rate control mode required, here means Capped CRF with fixed-qp offset. This rate control mode works best with grain preservation mode.
  5. --arnr-maxframes=0 --enable-restoration=0 --enable-cdef=0 --psy-rd=15 --psy-rdoq=10 --sb-size=64 --enable-tx64=0 --max-gf-interval=4: Specify tuning parameters for grain preservation