Log in

View Full Version : Framerate-aware encoding and crf mode


Boulder
7th June 2011, 08:27
(got no answers at d10 so have to repeat the same question here:))

Hello,

I'll be shortly processing a batch of old BBC TV series, which infamously have both progressive and interlaced parts. My idea is to smart-bob the interlaced parts to 50p and, of course, leave the progressive parts as they are at 25p. Then, to enable joining the sections with Avisynth, use AssumeFPS(25) on the 50p parts and encode with x264 as a single file at 25fps.

Now that x264 is more framerate/vfr-aware, is it enough to feed the timestamp file when encoding or is there something else I need to do to do a proper encode? I have done some before-after comparisons and based on those, a 50fps stream needs CRF 16.55 compared to CRF 19 at 25fps. So I'm also going to use zones to adjust CRF as needed. I was just wondering whether x264 recognizes the 50p parts by the timecode alone, as the note says "Note that to take full advantage of this, x264 must encode your video at the correct framerate, with the correct timestamps".

Lyle_JP
7th June 2011, 23:59
since you are using AssumeFPS(25) on the 50p portions, you are not using any VFR, and crf calculations will remain constant.

sneaker_ger
8th June 2011, 00:10
since you are using AssumeFPS(25) on the 50p portions, you are not using any VFR, and crf calculations will remain constant.

Using AssumeFPS() or not doesn't make any difference, because AviSynth is inherently CRF anyways. Feeding the timecode file to x264 via --tcfile-in is sufficient.