[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