Discussion:
[xiph-rtp] Theora RTP header design
Ralph Giles
2005-04-10 17:01:00 UTC
Permalink
Andrey,

I know you said RTP was outside your experience, but I wanted to ask
your opinion on a design question with the Theora RTP header design.

(That, and on one else has commented :)

We're trying to decide the length of the decoder setup id field, which
occurs in the RTP payload header of every packet, marking through an oob
table what set of headers the decoder should use to parse the packet.

Put succinctly, from the point of view of an embedded designer, is it
better to save 2 bytes per packet, or have the packet data start on a 32
bit boundary?

This won't help with the theora packet header assembly problem you have,
but we do have a chance to make the RTP headers easier to paste on than
the Ogg ones, and there's no explicit CRC like there is in Ogg.

Just curious,
-r
Andrey Filippov
2005-04-10 18:44:24 UTC
Permalink
Ralph,

In this case (from Elphel point of view) I would vote for 32 bit alignment:
- anyway we use big frames were these 2 bytes - not a big deal;
- in the hardware designs I try to leave some room for the future
extensions that did not come to mind when developing first
implementation - these 2 bytes could later turn out to be useful;
- yes it is easier to handle 32-bit aligned data. In my case now it is
not that critical (as long as the length stays the same), but it can
simplify things for other implementations.

Andrey
Post by Ralph Giles
Andrey,
I know you said RTP was outside your experience, but I wanted to ask
your opinion on a design question with the Theora RTP header design.
(That, and on one else has commented :)
We're trying to decide the length of the decoder setup id field, which
occurs in the RTP payload header of every packet, marking through an oob
table what set of headers the decoder should use to parse the packet.
Put succinctly, from the point of view of an embedded designer, is it
better to save 2 bytes per packet, or have the packet data start on a 32
bit boundary?
This won't help with the theora packet header assembly problem you have,
but we do have a chance to make the RTP headers easier to paste on than
the Ogg ones, and there's no explicit CRC like there is in Ogg.
Just curious,
-r
Ralph Giles
2005-04-10 21:16:04 UTC
Permalink
Post by Andrey Filippov
- anyway we use big frames were these 2 bytes - not a big deal;
- in the hardware designs I try to leave some room for the future
extensions that did not come to mind when developing first
implementation - these 2 bytes could later turn out to be useful;
- yes it is easier to handle 32-bit aligned data. In my case now it is
not that critical (as long as the length stays the same), but it can
simplify things for other implementations.
Ok, thanks for the review. Sounds like alignment is worthwhile.

RTP packets are limited to the network MTU (usually 1500 bytes outside a
gig-e segment) so the overhead isn't any lower with large theora
packets, they just get fragmented.

FWIW, I pinged Jack Moffitt, and he agreed as well. So Phil, could you
update the drafts to use my 16 bit ident + 8 bit reserved proposal?

-r

Loading...