Commit Graph

25 Commits

Author SHA1 Message Date
Michael Niedermayer 1c3990dbba H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
Originally committed as revision 3643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-28 10:12:57 +00:00
Michael Niedermayer c08a01a6b9 pre_cmp fix
Originally committed as revision 3458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-13 12:37:39 +00:00
Michael Niedermayer 155ec6edf8 quad tree based motion compensation (currently only 16x16 & 8x8 OBMC blocks, but can be extended to other block sizes easily)
different intra block coding (previous was just an ugly hack)
1.8% bitrate reduction -0.01PSNR (foreman@352x288 qscale=8)
1.5% bitrate reduction +0.05PSNR (foreman@352x288 qscale=1)

Originally committed as revision 3416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-26 20:04:54 +00:00
Michael Niedermayer 26efc54e4a 4x4 SSE compare function
wavelet based compare functions
make epzs_motion_search() more flexible so it can be used for a wider range of block sizes
make get_penalty_factor() independant of MpegEncContext

Originally committed as revision 3410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-22 17:16:03 +00:00
Loren Merritt 4994af2fbd shape-adaptive diamond + prediction crash patch by (Loren Merritt <lorenm at u dot washington dot edu>)
Originally committed as revision 3287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-05 02:21:38 +00:00
Michael Niedermayer 0da6315a70 fewer overflows
Originally committed as revision 3222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-14 16:18:04 +00:00
Michael Niedermayer ae1dbde1cf clip input motion vectors
be somewhat more tollerant on invalid input
return INT_MAX instead of -1 for unuseable mv/mb types as that ensures nicely that they arent used
initalize limits earlier for b frames
a few more asserts to check for out of picture vectors

Originally committed as revision 3213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-10 22:56:43 +00:00
Michael Niedermayer 1f202b0d46 moving motion estimation specific variables from MpegEncContext -> MotionEstContext
Originally committed as revision 3124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-11 01:38:46 +00:00
Michael Niedermayer af4091f194 reduce dependancy between motion estimation and MpegEncContext
this is practically just a s/s->me./c->/

Originally committed as revision 3123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-11 00:58:08 +00:00
Michael Niedermayer 2750b827b3 motion estimation cleanup
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
2004-04-22 03:31:29 +00:00
Michael Niedermayer 80ee9fc0e3 simplify MV availability check / dont use below last row MV which is always zero
Originally committed as revision 2773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-13 18:39:43 +00:00
Michael Niedermayer 9c3d33d67f multithreaded/SMP motion estimation
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
2004-02-13 17:54:10 +00:00
Michael Niedermayer 8f2ab83318 copyright year update of the files i touched and remembered, things look annoyingly unmaintained otherwise
Originally committed as revision 2686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-10 16:04:55 +00:00
Michael Niedermayer bb198e198a interlaced motion estimation
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
2003-12-30 16:07:57 +00:00
Fabrice Bellard 802f454e5b removed unused variable
Originally committed as revision 2162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-24 22:28:41 +00:00
Falk Hüffner 3db320ea0c Warning fixes.
Originally committed as revision 1884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-15 01:34:47 +00:00
Michael Niedermayer 7bc9090a41 simplified adressing of most mb based arrays (mb_x + mb_y*s->mb_stride) now instead of mb_x + mb_y*mb_width and 1+mb_x + (1+mb_y)*(mb_width+2) and ... mixture
more direct use of the new mb_type stuff instead of codec specific stuff
runtime mb_type debug output h264/h263 variants/mpeg1/2/4
error concealment /resilience for mpeg1/2
various minor optimizations

Originally committed as revision 1746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-10 13:18:38 +00:00
Michael Niedermayer 309522372c some static -> dynamic alloc & 16->8 bit
Originally committed as revision 1722 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-31 11:13:14 +00:00
Michael Niedermayer 983e3246b7 per file doxy
Originally committed as revision 1634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-06 11:32:04 +00:00
Michael Niedermayer 6772518310 finetuneing thresholds/factors
nicer mb decission
a few minor improvements & fixes

Originally committed as revision 1472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-19 17:55:13 +00:00
Michael Niedermayer 1d0eab1dcc bugs
Originally committed as revision 1469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-18 01:37:42 +00:00
Michael Niedermayer 826f429ae9 qpel in mmx2/3dnow
qpel refinement quality parameter

Originally committed as revision 1393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-05 15:57:10 +00:00
Michael Niedermayer f931ff7b9f pre motion estimation cleanup/bugfix
Originally committed as revision 1390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-02 12:48:09 +00:00
Michael Niedermayer b07a59805e shape adaptive diamonds for EPZS
user specified amount of MV predictors from the last frame
b frame MV predictor scaling fixed

Originally committed as revision 1384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-01 14:36:20 +00:00
Michael Niedermayer 1457ab5233 qpel encoding
4mv+b frames encoding finally fixed
chroma ME
5 comparission functions for ME
b frame encoding speedup
wmv2 codec (unfinished)
user specified diamond size for EPZS

Originally committed as revision 1365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-27 23:51:46 +00:00