On Wed, 5 Mar 2014 23:26:24 +0100, Luca Barbato <[email protected]> wrote: > From: Matthieu Bouron <[email protected]> > > Signed-off-by: Luca Barbato <[email protected]> > --- > libavformat/mxf.c | 40 ++++++++++++++++++++++++++++++++++++++++ > libavformat/mxf.h | 7 +++++++ > 2 files changed, 47 insertions(+) > > diff --git a/libavformat/mxf.c b/libavformat/mxf.c > index d3798cd..e99f31a 100644 > --- a/libavformat/mxf.c > +++ b/libavformat/mxf.c > @@ -106,3 +106,43 @@ int ff_mxf_decode_pixel_layout(const char > pixel_layout[16], enum AVPixelFormat * > > return -1; > } > + > +static const MXFSamplesPerFrame mxf_spf[] = { > + { { 1001, 24000 }, { 2002, 0, 0, 0, 0, 0 } }, // FILM 23.976 > + { { 1, 24}, { 2000, 0, 0, 0, 0, 0 } }, // FILM 24 > + { { 1001, 30000 }, { 1602, 1601, 1602, 1601, 1602, 0 } }, // NTSC 29.97 > + { { 1001, 60000 }, { 801, 801, 801, 801, 800, 0 } }, // NTSC 59.94 > + { { 1, 25 }, { 1920, 0, 0, 0, 0, 0 } }, // PAL 25 > + { { 1, 50 }, { 960, 0, 0, 0, 0, 0 } }, // PAL 50 > +}; > + > +static const AVRational mxf_time_base[] = { > + { 1001, 24000 }, > + { 1, 24}, > + { 1001, 30000 }, > + { 1001, 60000 }, > + { 1, 25 }, > + { 1, 50 }, > + { 0, 0} > +}; > + > +const MXFSamplesPerFrame *ff_mxf_get_samples_per_frame(AVFormatContext *s, > + AVRational time_base) > +{ > + int idx = av_find_nearest_q_idx(time_base, mxf_time_base); > + AVRational diff = av_sub_q(time_base, mxf_time_base[idx]); > + > + diff.num = abs(diff.num); > + > + if (av_cmp_q(diff, (AVRational){1, 1000}) < 0)
Shouldn't this be '>' ? -- Anton Khirnov _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
