replace ugly macros by always_inline functions, that way its much more readable and flexible as always_inline can simply be removed while the macros couldnt be
about 0.5 % speedup with default parameters
Originally committed as revision 3037 to svn://svn.ffmpeg.org/ffmpeg/trunk
doesnt call realloc every time
doesnt randomly overwrite memory after after 8-16 calls
doesnt use ugly macro wraper
fewer lines of code
Originally committed as revision 2912 to svn://svn.ffmpeg.org/ffmpeg/trunk
null pointer segfaults
dont print redundant spam
dont print prefix if reference==NULL
class -> av_class
dont copy AVClass to every object, its a waste of memory and not a good idea at all
Originally committed as revision 2841 to svn://svn.ffmpeg.org/ffmpeg/trunk
move AV_NOPTS_VALUE & AV_TIME_BASE from avformat.h -> avcodec.h
related fixes
Originally committed as revision 2814 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
32, 24, and 16 are working; 8bpp is partially working; 4, 2, and 1 bpp
are not supported yet
Originally committed as revision 2748 to svn://svn.ffmpeg.org/ffmpeg/trunk
function moved to dspcontext
mmx&mmx2 optimized
change SSE -> SAD as default (better quality)
vbv buffer size command line option in kbyte
Originally committed as revision 2669 to svn://svn.ffmpeg.org/ffmpeg/trunk
interlaced mpeg2 encoding
P & B frames
rate distored interlaced mb decission
alternate scantable support
4mv encoding fixes (thats also why the regression tests change)
passing height to most dsp functions
interlaced mpeg4 encoding (no direct mode MBs yet)
various related cleanups
disabled old motion estimaton algorithms (log, full, ...) they will either be fixed or removed
Originally committed as revision 2638 to svn://svn.ffmpeg.org/ffmpeg/trunk