[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