[theora] oggcat or other ways to combine theora videos (with or without re-encoding)?

yorn at gmx.net yorn at gmx.net
Sun Sep 20 06:23:08 PDT 2009


Gregory,

> It's not clear to me what you're referring to by "packet number".

I mean the ogg packet number, that is defined within the ogg packet structure (ogg.h - http://www.xiph.org/ogg/doc/libogg/ogg_packet.html ):

typedef struct {
  unsigned char *packet;
  long  bytes;
  long  b_o_s;
  long  e_o_s;

  ogg_int64_t  granulepos;
  
  ogg_int64_t  packetno;     /* sequence number for decode; the framing
                                knows where there's a hole in the data,
                                but we need coupling so that the codec
                                (which is in a seperate abstraction
                                layer) also knows about the gap */
} ogg_packet;

These packets are returned by theora and vorbis encoders:

http://www.theora.org/doc/libtheora-1.0/group__encfuncs.html#g96d8ac1dda53187455352f99bbb5b04b

> Ogg has two relevant framing constructs, the page and the packet. Ogg
> packets are not explicit numbered.

Aren't they? What's that packetno-field stands for?

BTW: The _page_ numbers are correct, as far as I tested that, but this is done by libogg not by the encoder.

> If you're referring to the granule position, thats a page level
> construct and the Vorbis specification states: "The granule position
> of these first pages containing only headers is zero.".

This is correct as well with all encoders I tests.

-Yorn


More information about the theora mailing list