[mythtv] Mythtv mpeg frame counting - patch?
danielk at cuymedia.net
Tue Jun 5 12:34:45 UTC 2007
On Tue, 2007-06-05 at 02:15 -0400, Bill wrote:
> Mythtv does not always count frames correctly for mpeg files (ref ticket 799
> comment from danielk). As a result the length shown in the OSD is sometimes
> too short (more often than not for my mpeg video files). I am looking at
> writing a patch for this, but want to ask for feedback on a number of things
> 1. Is anyone else already working on a patch? I don't want to duplicate
Janne may have started on it, but he's not working on it
> 2. Any thoughts or ideas on the patch? Ticket #1693 looks like it might be
> a useful starting point.
No, it is not. It tries to solve a cosmetic aspect shared
by this problem and another completely different problem
without fixing either the of the actual problems.
There are basically two approaches you can take: You can
get ffmpeg to find the keyframes for you by having it do a
partial decode (You could, for example, implement a dummy
avformatdecoder and have it do a dummy XvMC decode.) The
other option is to look at the MPEG specs and do a TS->PS
conversion then find the keyframes, then once that is working
eliminate the conversion and just keep track of what part
of the TS streams could possibly indicate a new frame.
> 3. Anything to watch out for that could break as a result? I can only test
> DVB and mpeg playback. Can't test IVTV and other stuff.
You would need to collect a library of streams that work and
are broken with the current code, including the working IVTV
streams before embarking on this fix. I recommend that you
work on something else first, as the implementation options
for fixing #799 require either a good knowledge of ffmpeg or
the a good knowledge of the MPEG specs (which you may need
to pay a few hundred $ for). I see you also posted about
GOP_BYFRAME vs GOP_START, that is a much simpler problem to
tackle and will help you familiarize yourself with MythTV.
> Right now both recording and playback mis-count frames in the same way.
Yup, the same algorithm is used. If we miscount, it is best
that we do it consistently.
More information about the mythtv-dev