- the first audio and video packs now contain only a system header and lots
of padding.
- no system headers in any packs other than the first ones
- the two system headers only contain information about "their" stream
- fixed some header values (muxrate, some flags, ...) so that they have the
values specified by the standard
- padding packs are inserted if the mux rate would be below 75 packs per
second (the rate must not be below or above that value).
- fixed the SCR of the packs
- 20 zero bytes are now inserted at the end of each audio pack, after the
data packet
Originally committed as revision 2804 to svn://svn.ffmpeg.org/ffmpeg/trunk
only change context if frame header is error-free, as some fields may not be stored in the frame header and so a single damaged frame-header may trash them
Originally committed as revision 2796 to svn://svn.ffmpeg.org/ffmpeg/trunk
less spam/av_log
fix synccode search
channel_order -> decorrelation_type (cosmetic i know, but the old name is too meaningless IMHO)
faster mid/side decorrelator based upon lifting transforms
Originally committed as revision 2793 to svn://svn.ffmpeg.org/ffmpeg/trunk
fix data types of residual&decoded
fix twos complement bitfields
fix utf8 (no, utf8 is not the same as the simple and compact uvlc used in nut)
add truncated bitstream support, both ogg and flac demuxers in mplayer cvs provide incomplete frames, and furthermore it isnt possible to find frameboundaries in flac without decoding it completly
add escape-less golomb rice decoder (=flac style golomb rice) (ultra efficient, the longest vlc code is just 2^32-1 bits)
printf->av_log
fix bps for non independant channels
fix a few +-1 bugs
fix sample order for independant channels
fix data_size
Originally committed as revision 2791 to svn://svn.ffmpeg.org/ffmpeg/trunk
multithreaded/SMP encoding for MPEG1/MPEG2/MPEG4/H263
all pthread specific code is in pthread.c
to try it, run configure --enable-pthreads and ffmpeg ... -threads <num>
the internal thread API is a simple AVCodecContext.execute() callback which executes a given function pointer with different arguments and returns after finishing all, that way no mutexes or other thread-mess is needed outside pthread.c
Originally committed as revision 2772 to svn://svn.ffmpeg.org/ffmpeg/trunk
lavc is supposed to set it up as well and I don't think I see any
reason not to.
Originally committed as revision 2769 to svn://svn.ffmpeg.org/ffmpeg/trunk
in the past it was startcode,string,00,7F,startcode
now it is startcode,string,stratcode
both are mpeg4 compliant, as according to the standard the userdata lasts until the next 00 00 01 (startcode prefix) but some very primitive decoders which simply skip until the first 00 byte and then expect the next valid startcode might fail with the old variant, just a theory though (didnt test if quicktime can decode it now)
Originally committed as revision 2767 to svn://svn.ffmpeg.org/ffmpeg/trunk
- allow INTER4V macroblocks for FLV1 codec
- fixed issue in flv file format saving 8 mp3 frames per packet instead of 1
- fixed crasher in flv file format involving mp3 buffer handling
- added FLV1 codec support for swf file format (FlashPlayer6 or above
required) and made it default
- fixed broken mp3 support in swf file format
patch by (Tinic Uro <turo at macromedia dot com>)
cleanup by me
Originally committed as revision 2756 to svn://svn.ffmpeg.org/ffmpeg/trunk