[xiph-commits] r9169 - experimental/derf/theora-exp
tterribe at motherfish-iii.xiph.org
tterribe at motherfish-iii.xiph.org
Sat Apr 23 07:44:44 PDT 2005
Author: tterribe
Date: 2005-04-23 07:44:41 -0700 (Sat, 23 Apr 2005)
New Revision: 9169
Modified:
experimental/derf/theora-exp/README
Log:
Update README with more complete information on theora-exp differences from
libtheora.
Modified: experimental/derf/theora-exp/README
===================================================================
--- experimental/derf/theora-exp/README 2005-04-22 20:10:11 UTC (rev 9168)
+++ experimental/derf/theora-exp/README 2005-04-23 14:44:41 UTC (rev 9169)
@@ -15,8 +15,29 @@
- Support for additional pixel foramts: 4:4:4 and 4:2:2 (in addition to the
4:2:0 format supported by VP3).
- Support for block-level qi values.
-- Striped decoding API (decoding is pipelined and clients receive decoded frame
- data as soon as it is available).
+Additional features of the new library design:
+- Improved API design.
+ Internal structures are hidden better, making it easier to upgrade the
+ library and maintain binary compatibility.
+ Generic ioctl-style API allows some encoder and decoder parameters to be
+ modified on the fly, and provides a route of future extensibility.
+ Additional minor improvements.
+- The decoder library is completely separated from the encoder library, so
+ applications need only link against the portions they use.
+- Hardened against invalid video data.
+ Special attention has been paid to eliminate possible buffer overflows and
+ access violations when receiving invalid video data, for better security.
+Algorithmic optimizations:
+- DCT token and motion vector decoding have been optimized to use fewer calls
+ to oggpackB_read().
+- All DCT tokens are decoded in an initial pass.
+ This allows us to buffer the tokens, instead of the complete set of DCT
+ coefficients, yielding a reduced memory footprint and increased cache
+ coherency.
+- Striped decoding API.
+ After the tokens are decoded, the remainig steps are pipelined and clients
+ receive decoded frame data as soon as it is available, while it is still in
+ cache.
Currently missing features:
- Advanced buffering API: Client-specified buffers.
Clients could provide external buffers to decode into when out-of-loop
@@ -31,8 +52,6 @@
Building:
On Unix or Cygwin, building through automake is now supported.
-You may wish to set the CFLAGS environment variable before beginning, e.g.:
-CFLAGS=-O3 -fforce-addr -fomit-frame-pointer
On a fresh checkout, run:
./autogen.sh
From a distribution tarball, run:
More information about the commits
mailing list