Use the simplified bool decoder from the bitstream guide, slightly
modified to prevent reading past the end of the buffer. Modified
the token decoder to use the normal bool decoder rather than
inlining its own.
Change-Id: Ic525e773e9f8331ba548a6505cc6d9e5372a5af0
This is the more naive implementation as described in the bitstream guide,
rather than the masking version implemented in the reference code. However,
the core function prototypes were left as-is to make it easy to plug in the
reference assembly code.
Verified loopfiltered output matches reference decoder for 500 frames.
Change-Id: Ib4f197e864f07dbb918b6d5e742c6110d57c1f40
The "dixie" project will be a rewrite of much of the VP8 decoder core.
Some of the goals are:
* Increase speed by paying more attention to data locality and
cache layout, and by eliminating redundant work in general.
* A different approach to multithreading, to treat all threads as
equal and working on larger work units than a single MB.
* Expose more of the bitstream to the application, essentially
creating a vp8 parser utility. This could be useful for analyzing
the complexity of a stream, to help set conformance points.
* If the above goals are met successfully, replace the reference
decoder.
For those interested in the etymology of the term "dixie:"
decoder2 -> dx2 -> dxii -> dixie
Change-Id: I4ef0832b62ea96e9cfa1906c4a77f4b51e0c62d6
When the license headers were updated, they accidentally contained
trailing whitespace, so unfortunately we have to touch all the files
again.
Change-Id: I236c05fade06589e417179c0444cb39b09e4200d
This patch adds support for building shared libraries when configured
with the --enable-shared switch.
Building DLLs would require more invasive changes to the sample
utilities than I want to make in this patch, since on Windows you can't
use the address of an imported symbol in a static initializer. The best
way to work around this is proably to build the codec interface mapping
table with an init() function, but dll support is of questionable value
anyway, since most windows users will probably use a media framework
lib like webmdshow, which links this library in staticly.
Change-Id: Iafb48900549b0c6b67f4a05d3b790b2643d026f4
This renames the vpx_codec/ directory to vpx/, to allow applications
to more consistently reference these includes with the vpx/ prefix.
This allows the includes to be installed in /usr/local/include/vpx
rather than polluting the system includes directory with an
excessive number of includes.
Change-Id: I7b0652a20543d93f38f421c60b0bbccde4d61b4f