Opened 6 years ago

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

Change History (11)

by Ewout, 6 years ago

Attachment: Falcon9Timelapse360p.mp4 added

Source Video (VP9)

by Ewout, 6 years ago

AV1 encoded CRF 15

by Ewout, 6 years ago

AV1 encoded CRF 20

by Ewout, 6 years ago

AV1 encoded CRF 25

by Ewout, 6 years ago

AV1 encoded CRF 30

comment:1 by Carl Eugen Hoyos, 6 years ago

Keywords: libaom added

comment:2 by Ewout, 6 years ago

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 6 years ago by Ewout (previous) (diff)

by Ewout, 6 years ago

AV1 encoded CRF 40

by Ewout, 6 years ago

AV1 encoded CRF 50

comment:3 by Ewout, 6 years ago

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 by llogan, 6 years ago

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.