View Full Version : Changes in CRF?
CommonMortal
30th May 2012, 22:18
I 've been doing again some reading in old posts and i have found a quote from 2 users, which is quite recent (Dec 2011):
Keiyakusha says: "Crf values are changed a bit so I gues you probably want to use 16 right now."
And "Audionaut" confirms by saying: "Also, as Keiyakusha pointed out, you might want to re-explore your crf setting."
http://forum.doom9.org/showthread.php?t=163654
This implies that changes have been done in x264, where the CRF values have changed, with a lower value now needed to equal an older higher value (ex. 16 is the "new" 18).
However, i was remembering clearly the opposite, since i 've been reading the logs of the development at the time:
commit 22bfd310abced4df0b11c9620b152e5cfe746d43 r1867
Author: Jason Garrett-Glaser <darkshikari@gmail.com>
Date: Thu Dec 23 19:33:01 2010 -0500
VFR/framerate-aware ratecontrol, part 2
MB-tree and qcomp complexity estimation now consider the duration of a frame in their calculations.
This is very important for visual optimizations, as frames that last longer are inherently more important quality-wise.
Improves VFR-aware PSNR as much as 1-2db on extreme test cases, ~0.5db on more ordinary VFR clips (e.g. deduped anime episodes).
WARNING: This change redefines x264's internal quality measurement.
x264 will now scale its quality based on the framerate of the video due to the aforementioned frame duration logic.
That is, --crf X will give lower quality per frame for a 60fps video than for a 30fps one.
This will make --crf closer to constant perceptual quality than previously.
The "center" for this change is 25fps: that is, videos lower than 25fps will go up in quality at the same CRF and videos above will go down.
This choice is completely arbitrary.
http://mirror01.x264.nl/x264/changelog.txt
The way i understand it, a source at 23.976 fps, being lower than 25 fps, has gone UP in quality compared to the past. So the new "18" gives MORE quality than the "old" crf 18 (at the same settings and the same source). But the 2 users above, imply the opposite and thus advice the user to use CRF 16... :confused:
Am i missing something else? Has there been some other change in CRF where the "golden standard" has shifted from crf 18 to crf 16 (yes i know it's all subjective, but the posts in the link above, imply that there has been a change in CRF wich now makes 16 the new "standard"). The way i interpret it on the other hand, is that the "new 18" is more like an old "17,8", so it's better quality now, so why move to 16...
Thank you.
sneaker_ger
30th May 2012, 22:33
The way i understand it, a source at 23.976 fps, being lower than 25 fps, has gone UP in quality compared to the past. So the new "18" gives MORE quality than the "old" crf 18 (at the same settings and the same source).
Correct.
But the 2 users above, imply the opposite and thus advice the user to use CRF 16... :confused:
Because the folks in that thread were not talking about frame rates, but about other things. The frame rate awareness is way older than the discussion in that thread and the definition of CRF changes relatively often.
Why exactly Keiyakusha recommended 16 instead of 18 is beyond me though. Usually people advice to increase CRF for the switch from 8 bit to 10 bit encoding, especially for banding vulnerable anime content.
I think that's also why Audionaut used a more general expression of "re-exploring" instead of mentioning a specific direction (up/down).
CommonMortal
30th May 2012, 22:47
Hmm... Thanks for the reply. The thing is, the op in that thread isn't adviced on 10 bit at the end, but simply on his current settings and Keiyakusha mentions that "crf values changed a bit". So, even the fps change isn't that, what other change has happened that would justify the advice to go 16? Because none of the 2 says "if you go 10 bit, lower to 16". They comment his current settings which he posted in the 1st post... The problem is that Audionaut while being more vague, gave me the impression of agreeing with Keiyajusha... Anyway, since you can't understand why exactly he recommends 16, at least i am not alone.
Thanks.
turab
30th May 2012, 22:57
Just a thought. With 10-bit encoding, 12 ((10-8)*6) is added to the crf value so that quality is consistent compared to 8-bit encoding. Maybe they interpreted that in a wrong way?
CommonMortal
30th May 2012, 23:17
Beats me... I have no clue about 10 bit encoding. I just google in doom9 terms that i find useful to understand better. I did the same for crf. I 've been reading old posts for over 2 hours. And just when i was pretty sure that crf 18 was the "baseline", i stumbled upon that thread and i was "oh no, i missed something! There was a new change that i didn't read about"...
sneaker_ger
30th May 2012, 23:20
Hmm... I see now that the OP mentions he had to "change" "weightp", which was introduced in 2009. So frame rate aware CRF could have indeed been new for the OP, though decreasing it would only make sense for higher frame rates as you already found out. But since he didn't mention the frame rate until Keiyakusha's and Audionut's first posts, that shouldn't have played a role in the recommendation. (Far from it, actually, as --keyint 240 kinda hints 24p, < 25p, and which is most prevalent in today's animes anyways)
Still don't know why Keiyakusha recommended changing from 18 to 16, though. (Or maybe my memory telling me going 10 bit allows for increased CRF is wrong?)
mandarinka
31st May 2012, 00:26
Just a thought. With 10-bit encoding, 12 ((10-8)*6) is added to the crf value so that quality is consistent compared to 8-bit encoding. Maybe they interpreted that in a wrong way?
The QP values are 12 higher, not crf values. You don't need to think about qp values, unless you want to use --qpmax. However, CRF is supposed to stay around the same, the user-facing value of crf is consistent.
In any case, you are supposed to use +- the same crf for both 10bit and 8bit. (Although it doesn't necessarily have to result in equal quality).
The "meaning" of CRF can change easily. It is dependent on settings, so for example when b-pyramid got enabled by default, the bitrates resulting from the same CRF were suddenly lower (IIRC).
Audionut
31st May 2012, 03:23
To the OP, Wow! Mate, if you're going to pick at my previous statements, atleast spell my nick right ;)
Crf values are changed a bit so I guess you probably want to use 16 right now.
Guess (http://www.thefreedictionary.com/guess)
guess (gs)
v. guessed, guessˇing, guessˇes
v.tr.
1.
a. To predict (a result or an event) without sufficient information.
b. To assume, presume, or assert (a fact) without sufficient information.
Probably (http://www.thefreedictionary.com/probably)
probˇaˇbly (prb-bl)
adv.
Most likely; presumably.
If you have an understanding of the meaning of those 2 words, then my statement makes complete sense.
Also, as Keiyakusha pointed out, you might want to re-explore your crf setting.
People can make recommendations based on the limited information available to them. These recommendations are just that, recommendations. Think of them as starting points for actually doing your own work rather then jumping on a forum and trying to get someone else to create the best encoding settings for you.
At the end of the day, the CRF rules apply like this.
Pick the value that suits you.
And this is not a complicated rule when you have an understanding of how CRF works.
Smaller number = more bitrate/higher quality
Larger number = less bitrate/lower quality
CommonMortal
31st May 2012, 06:55
Sorry about your nickname... My mistake...
Thank you for your explanation. I don't doubt that one can make recommendations and i perfectly understand this. Simply, with my poor mind, when someone goes on a forum asking for settings critique and says he uses crf 18 (the most commonly accepted as baseline for "transparency"), then someone replies that there have been changes to the crf, so he 'd better use 16 and another seems to indirectly support him, i imagined there was a valid reason on doing so (the "changes in the CRF"). If i had read only your post, i wouldn't have asked. The problem is your post came after Keiyakusha's. English is not my native language, don't expect me to always draw the same conclusion as a native after reading a discussion.
My comprehension was:
- Person A asks for critique on his settings, where he uses crf 18.
- Person B replies that "Crf values are changed a bit so I gues you probably want to use 16 right now"
- Person C replies: "Also, as Keiyakusha pointed out, you might want to re-explore your crf setting"
Poor me understood: There has been a change in CRF making it now more appropriate to lower to 16, since one person is being clear about it and another supports the previous person's point, who was talking about 16. So i thought "something changed and 16 is now the new 18".
Thank you for clearing this out. I wasn't trying to pick on, i was simply try to understand the reasoning behind the recommendation (related or not to the "changes").
P.S.: Thank you for the dictionary analysis, but it was not really needed, i know that.
Dark Shikari
31st May 2012, 07:27
x264 hasn't had any changes that significantly affect the CRF scale in literally years and all of these changes were designed to minimize the overall effect.
Don't listen to cargo-cult advice on x264 settings. 16 is never the "new 18", and anyone giving such "advice" has no idea what they're talking about.
CommonMortal
31st May 2012, 07:36
x264 hasn't had any changes that significantly affect the CRF scale in literally years and all of these changes were designed to minimize the overall effect.
Don't listen to cargo-cult advice on x264 settings. 16 is never the "new 18", and anyone giving such "advice" has no idea what they're talking about.
Thank you. I 've searched through google both doom9 and doom10 yesterday for hours for these changes and couldn't find anything, so i thought it was something introduced recently that wasn't so easily "googlable", that's why i started a new topic to ask.
the_weirdo
31st May 2012, 08:04
If I may add: The OP of that thread asked about how he should update his x264 settings for animated content that was used a long time ago. Some (or maybe many) people now consider CRF 16 is the "baseline" for transparent encodes of these contents (or at least anime) with 8-bit encoding. That's why Keiyakusha recommended him to use CRF 16.
My English is not good so please excuse me.
CommonMortal
31st May 2012, 08:28
If I may add: The OP of that thread asked about how he should update his x264 settings for animated content that was used a long time ago. Some (or maybe many) people now consider CRF 16 is the "baseline" for transparent encodes of these contents (or at least anime) with 8-bit encoding. That's why Keiyakusha recommended him to use CRF 16.
My English is not good so please excuse me.
Ah, i 've never encoded anime myself, so that can be an explanation. It still raises questions about the "changes" that apparently affected only anime and whether the baseline for anime was always 16 or was 18 and dropped to 16, but from the moment that film content isn't concerned, i don't intend to dig further into it.
Thank you.
P.S.: Your english is better than mine. :)
turab
31st May 2012, 12:48
The QP values are 12 higher, not crf values. You don't need to think about qp values, unless you want to use --qpmax. However, CRF is supposed to stay around the same, the user-facing value of crf is consistent.
The qp value is based on the crf value. It just varies so that perceptual quality is constant. That's what I meant anyway.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.