#7483 closed defect (invalid)

CRF value not working when encoding with libaom in AV1

Reported by: Ewout Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: libaom
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug: CRF value not working when encoding with libaom in AV1
How to reproduce:

% ffmpeg -i input libaom-av1 -crf 15 -strict experimental output
% ffmpeg -i input libaom-av1 -crf 20 -strict experimental output
% ffmpeg -i input libaom-av1 -crf 25 -strict experimental output
% ffmpeg -i input libaom-av1 -crf 30 -strict experimental output

ffmpeg version: ffmpeg-20181007-0a41a8b-win64-static
built on: Windows 10 64-bit

No matter what CRF value is used, the encoded files will have the same bitrate.

Here is the file I used to test (VP9) and the encoded results (AV1) with identical bitrates:

ffmpeg -i C:\Falcon9Timelapse360p.mp4 -c:v libaom-av1 -crf 15 -strict experimental av1_test_Falcon9Timelapse360pcrf15.mkv
ffmpeg -i C:\Falcon9Timelapse360p.mp4 -c:v libaom-av1 -crf 20 -strict experimental av1_test_Falcon9Timelapse360pcrf20.mkv
ffmpeg -i C:\Falcon9Timelapse360p.mp4 -c:v libaom-av1 -crf 25 -strict experimental av1_test_Falcon9Timelapse360pcrf25.mkv
ffmpeg -i C:\Falcon9Timelapse360p.mp4 -c:v libaom-av1 -crf 30 -strict experimental av1_test_Falcon9Timelapse360pcrf30.mkv

Attachments (7)

Falcon9Timelapse360p.mp4 (696.7 KB) - added by Ewout 11 months ago.
Source Video (VP9)
av1_test_Falcon9Timelapse360pcrf15.mkv (393.0 KB) - added by Ewout 11 months ago.
AV1 encoded CRF 15
av1_test_Falcon9Timelapse360pcrf20.mkv (392.3 KB) - added by Ewout 11 months ago.
AV1 encoded CRF 20
av1_test_Falcon9Timelapse360pcrf25.mkv (383.0 KB) - added by Ewout 11 months ago.
AV1 encoded CRF 25
av1_test_Falcon9Timelapse360pcrf30.mkv (333.0 KB) - added by Ewout 11 months ago.
AV1 encoded CRF 30
av1_test_Falcon9Timelapse360pcrf40.mkv (223.3 KB) - added by Ewout 11 months ago.
AV1 encoded CRF 40
av1_test_Falcon9Timelapse360pcrf50.mkv (117.9 KB) - added by Ewout 11 months ago.
AV1 encoded CRF 50

Change History (11)

Changed 11 months ago by Ewout

Source Video (VP9)

Changed 11 months ago by Ewout

AV1 encoded CRF 15

Changed 11 months ago by Ewout

AV1 encoded CRF 20

Changed 11 months ago by Ewout

AV1 encoded CRF 25

Changed 11 months ago by Ewout

AV1 encoded CRF 30

comment:1 Changed 11 months ago by cehoyos

  • Keywords libaom added

comment:2 Changed 11 months ago by Ewout

Maybe I jumped too quick to my conclusion, there is a little bit difference in bitrate between the different CRF values. I expected the difference to be way bigger since the range should be exponential. There should be roughly a factor two in file size difference between each file.

I'm now rendering additional video's with CRF values of 10, 40 and 50 to better understand the curve.

Last edited 11 months ago by Ewout (previous) (diff)

Changed 11 months ago by Ewout

AV1 encoded CRF 40

Changed 11 months ago by Ewout

AV1 encoded CRF 50

comment:3 Changed 11 months ago by Ewout

It looks like the encoder hit a ceiling around CRF 20 / 393 KB, where a increase in quality could not be realized even with a higher bitrate, because all the detail of the source video was already maintained. Next time I should use a higher quality source video.

This issue can be closed.

comment:4 Changed 11 months ago by llogan

  • Resolution set to invalid
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.