[FFmpeg-devel] [PATCH] libavformat/mxfdec.c: support demuxing opatom audio without index

Mark Reid mindmark at gmail.com
Mon Jan 5 19:51:04 CET 2015

On Sat, Dec 27, 2014 at 7:35 AM, Tomas Härdin <tomas.hardin at codemill.se>

> On Sun, 2014-12-21 at 17:46 -0800, Mark Reid wrote:
> > hi,
> >
> > Media Composer generates audio OPAtom mxf files that don't have index
> segments.
> > All the uncompressed pcm audio essence data contained in a single KLV
> packet.
> >
> > This is my initial attempt to get demuxing working, I'm not too familiar
> with demuxing
> > audio or generating packets. I'm sure I'm not setting pts and dts
> correctly.
> > Using the mxf_read_packet_old function also works too but it reads the
> entire
> > essence KLV packet in to memory and these mxf files can be gigs.
> >
> > I haven't seen any raw video data encoded the same way yet, so this
> patch only
> > enables demuxing uncompressed pcm audio mxf files without indexs.
> >
> > I uploaded a sample mxf encoded to ftp://upload.ffmpeg.org/incoming
> >
> > opatom_missing_index.mxf
> >
> > I can also provide more samples if need.
> Have you looked at what mxf_handle_small_eubc() does? I feel this should
> work similarly.

I'll take a look at a eubc sample and see if its a similar thing. The real
problem I'm having is this OPAtom file doesn't have a index table,
mxf_read_packet and mxf_handle_small_eubc need one. I'm thinking maybe I
could generate a proper index table so that everything can continue as
usual and not implement a new read packet function? I'll play around a bit
more and see if I can come up with something better, I'm still trying to
wrap my head around edit_unit_absolute_offset. Thanks for taking the time
to review.

More information about the ffmpeg-devel mailing list