Release Notes
June 11, 2026
Improvements:
- Film grain preservation improvements: Improves grain retention in flat regions and increases the temporal randomness of film grain.
- 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.
- Added option enable-tx-size-search to control whether transform size search is enabled. Enabled by default.
- Bug fix: Fixed a hang issue in rc-model=0 recode.
- 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:
- Improved the accuracy of bits estimation for rc-model=1 when using TPL scaling.
November 07, 2025
Improvements:
- Optimized performance for rc-model=1.
- Fixed an issue where rc-model=1 occasionally produced significantly lower bitrates.
October 24, 2025
Improvements:
- 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.
- Added WZ_TUNE_IQ and WZ_TUNE_SSIMULACRA2 tune options for all intra usage.
October 11, 2025
Improvements:
- 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:
- Added support for film grain preservation preference, configurable with the "fgp-style" option via wz_codec_set_option.
- Added support for TPL scale mode, configurable with the "enable-tpl-scale" option via wz_codec_set_option.
July 10, 2025
Improvements:
- Fixed a discontinuity when continually setting "psy-rd-uv".
- Fixed an issue that caused the chroma rdmult to be mistakenly overridden.
- Enhanced balance of grain retention between luma and chroma planes.
June 27, 2025
Improvements:
- Rate control enhancement.
- Fixed a quality downgrade issue in the first miniGOP following a key frame.
- 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:
- Improved encoding speed by optimizing VBV recode decision-making.
- Rate control enhancement.
- Improved temporal and spatial subjective quality inconsistency issues.
- Fixed high bitrate issue when psy-rd is set but psy-rdoq is 0.
API Changes:
- Added "animation" as a new value to the existing "tune-content" option. This feature is still under development.
- Introduced a new option: "tpl-qp-offsets", intended for debugging purposes.
Feb 12, 2025
Improvements:
- Improved encoding speed by optimizing VBV recode decision-making.
- Rate control improvement for film grain preservation mode when use-fixed-qp-offsets=1 is not set (default 0).
Dec 14, 2024
Hot fix:
- Fix regression in header files.
Dec 12, 2024
Improvements:
- Enhance VBV management by analyzing the complexity of upcoming mini-GOPs and dynamically adjusting the target VBV level accordingly.
Nov 18, 2024
Bug fix:
- Fixed an issue where the denoised image overwrote the source image in film grain synthesis mode.
Sample Encoder:
simple_encoder_wz_api.cnow supports multiple encoder instances. To enable this feature please modify the macroNUM_ACTIVE_CODECto2which will make the sample encoder create two encoder instances.
Nov 11, 2024
API Change:
- Rename
aom_dump_imagetowz_dump_image - Rename
aom_draw_block_boundarytowz_draw_block_boundary - Other minor changes are made to API header files to make them more consistent (Replace aom with wz).
Documentation:
- The following Control IDs were added to
API Parameterspage: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. - An option was added to the
API Parameterspage: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:
-
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
-
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
-
enable_vbvis removed because it is now set bywz_codec_set_option.
Nov 01, 2024
New feature:
- Film Grain Synthesis Mode. For more details, please refer to the Film Grain Synthesis page.
Sep 20, 2024
API Change:
- Replace API prefix
aom_withwz_ - Clean up data structure
wz_codec_enc_cfg_t - Add API
wz_codec_get_option. An example usage of this API is provided insample_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:
- Enhanced Grain Preservation Mode.
- 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_tto theaom_codec_set_optionfunction. - 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:
--passes=2 --lag-in-frames=72 --kf-max-dist=$MAX-KF --kf-min-dist=$MIN-KF: Specify 2pass, lags, and keyframe intervals.--threads=$THREADS --cpu-used=$SPEED --tile-columns=1 --tile-rows=0: Specify the speed (recommend 3/5) and threads. Enables tiling for parallel processing.--profile=0 --target-seq-level-idx=$LEVEL --set-tier-mask=0: Specify the profile and levels for conformance, it's not mandatory.--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.--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