The WAVE demuxer returns packets with many blocks per frame, which needs to be
parsed into single blocks. This has a side-effect of fixing the timestamps.
bitstream endianness, so they cannot reuse the same code
without a lot of function call overhead.
Thus use templating to compile two different binaries.
Originally committed as revision 25312 to svn://svn.ffmpeg.org/ffmpeg/trunk
Two macros (WRITE_ARRAY and WRITE_ARRAY_2D) take the prefix (modifiers)
(not all tables are static, and they might not be constant either), the
type, and the name of the array. It'll be copied with same name and type,
and with the correct size of the currently-defined object.
Originally committed as revision 23821 to svn://svn.ffmpeg.org/ffmpeg/trunk
This drops one parameter from the functions' macros, and require structures
to be typedeffed, but ensures that it is possible to map 1-to-1 the type to
the function name.
Originally committed as revision 23820 to svn://svn.ffmpeg.org/ffmpeg/trunk