  Flavor (Formal Language for Audio-Visual Object Representation) has been
created as a language for describing coded multimedia bitstreams in a formal
way so that the code for reading and writing bitstreams can be automatically
generated. It is an extension of C++ and Java, in which the typing system
incorporates bitstream representation semantics. This allows describing in a
single place both the in-memory representation of data as well as their
bitstream-level (compressed) representation. Flavor also comes with a
translator that automatically generates standard C++ or Java code from the
Flavor source code so that direct access to compressed multimedia information
by application developers can be achieved with essentially zero programming.
Flavor has gone through many enhancements and this paper fully describes the
latest version of the language and the translator. The software has been made
into an open source project as of Version 4.1, and the latest downloadable
Flavor package is available at http://flavor.sourceforge.net.
