the rebel alliance has finally released the av1 video codec

aomenc encoder aomenc
aomdec decoder aomdec file.webm output.y4m or aomdec file | mpv -

  • -v for verbose
  • --cpu-used= for quality level like x264s profiles and 0 is placebo and 4 is fastest
  • -w for width and -h for height

ffmpeg to prep the source video

  • ffmpeg -i 8bit-src.mkv -pix_fmt yuv420p 8bit.y4m
  • ffmpeg -i 10bit-src.mkv -pix_fmt yuv420p10le 10bit.y4m
  • ffmpeg -i 12bit-src.mkv -pix_fmt yuv420p12le 12bit.y4m

Encode 8-bit AV1

aomenc -v -w 1920 -h 1080 --cpu-used=0 --target-bitrate=1500 --threads=16 --profile=0 --aq-mode=0 --lag-in-frames=25 --auto-alt-ref=1 -o av1-8bit.webm 8bit.y4m

Encode 10-bit AV1

aomenc -v -w 1920 -h 1080 --cpu-used=0 --target-bitrate=1500 --threads=16 --profile=0 --aq-mode=0 --lag-in-frames=25 --auto-alt-ref=1 -o av1-10bit.webm 10bit.y4m

Encode 12-bit AV1

aomenc -v -w 1920 -h 1080 --cpu-used=0 --target-bitrate=1500 --threads=16 --profile=0 --aq-mode=0 --lag-in-frames=25 --auto-alt-ref=1 -o av1-12bit.webm 12bit.y4m

  • ffmpeg output yuv420 (8-bit), yuv420p10le (10-bit), yuv420p12le (12-bit)
  • Encodng Speed/Quality --cpu-used 0 to 4 is currently tuned

if this is wrong please contact me on twitter or by email

The Fire Escape is a 4K benchmark that measure the time it takes to encode a 4K file to x264 using open souce video editor OpenShot

uses a shotcut project file with a raw 4k video file, flac music by GUNSHIP, Text Overlay

above scores are average of 5 runs
please note that these systems are not benchmark systems and are real world

  • Encoding 3840x2160p24 4K Shotcut Project using qmelt to x264 with Slow Preset and 16 CRF
  • Encoding 3840x2160p24 4K Shotcut Project using qmelt to x265 with Slow Preset and 16 CRF
  • whenever google gets around to implementing proper multi-threading
  • whenever aomedia gets around to finalizing spec and implementing multi-threading


Tests cpu/ram and ssd/hdd and the results are in seconds

Special Thanks to

  • iWalkingCorpse for 1500X
  • Vegetables for 1700 3.8Ghz
  • Xplode for Threadripper 1950X
  • T-Nan for 7800X
  • shillzude for 5820K

This Benchmark is based on Shotcut and MLT open source project


Had to get a new Startech HDMI cable as my old generic one was giving me blinking black screen after swapping cables it works perfectly. it seems its a little picky on the cables

The Crimson Additional settings are missing pixel format and overscan option, hope this can be fixed by firmware or driver update

Customer Support

when i asked about a firmware update they responded in 14 minutes. Now thats pretty fast

First setup

  • Get a High Quality 4K Cable Club3D CAC-1310 or Startech HDMM1MP
  • Turn off UHD Colour on Samsung TV
  • Set Colour Depth in Crimson Additional Settings to 8bpc
  • Set Resolution to 3840 by 2160, True Color (32 bit), 60 Hertz in Settings > System > Display Advanced Settings > Display Adapter Properties > List Modes

still issues? try a newer crimson driver

My Setup:

  • AMD A10-7800 APU
  • 16GB RAM (2x8GB 1866mhz)
  • Windows 10 x64 with Crimson 16.1
  • Sapphire Radeon HD 7750
  • Samsung UE55HU7505 55" UltraHD
  • Club3D 1.2 to HDMI 2.0 Adapter (CAC-1070)
  • Startech Pro Series Metal High Speed HDMI Cable 2M (HDPSMM2M)


  • CAC-1070 REV A0-00 FW:7.0e 1552
  • Also tested with HD 7970 3GB Reference Model
  • UHD Colour Mode must be enabled on the HDMI Port (Samsung)
  • Renaming HDMI1 to PC might get you 4:4:4 (Samsung)
  • I need to test it on newer drivers on linux to see if its supported there

Crop Real 4K to UltraHD 4096>3840

ffmpeg -i A001_C014_01217G.4k.y4m -vf "crop=3840:2160:128:0" outputgirl.2160p.y4m

Resize to 1080p

ffmpeg -i outputgirl.2160p.y4m -vf scale=1920:-1 outputgirl.1080p.y4m

Resize to 720p

ffmpeg -i outputgirl.2160p.y4m -vf scale=1280:-1 outputgirl.720p.y4m

Convert source to YUU4MPEG2

ffmpeg -pix_fmt yuv420p -i any-source-video.webm output.y4m

Convert a sequence of images to YUU4MPEG

ffmpeg -f image2 -i "A004_C001_0122K7.00%05d.png" -pix_fmt yuv420p ouput.y4m

extract a single frame

ffmpeg -i input.avi -f image2 -ss 14.342 -vframes 1 frame.png

extract a single frame (altenative method)

ffmpeg -i input.y4m -f image2 -vf select="gte(n\, 1)" -vframes 1 frame.png

extract 1 frame after frame 100

ffmpeg -i input.y4m -f image2 -vf select="gte(n\, 100)" -vframes 1 frame.png

Encoding to VP9 in 4K is awesomely slow, when i mean slow, it is SLOW > 0.2fps but still it has not been optimized or have multicore support yet, it only used 1 core of my 8 core cpu (FX-8350) with 32GB RAM!

`ffmpeg -f image2 -i "E:\redout\tif\A005_C026_01224Q\00%05d.tif" -vcodec libvpx-vp9 -strict experimental -acodec libopus -qmin 0 -qmax 40 -crf 27 -b:v 20M -b:a 64k outputgirl.webm`

change crf to higher (smaller files, worse quality) or lower crf (bigger files, better quality)

the end results are this 4k file, source is tiff from a RED camera, pretty good i say as its only ~6Mbps video bitrate

and in other news

Receive $10 in credit at DigitalOcean for your VPS Hosting
Cheaper Games on Instant-Gaming
Proudly published with Ghost | Theme based on Draugur | Header Image by GUWEIZ@DeviantArt
Creative Commons Licence