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