[mythtv] Why do we still use MARK_GOP_START?

Geoffrey Hausheer mythtv0368 at phracturedblue.com
Wed Jan 11 21:44:14 UTC 2006


I've run into some issues with the lossless mpeg2 commercial cutting
not occurring at the same frame specified by myth.
I'm still trying to track it down, but my guess is that it is related
to some difference in how the 2 tools count frames, but I am still
debugging.

Anyhow, one possibility to solve the issue was to load the key frame
index from mythtv, and ensure that at the same packet position, the
frame numbers were the same.  But there are 2 issues with this:
1) Apparently myth stores the previous key frame number with the
current file position when writing MARK_GOP_BYFRAME.  This makes
sense, as you may need the previous Sequence to calculate the 1st
frames in the current sequence if they are 'B' frames
2)  Myth is still using MARK_GOP_START which assumes a fixed key
distribution.  This would be ok if the key frame dist was stored
somewhere (which doesn't seem to be), and if myth had a way to ensure
the keyframedist was really a constant (which it doesn't actually do).
 This means that a DVB stream which can have a variable sequence
length could get marked as using a fixed key-frame distance if it
happens that the first sequence has 12 or 15 frames (I think).

So my question is really about (2).  Why do we still use this method
at all?  Can't we get rid of it, and just MARK_GOP_BYFRAME for all
mpeg2 files, and just force a rebuild of the markup-table when a
stream which used it is read?  Or is there some benefit to using
MARK_GOP_START?

.Geoff

.Geoff


More information about the mythtv-dev mailing list