libaom v2.0.0 Applejack

223 views
Skip to first unread message

Jerome Jiang

unread,
May 18, 2020, 9:23:59 PM5/18/20
to Jerome Jiang
The libaom 2.0.0 Applejack release has been finalized.

There is no change since the release candidate was tagged.

This is the first official release of libaom. It has real-time mode and SVC support, as well as substantial documentation improvement and clean-ups.

The release is available from the git repository[0] on the Applejack branch and the automatic v2.0.0 tarball[1].

Upgrading:
  • AOM_SET_POSTPROC, AOM_CODEC_CAP_POSTPROC and AOM_CODEC_USE_POSTPROC are removed.
  • AOM_SET_DBG_* is removed.
  • Multi-resolution encoding is removed.
  • put_frame and put_slice callbacks are removed.
Enhancement:
  • Full-sweep document update for codec controls.
Real-time Mode:
  • Libaom now has real-time mode, using speed settings 5, 6, 7 and 8.

    • To use real-time mode, set g_usage in aom_codec_enc_cfg to AOM_USAGE_REALTIME (or use --rt in aomenc).

    • g_lag_in_frames must be set to 0 and g_pass must be set to 0 in real-time mode.

    • Only cpu_used 5,6,7 and 8 (set via AOME_SET_CPUUSED or via --cpu-used parameter of aomenc) should be used in real-time mode.

  • Scalable Video Coding (SVC) using spatial and temporal layers is supported.

    • Encoder control to set SVC: AV1E_SET_SVC_REF_FRAME_CONFIG

    • See examples/svc_encoder_rtc.c for sample SVC patterns


Jai Krishnan

unread,
May 21, 2020, 6:38:53 PM5/21/20
to codec...@webmproject.org
Some additional information from the libaom 2.0.0 release, covering:
  • Improvements to compression efficiency and encoding speed

  • Improved encoding modes for monochrome source and super-resolution 

  • Improved build tools, documentation and code health


AV1 Compression Efficiency

Compared with libaom 1.0.0, the 2.0.0 encoder produces a compression efficiency improvement of >10% across resolutions. As a result, libaom 2.0.0 AV1 encoder demonstrates 34% better in compression efficiency over libvpx 1.8.2 [2] operating at its best VP9 encoding mode, measured by BDrate. 


This release also includes new coding modes that are specifically optimized for quality metrics such as SSIM and VMAF:

  • Approximately 7% additional improvement in SSIM metric with --tune=ssim

  • Approximately 35% additional improvement in VMAF metric with --tune=vmaf

AV1 Encoder Speed Improvement

Since libaom 1.0.0, AV1 encoding speed has improved in two ways. As shown in the table below, the full tool selection with --cpu-used=0 is now over 7X faster than the 1.0.0 speed. In addition, several encoding presets are provided to meet the needs of various use cases of AV1 encoding, with each higher encoding setting resulting in a faster encode with lower compression efficiency.


libaom 2.0.0 encoding setting

Incremental compression efficiency loss from vs prior speed setting

speed vs

libaom 1.0.0 

at --cpu-used=0

speed vs

VP9 (libvpx 1.8.2)

at --cpu-used=1

--cpu-used=0

N/A

7x faster

72x slower

--cpu-used=1

-2%

25x faster

19x slower

--cpu-used=2

-3%

45x faster

11x slower

--cpu-used=3

-6%

120x faster

4x slower

--cpu-used=4

-3%

180x faster

2.7x slower

--cpu-used=5

-9%

430x faster

1.2x slower


The libaom encoder now supports multiple multithreading operating modes, which make the encoder run much faster on multi-core platforms:

  • Tile-based

  • Row-based

  • hybrid mode (both tile and row based multithreading) 

Additional Improvements

--
You received this message because you are subscribed to the Google Groups "Codec Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codec-devel...@webmproject.org.
To view this discussion on the web visit https://groups.google.com/a/webmproject.org/d/msgid/codec-devel/CAEBpB8YcxSrx9nUZmP9Q%3DwX2Ciq77J%2B-rNsmZ7M%2BLgqHuV2v3w%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages