[mythtv] New MPEG2 commercial-cut code ready for testing

Geoffrey Hausheer mythtv0368 at phracturedblue.com
Sat Nov 19 11:23:18 EST 2005


On 11/19/05, Cory Papenfuss wrote:
> > It also should remove all deadlock conditions.  The code should
> > instead abort with an assert if it detects a deadlock (which at least
> > tells the user what is going on, and may help debug)
> >
> Well, that seems true enough:
> Didn't see much useful out of end of the log4:
> PTS discrepency: 609664731 != 609662909 on B-Type (13)
> PTS discrepency: 609667975 != 609665912 on B-Type (14)
> PTS discrepency: 609671216 != 609668915 on P-Type (15)
> VID: P #:15 nb: 2 pts: 609671216 dts: 609659906 pos: 879b840
> Id:0:  1:52:54.124 V:83 MP2: 199 AC3:
> VID: B #:13 nb: 2 pts: 609664731 dts: 609664731 pos: 876f3e8
> Id:0:  1:52:54.052 V:82 MP2: 199 AC3:
> VID: B #:14 nb: 2 pts: 609667975 dts: 609667975 pos: 88a27c8
> Id:0:  1:52:54.088 V:81 MP2: 199 AC3:
Run with 'd 3' (and just let the output go to stdout).  then send me
the previous 100 lines (or preferably more).
the Id lines are now much more useful:
Id:# (0 is video, 1 is audio)
V:# is the number of free slots in the queue
V:#, MP:#, and AC3:# are the number of free slots in the respective queue.

When one get sto 0 and the other is at 199, the deadlock breaker kicks in.
With that info, along with the time it should be able to find what is going on.

In the above, it is already obvious something is wrong.  your video
queue is 60% full, but the MP2 queue is empty.  This means that either
there haven't been any audio frames for a long time, or the audio is
significantly behind the video from a PTS perspective.

I need enough log that I can see enough Id:0 and Id:1 lines to figure
out what is wrong.

.Geoff

> > support ATSC output (as opposed to converting to PS)
> Does it currently require PS or will any TS work too?  I don't have TS
> sources, but just curious.
If I write the code, then you can convert PS to TS, so it won't matter
what your input format is.

>
> > enforce DVD compliance (add borders or clip to resize to a given
> > dimension without reencoding, and build new I-frames as needed to meet
> > the GOP requirements).
> >
>         I didn't even think that could be done.  It thought a frame was a
> frame and you were stuck with the size unless you transcoded.
Right, I'd have to re-encode a frame in the middle of the GOP to break
the GOP down into valid number of frames.  But as for changing the
resolution, that can be done without re-encoding as long as you are
either rmeoving blocks or adding a border.  you can't resample, of
course.  I've never actually looked into how it works, but there are
some utilities out there that do it.


More information about the mythtv-dev mailing list