Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: tech questions
Arpi writes:
> > > Hmm, good to know... I thought the driver puts anything to card's buffer,
> > > and the card handle any size of packets.
> > >
> > > Changed my PES packetizer to create 2048 byte packets _including_ headers,
> > > and it seems to work better now. At least my favourite stream which hanged
> > > after 12 sec still playing (over 5 mins).
>
> It solved the problem, I could play a whole DVD film without problems.
>
> > >
> > > Maybe a memleak or other overflow in the driver's re-packetizer?
> >
> > That could be. The re-packer is in dvb_firm.c
> > If you find something please tell us.
> Ehh. It's a big hex dump of something, maybe the ARM code... I cannot
> even read it :(
Sorry, typo, I mean dvb_filter.c
> > The 2048+header bytes packets also always result in one packet with 2048
> > bytes and one very small one with just the header size.
> > Copying just those few bytes is very slow compared to copying
> > 2048 byte blocks and the ARM only has 40 MHz.
> It explains the problem.
>
> > You will also notice that the PES data coming from the board
> > has stuffing bytes to 4-byte (DWORD) align the payload to
> > the payload in the internal buffers similar as it was done in the
> > AVPES format. Copying non-aligned data is slow on ARMs.
> So I should align payload (mpeg data only or PTS?) to dword?
You don't have to. The aligment is not that critical if one is only
playing back. Avoiding a whole IRQ-copy-cycle for just 9 or
so header bytes is more important.
Ralph
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index