From: Burkhard P. <pl...@ig...> - 2014-04-10 08:44:14
|
Hi, Am 09.04.2014 21:46, schrieb Erik Johansson: > Hi Burkhard, > >> The solution is to unpack the indices (stts, ctts, stco, stsc, >> stss and stps) and make one single index table from them. > > Incidentally, I was writing code to create such an index outside of > libquicktime just the other day. Nice to have support for it in the > library! :-) Of course we can think of exporting the index information somehow in the public API. >> In the meantime you can help a bit by calling qtdump on your files (ideally >> with really weird GOP patterns) and check if the generated index makes sense. > > I've given it a spin across a selection of the more convoluted files I > have at hand. It holds up just fine so far. Good. I also tested it with H.264 streams with B-Pyramids. As far as I see, the reference B-Frames are correctly detected also. What I don't have at hand are files with stps atoms (partial sync sample). > While on the topic of indexes... I've lately come across a few files > from different sources that makes use of multiple entries in the stsd > sample descriptions. For these files, it is also necessary to keep > track of the 'description' entry in the stsc table. I guess that will > require one more filed in the lqt_packet_index_entry_t struct, That can be added. > among > other changes. And these would be a LOT. In the worst case it means to change *all* stream parameters (image size, codec, colormodel....) in the middle of the file. > Kind regards, > // Erik Burkhard |