Follow up on ProRES and h265 earlier resultsI have analyzed some of the files (x1 lens, cinematic stabilizer), and skimmed the remaining files (ProRES 422 HQ, 25fps 1/50s etc). The behaviour is probably a characteristic of Cinema P3, as I cannot reproduce the behaviour in BMC.
Then general conclusion is, that almost all frames are constant 25 fps (0.040000 seconds). Constant in anyones book.
Sample contains 672 frames (26.88 seconds, if constant)
There are consistent odd values of “0.038333 seconds” (similar to “26,0892252 fps”) at the frames 59, 206, 350, 496 and 643 - a one frame deviation roughly each 150 frames or each 6 seconds or so.
The last frame 672 is contains the value “0.063333 seconds” similar to “15.7903048 fps”, but this frame seems to be “overshoot” garbage (not part of the actual “Nominal, minimum and maximum frame rate specs for the file).
The ProRES 422 file ends with a frame (706) value of “0.071667 seconds” similar to “13,9534235 fps”, and is not part of the nominal, minimum and maximum specifications for the file. Everything is absolutely constant at 0.040000 seconds per frame (25 fps) except the frames 74, 220, 367, 515, 659 - also a one frame deviation roughly each 6 seconds or so.
The h265 40MB file ends with a frame 704, that is absolutely constant (0.040000 seconds or 25fps), but the content is also marred by periodic odd “packet starts” (all frame sizes are marked “0.040000 seconds”, but packet start times become weird at packet 76 and 77, with sequences like (start and duration)
2.200000 0.040000
2.120000 0.040000
2.080000 0.040000
2.160000 0.040000
2.358333 0.040000
2.278333 0.040000
2.240000 0.040000
2.318333 0.040000
2.518333 0.040000
2.438333 0.040000
The odd timing “glitch” ror otherwise constant frame sizes In a later case, around frame 221, there’s again a “glitch” in timing, but frame content is constant still:
7.878333 0.040000
7.838333 0.040000
7.918333 0.040000
8.116667 0.040000
8.038333 0.040000
7.998333 0.040000
8.076667 0.040000
8.276667 0.040000
8.196667 0.040000
8.156667 0.040000
Again around 150 frames or 6 seconds apart. Give or take. Same effect around frame 366 (where duration is constant, but timestamp is positioned earlier than should be the case):
13.796667 0.040000
13.756667 0.040000
13.836667 0.040000
14.035000 0.040000
13.955000 0.040000
13.916667 0.040000
13.995000 0.040000
14.195000 0.040000
Note, that frames need not be ordered sequentially in the MOV file. Also around 150 frames and 6 seconds later (give our take).
The 20MB/sec h265 MOV file shows a similar behaviour to the 40MB/sec file. All frames are marked “0.040000” second duration, but frame starting time is adjusted earlier each 150 frames or 6 seconds or so.
ConclusionThere is a periodic glitch of an earlier frame starting time, with a correct frame size (h265 above examples) alternatively periodically shorter duration frames (ProRES). In the latter case, the actual frame content may still be a “full 0.040000 second” frame, that is seemingly placed earlier than possible on the timeline, if previous frame was constant.
It’s probably just codec specific differences on the same periodic glitch. Whether a frame is seen as having a shorter duration (may not be the actual case) due to the following frame (with expected duration) starting earlier or a sequence of frames is marked as starting earlier may not be significant. Just a manifestation of a similar “glitch”.
Suspicion (no proof)I get the feeling - not proof - that all frames are in fact constant 0.040000 second frames (except any trailing “possible garbage” frame, that is not part of file statistics), but roughly each six seconds a “glitch” forces the use of a timestamp, that is ”stamped" earlier, than should be the case, if all frames have the same duration (0.040000 seconds).
I see this as Cinema P3 specific (here ProRES 422HQ):
Billedratemodus : Variabel
Billedfrekvens : 25,000 FPS
Minimum billedfrekvens : 25,000 FPS
Maksimum billedfrekvens : 26,087 FPS
compared to Blackmagic Camera App (ProRES 422HQ):
Billedratemodus : Variabel
Billedfrekvens : 25,000 FPS
Minimum billedfrekvens : 24,979 FPS
Maksimum billedfrekvens : 25,010 FPS
Earlier today, that shows slight variations from nominal frame rate (25 fps) on the same iPhone with similar settings.
Either way, it’s hardly ideal.
Heads-up:It seems, that there is a POTENTIAL from iOS 17.2 to get CONSTANT frame rates on the x0.5 and x1 lenses, that - at least in my samples - are mired in the similar periodic glitch, affecting timestamps, but not necessarily actual frame content.
The why or how, someone else will have to look into.
Regards