Log in

View Full Version : Question about "pulldown" option in x264


jpsdr
19th September 2012, 08:38
Hello.

I have a question of what will be done if i use for exemple "pulldown double".
If my input video is 30fps, and encode bitrate is 3000kb, what i want to know is :
- Will the video be encoded at its original framerate, and somehow only flagged that each frame is to be displayed twice at 60fps (each frame is duplicated after encode), but what has been encoded is a 30fps video => 100k for each frame ?
- Or will each frame be duplicated before encode, resulting an encode of a 60fps video => 50k for each frame ?

:thanks:

Warperus
19th September 2012, 12:20
If you have 30p video you'll end up in 60i MBAFF. It's still 30 "frames" per second, but specially coded, flagged and timed. Interlaced player will show each field separately, software player could do deinterlacing on the fly with different methods from showing 30 frames to mixing/doubling/predicting fields and producing 60 progressive scan frames.
Frames will not be duplicated before encode, original frame will be sawed line by line into 2 fields. For example, first field will contain every odd line, second will contain every even line in original frame. This is field order named top field first or upper field first.

jpsdr
19th September 2012, 17:01
.... This is strange, at least the 60i part.
I've found a tutorial about how to encode blu-ray compliant 720p29.97 (or 25), and it said to use "pulldown double" here (http://www.x264bluray.com/home/720p-encoding).
But... on 720 resolution, only progressive video is compliant for blu-ray, and only 23.976,24,50,59.94 is accepted. So, if video produced for 25 & 29.97 is interlaced 50 or 59.94, it will not work.
But, i've not personnaly tested what's said here yet.

Guest
19th September 2012, 17:41
AVC supports frame* pulldown via SEIs. I wonder if that is what "pulldown double" really means.

The frame pattern for 3:2 would be:

AAABBCCCDDEEEFF...

It's just like 3:2 field pulldown but with frames. It is used to take 23.976 progressive to 59.94 progressive.

Or maybe it means just frame doubling used to take 29.97 progressive to 59.94 progressive:

AABBCCDDEEFF...

Both of these can be flagged with appropriate SEIs.

If you encode one with 'pulldown double' and post a sample I can tell you what's what with it.

jpsdr
19th September 2012, 19:42
I'll gladly take the offer.

You'll find here (http://jpsdr.free.fr/XBMC/Test.rar) 2 files, one with and the other without pulldown.
Both from same file, same encode parameters (except pulldown of course).
If you can at least get the file asap, and tell me when done, that i can delete it.

:thanks:

Guest
20th September 2012, 01:59
I have it downloaded but can't look at it until later tonight.

Guest
20th September 2012, 04:21
OK, it's the second case I described:

Or maybe it means just frame doubling used to take 29.97 progressive to 59.94 progressive.

AABBCCDDEEFF... Each progressive picture is preceded by an SEI signaling frame doubling. So during playback every frame is to be displayed twice and the stream's frame rate is set to 59.94.

jpsdr
20th September 2012, 08:38
Thanks, it's great help for me, solving an issue i haven't figured out "what to do". Is it normal that in DGIndex it's played at twice rate ? (Play duration of 5s instead of 10s).

Guest
20th September 2012, 13:36
Is it normal that in DGIndex it's played at twice rate ? (Play duration of 5s instead of 10s). Yes, it's expected because DGIndexNV does not honor any pulldown; remember it's not intended as a player but rather an indexer and analysis tool. (You also won't see any combing if you play a soft 3:2 stream.) It shows only the coded frames. DGDecodeNV has the capability of honoring the pulldown and so would play at the correct rate. In DGIndexNV you can see that pulldown is present by looking at the info dialog's field and frame repeats boxes during save project. Also, the coded# and playback# fields will be different. The playback# is what you would get when pulldown is honored. You can also see repeats in the picture structure field of the DGI file FRM lines (the value for frame doubling is 7 in the penultimate field position on the FRM line). Finally, 2042 does not count frame repeats accurately during play/preview and this is fixed in 2043 (very close to release).

EDIT: I have a release candidate here: http://neuron2.net/misc/dgdecnv2043rc1.zip

jpsdr
20th September 2012, 16:09
Ok, thanks for these informations.