Bleeding-Edge Image Compression Method Research, Part I: AVM Experiments
英文打的稿回头准备丢 blog 上的,懒得翻译了就这样吧aomedia 到 2026 年初还在鸽 av2 specs 等不及了
The Alliance for Open Media (AOMedia), a global collaboration of innovators working together to define and deploy open standards that power the next generation of media experiences, today announced the upcoming launch of the next evolution in open video coding: AV2. Set for a year-end release, AV2 is not only an upgrade to the widely adopted AV1 but also a foundational piece of AOMedia’s future tech stack.
– Wakefield, Mass. on Sept. 15, 2025
AVM (abbreviation of AOM Video Model), is the reference (and the only before AV2 specifications is published) implementation for the work-in-progress AV2 codec from the Alliance for Open Media, the organization behind AV1, which is not yet ready for production use. The codebase is under the BSD 3-Clause Clear License.
In this article, we are using AV2 as a image (i.e. single video frame) compression method instead of video stream, like what single-frame AVIF did to AV1.
Compiling
You will need to compile by yourself due to the lack of prebuilt binaries. Compilation requires cmake, nasm and perl.
git clone --depth 1 https://gitlab.com/AOMediaCodec/avm.git
cd avm/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 -DCMAKE_POLICY_VERSION_MINIMUM=3.5
make -j$(nproc)
Resulting binaries will be called avmenc and avmdec (not to be confused with aomenc and aomdec provided by previous versions of AVM). They will be available in the build folder.
Usage
TipTo convert
crfin SVT-AV1 to AVM’s QP values, multiply by 4. For example,-crf 20equals to--qp=80.
Convert PNG image to Y4M with Y′UV color model (4:2:0 chroma subsampling) and BT.709 color primaries:
ffmpeg -y -i input.png -pix_fmt yuv420p -color_primaries bt709 -color_trc bt709 -colorspace bt709 output.y4m
avmenc --qp=128 --cpu-used=9 --fps=1/1 --threads=$(nproc) --target-bitrate=1000 --color-primaries=bt709 -o output.ivf input.y4m
Decode AV2 frame:
avmdec input.ivf -o decoded.y4m
ffplay decoded.y4m # For fast previewing
ffmpeg -y -i decoded.y4m decoded.png # Convert to PNG Gallery
Tiplinux.do converts all images to jpeg. You can get lossless images and encoded ivf file from the attachment below.
Vasabron Vasa bridge Stockholm
Decoded AVM-encoded image (on commit ) , --qp=128 --cpu-used=9 --fps=1/1 --target-bitrate=400 --color-primaries=bt709 (59884 bytes after encoding):

