Opened 2 months ago

Closed 2 months ago

#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 2 months ago.
Source Video (VP9)
av1_test_Falcon9Timelapse360pcrf15.mkv (393.0 KB) - added by Ewout 2 months ago.
AV1 encoded CRF 15
av1_test_Falcon9Timelapse360pcrf20.mkv (392.3 KB) - added by Ewout 2 months ago.
AV1 encoded CRF 20
av1_test_Falcon9Timelapse360pcrf25.mkv (383.0 KB) - added by Ewout 2 months ago.
AV1 encoded CRF 25
av1_test_Falcon9Timelapse360pcrf30.mkv (333.0 KB) - added by Ewout 2 months ago.
AV1 encoded CRF 30
av1_test_Falcon9Timelapse360pcrf40.mkv (223.3 KB) - added by Ewout 2 months ago.
AV1 encoded CRF 40
av1_test_Falcon9Timelapse360pcrf50.mkv (117.9 KB) - added by Ewout 2 months ago.
AV1 encoded CRF 50

Change History (11)

Changed 2 months ago by Ewout

Source Video (VP9)

Changed 2 months ago by Ewout

AV1 encoded CRF 15

Changed 2 months ago by Ewout

AV1 encoded CRF 20

Changed 2 months ago by Ewout

AV1 encoded CRF 25

Changed 2 months ago by Ewout

AV1 encoded CRF 30

comment:1 Changed 2 months ago by cehoyos

  • Keywords libaom added

comment:2 Changed 2 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 2 months ago by Ewout (previous) (diff)

Changed 2 months ago by Ewout

AV1 encoded CRF 40

Changed 2 months ago by Ewout

AV1 encoded CRF 50

comment:3 Changed 2 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 2 months ago by llogan

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