[mythtv] Keyframe adjust table (posibel bug(s))
Torbjörn Jansson
torbjorn.jansson at mbox200.swipnet.se
Sun Jan 4 17:13:11 EST 2004
So how shoud this be fixed?
What woud be the best way of handling this problem in the directshow
filters?
Shoud I just ignore the seektable and kfa table if keyframeadjust_offset>0 ?
I have a thread that is started when the seektable is missing and not
streaming from mythbackend directly that takes care of scanning the file for
video sync frames and building a new seektable internaly.
The problem is that this broken seektable messes up the timestamp
calculations, so with my sample file (Antz) if I seek to a position near the
end of the file, I will have to wait 8-9 minutes afte a seek before the
video starts.
I gues I will have to consider the seektable broken if keyframeadjust is >0
> > Maybe i'm missing
> > something but the keyframe adjust table is keyframe numbers
> and not frame
> > numbers, so how can "if (keyiter.key() == curFrame)" work
> if curFrame is
> > a
> > frame number and keyiter.key() is a keyframe number?
>
> Yep, it looks broken. As far as I can tell it has been
> broken for quite
> a long time. At least as far back as adding FIFO support,
> and maybe as
> far back as when I first wrote it. Interesteing that it's
> never caused
> me any issues.
>
> >
> > After i have transcoded a file, the offsets in the seektable isn't
> > pointing
> > to video sync frames any longer, they are a few
> frameheaders earlier than
> > the video sync frame.
>
> That's not good
>
> >
> > Is there any tool that can fix a broken seektable in a nuv
> file incase
> > you
> > terminated the backend during a recording? I tried
> mythcommflag but that
> > didn't work.
>
> you probably need to hack nuppeldecoder to ignore the kfa 'K' frame
> during openFile. But I haven't actually tried it.
>
> >
> > When a file is transcoded the data in recordedmarkup table
> for that file
> > is
> > removed, i can understand that, but when is it rebuilt?
>
> It's not. The transcoded file is gauranteed to contain a
> seek table, so
> the one in the database isn't needed anymore.
>
> It sounds like I need to go back and check this stuff again.
> Honestly, I
> don't use the MPEG4->MPE4 commerical cutting stuff often, so
> it has been
> tested (by me) a lot less throuhly than the MPEG2->MPEG4 stuff which I
> use every day (though I've been having some problems since I upgraded
> mythtv yesterday)
>
> Also, I am considering trashing the KFA table and using
> micro-jumps; that
> is just specify a short (1-30) frame jump instead of moving the
> key-frames around. Since this is likely the way we'll need
> to deal with
> MPEG2, it probably makes sense to be consistant. The
> cleanest solution
> would probably be to have a converter than can replace KFA tables with
> the micro-jump table, so we don't need to keep the KFA support code
> around. Anyhow, none of that helps you right now, and I'm
> not sure I'll
> even do it (I'm planning on converting to an all MPEG2 setup,
> which would
> let me save shows to DVD easily in the future, which means not much
> further development by me on the nuv side of things).
>
> .Geoff
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
>
More information about the mythtv-dev
mailing list