[vorbis-dev] frame_info_add

Monty xiphmont at xiph.org
Mon Nov 8 14:03:45 PST 1999



> It can be useful to have for each frame two variables stored in bitstream that will hold information about starting and ending position of \"valid\" samples in the frame.
> 
> With these additional information it will be possible to do simple editing (like cutting or concatenating two streams) without decompressing/recompressing at sample-granularity.

(after cutting the below)

What you're really asking about is a logical-stream-level initial and ending
offset value, not a frame-level value, I think.  Basically, 'skip the first x
samples, ignore the last y' in a bitstream section correct?

(What you may not be aware of is that two Vorbis files concatenated is a new, 
valid vorbis file, supported by the spec.  The only restriction is that any 
one 'logical' bitstream within the 'physical' bitstream must have a unique 
serial number.  The libs already supports this).

So you want an adjustable begin/end offset... which wouldn't be too difficult.
We can put it on the first/last pages only; this would require regenerating the
page structure for deep edits, but this is designed to be easy to do and it
doesn't require going to PCM.

Here's an additional question: 

Are you aware of systems/formats that currently require sample-level editing
granularity?  I stopped to think long enough before replying to see that it
would be of value (and indeed, you *don't* want to go back to PCM and reencode
a lossy transport medium like Vorbis).  I'm just wondering what your practical
examples are right now.

> I know it may cause inner fragmentation but advantages are promising (audio HD recording, video post production - all without recompressing)...

Actually, it doesn't.  It requires a new feature at the framing level (thank 
god I wrote unit tests), but that new feature isn't particularly intrusive to 
the overall fabric.

> PS:Maybe I\'m missing something, I looked at sources only yeasty.
> PS2: All of this can be applied at application-side too so it is only proposition.

If we intended it to be a widely supported feature, it should be specced.

Monty

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/



More information about the Vorbis-dev mailing list