On Thu, Mar 04, 2021 at 03:57:38 -0500, Mark Filipak (ffmpeg) wrote: > Well, per rational.h, 'num' & 'den' are both integers. > > Now, I don't know how '720000' is stored. Is it stored as an int64?
They are defined as "int", which can be platform dependant. ffmpeg assumes/guarantees ints to be at least 32 bits. > I don't know, but I do know that it can't be stored as an 8-bit > integer or a 16-bit integer or anything else that has 8-bit or 16-bit > resolution. If you mean the number 720000, that's correct. > That includes AVRational. 720000 can't be stored as > AVRational. AVRational just doesn't have enough resolution. Huh? You didn't even wait for the answer to how it is stored. And you even asked whether it was 64 bits. This would work just fine with 64 bits. It's a rational number of two integers with at least 32 bits. 1/720000 is probably stored as { 1, 720000 }, but could also be { 2, 1400000 } for example, unless they get reduced automatically (I'm too lazy to check). > I'm sure you know that the running time produced by 'PTS's depends on frame > rate *and* time_base. For example, for 23.976fps and TB = 1/(720000 ticks/s) > = 1.3[8..] µs/tick, a PTS of +9223372036854775800 indicates a > 307138595965860 maximum frame number. Huh? At 720000 ticks/seconds, and PTS being number of ticks, you can create timestamps spanning (2^63 - 1) / 720000 seconds which is ~12810238940076 seconds which is ~400000 years. > Do you agree with my figures? Do you see the difference between time > extents and time resolution? I don't agree with your figures. Moritz _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".