On Tue, Apr 24, 2018 at 02:46:56PM +0530, vdi...@akamai.com wrote: > From: Vishwanath Dixit <vdi...@akamai.com> > > This utility function creates 64-bit NTP time format as per the RFC > 5905. > A simple explaination of 64-bit NTP time format is here > http://www.beaglesoft.com/Manual/page53.htm > --- > libavformat/internal.h | 8 ++++++++ > libavformat/utils.c | 20 ++++++++++++++++++++ > 2 files changed, 28 insertions(+) > > diff --git a/libavformat/internal.h b/libavformat/internal.h > index 3582682..e9f758f 100644 > --- a/libavformat/internal.h > +++ b/libavformat/internal.h > @@ -240,6 +240,14 @@ void ff_read_frame_flush(AVFormatContext *s); > uint64_t ff_ntp_time(void); > > /** > + * Get the NTP time stamp formatted as per the RFC-5905. > + * > + * @param ntp_time NTP time in micro seconds (since NTP epoch) > + * @return the formatted NTP time stamp > + */ > +uint64_t ff_time_ntp_format(uint64_t ntp_time); > + > +/** > * Append the media-specific SDP fragment for the media stream c > * to the buffer buff. > * > diff --git a/libavformat/utils.c b/libavformat/utils.c > index c25eab4..b59d426 100644 > --- a/libavformat/utils.c > +++ b/libavformat/utils.c > @@ -4637,6 +4637,26 @@ uint64_t ff_ntp_time(void) > return (av_gettime() / 1000) * 1000 + NTP_OFFSET_US; > } > > +uint64_t ff_time_ntp_format(uint64_t ntp_time) > +{ > + uint64_t ntp_ts, frac_part; > + uint32_t sec, usec; > + > + //current ntp time in seconds and micro seconds
> + sec = ntp_time / 1000000; This can be truncated > + usec = ntp_time % 1000000; > + > + //encoding in ntp timestamp format > + frac_part = usec * 0xFFFFFFFFULL; > + frac_part /= 1000000; > + > + ntp_ts = (uint64_t) sec; > + ntp_ts <<= 32; > + ntp_ts |= frac_part; > + > + return ntp_ts; this looks similar to what av_rescale does. also ff_time_ntp_format() is a bad name. It does not give any hint on if ntp time is the input or output of the call [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Republics decline into democracies and democracies degenerate into despotisms. -- Aristotle
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel