OggIssues

From XiphWiki

(Difference between revisions)
Jump to: navigation, search
(Add text from Shane's FOMS presentation verbatim)
(formatting)
Line 1: Line 1:
-
Seeking and Editing Problems
+
== Seeking and Editing Problems ==
-
jagged edges
+
* jagged edges
-
wide variance in location of cotemporal data
+
* wide variance in location of cotemporal data
-
impossible to reconstruct all granulepos values around holes
+
* impossible to reconstruct all granulepos values around holes
-
granulepos / timeval mapping inconsistencies
+
* granulepos / timeval mapping inconsistencies
-
poorly sorted streams are rife
+
* poorly sorted streams are rife
-
impossible to efficiently seek with noncontinuous data
+
* impossible to efficiently seek with noncontinuous data
-
Other Niggles
+
== Other Niggles ==
-
end-time ordering  
+
* end-time ordering  
-
except when we have non-continuous data
+
* except when we have non-continuous data
-
inefficient lacing values for video
+
* inefficient lacing values for video
-
ad-hoc granulepos retrofitting for video, CMML
+
* ad-hoc granulepos retrofitting for video, CMML
-
seeking is hard
+
* seeking is hard
-
pages, and libogg's behaviour when creating them
+
* pages, and libogg's behaviour when creating them
-
i don't know the answers
+
== i don't know the answers ==
-
We need to design a successor to Ogg
+
* We need to design a successor to Ogg
-
It should be called (Ogg2|Ogg3|Ogg++|OggNG|Ogh|Foo|Dumplings)
+
* It should be called (Ogg2|Ogg3|Ogg++|OggNG|Ogh|Foo|Dumplings)
-
The design should be done from desired capabilities and desired properties
+
* The design should be done from desired capabilities and desired properties
-
These capabilities and properties should come from AV experts, web-page designers, system administrators, and users
+
* These capabilities and properties should come from AV experts, web-page designers, system administrators, and users
-
Desired Capabilities
+
== Desired Capabilities ==
-
Simple seeking
+
* Simple seeking
-
Cleanly cuttable
+
* Cleanly cuttable
-
Robust to errors
+
* Robust to errors
-
Composable
+
* Composable
-
Supports arbitrary stream types
+
* Supports arbitrary stream types
-
Low bit cost
+
* Low bit cost
-
Streamable
+
* Streamable
-
Easy to chunk
+
* Easy to chunk
-
Low decode cost
+
* Low decode cost
-
Supports multiple streams of each type
+
* Supports multiple streams of each type
-
Untied We Stand
+
== Untied We Stand ==
-
Can cotemporal data be colocated?
+
* Can cotemporal data be colocated?
-
streams & bundles
+
* streams & bundles
-
great for cutting
+
* great for cutting
-
OK for demultiplexing
+
* OK for demultiplexing
-
“should” cut down on bit overhead
+
* “should” cut down on bit overhead
-
hugely simplifies seeking  
+
* hugely simplifies seeking  
-
Gimme a Hint
+
== Gimme a Hint ==
-
Can we add seeking hints to the stream?
+
* Can we add seeking hints to the stream?
-
these can be tiny and infrequent
+
* these can be tiny and infrequent
-
awesome for standalone files
+
* awesome for standalone files
-
what do we do when streaming?
+
* what do we do when streaming?
-
hint correction packets?
+
* hint correction packets?
-
is this turtles all the way down?
+
* is this turtles all the way down?
-
Would an up-front index be better?
+
* Would an up-front index be better?
-
Cleaner Abstractions
+
== Cleaner Abstractions ==
-
We should not need to know the type of a stream if we are not decoding the stream
+
* We should not need to know the type of a stream if we are not decoding the stream
-
granulepos interpretations
+
* granulepos interpretations
-
headers
+
* headers
-
seeking
+
* seeking
-
cutting
+
* cutting
-
Skeleton goes some way towards fixing this
+
* Skeleton goes some way towards fixing this
-
What use are...
+
== What use are... ==
-
serial numbers?
+
* serial numbers?
-
packet numbers?
+
* packet numbers?
-
pages?
+
* pages?
-
checksums?
+
* checksums?
-
Devil's Advocate
+
== Devil's Advocate ==
-
These problems aren't unsurmountable
+
* These problems aren't unsurmountable
-
but we're only finding some of them now, and we've been working around others for years
+
* but we're only finding some of them now, and we've been working around others for years
-
Nobody will adopt another container format
+
* Nobody will adopt another container format
-
Nobody cares about <insert hated feature here> anyway
+
* Nobody cares about <insert hated feature here> anyway

Revision as of 23:48, 29 January 2008

Contents

Seeking and Editing Problems

  • jagged edges
  • wide variance in location of cotemporal data
  • impossible to reconstruct all granulepos values around holes
  • granulepos / timeval mapping inconsistencies
  • poorly sorted streams are rife
  • impossible to efficiently seek with noncontinuous data

Other Niggles

  • end-time ordering
  • except when we have non-continuous data
  • inefficient lacing values for video
  • ad-hoc granulepos retrofitting for video, CMML
  • seeking is hard
  • pages, and libogg's behaviour when creating them


i don't know the answers

  • We need to design a successor to Ogg
  • It should be called (Ogg2|Ogg3|Ogg++|OggNG|Ogh|Foo|Dumplings)
  • The design should be done from desired capabilities and desired properties
  • These capabilities and properties should come from AV experts, web-page designers, system administrators, and users

Desired Capabilities

  • Simple seeking
  • Cleanly cuttable
  • Robust to errors
  • Composable
  • Supports arbitrary stream types
  • Low bit cost
  • Streamable
  • Easy to chunk
  • Low decode cost
  • Supports multiple streams of each type

Untied We Stand

  • Can cotemporal data be colocated?
  • streams & bundles
  • great for cutting
  • OK for demultiplexing
  • “should” cut down on bit overhead
  • hugely simplifies seeking

Gimme a Hint

  • Can we add seeking hints to the stream?
  • these can be tiny and infrequent
  • awesome for standalone files
  • what do we do when streaming?
  • hint correction packets?
  • is this turtles all the way down?
  • Would an up-front index be better?

Cleaner Abstractions

  • We should not need to know the type of a stream if we are not decoding the stream
  • granulepos interpretations
  • headers
  • seeking
  • cutting
  • Skeleton goes some way towards fixing this

What use are...

  • serial numbers?
  • packet numbers?
  • pages?
  • checksums?

Devil's Advocate

  • These problems aren't unsurmountable
  • but we're only finding some of them now, and we've been working around others for years
  • Nobody will adopt another container format
  • Nobody cares about <insert hated feature here> anyway
Personal tools


Main Page

Xiph.Org Projects

Audio—

Video—

Text—

Container—

Streaming—