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
d4c5d2adf3
nsse weight
...
Originally committed as revision 3205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-07 17:30:02 +00:00
Michael Niedermayer
e6a2ac3474
noise preserving sum of squares comparission function
...
Originally committed as revision 3204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-07 03:23:31 +00:00
Michael Niedermayer
0e9d4a67f4
change qscale -> lambda for the motion estimation
...
finetune bit/distortion weighting factor used in motion estimation, the old coeffs where finetuned relative to incorrect mv_penalty tables which where then fixed later but the coeffs where not
this _may_ fix the long standing blocking artifacts, but may also introduce mudding artefacts theoretically, so please tell us if u stumble across any so we can either fix them or export this variable so the user can change it
Originally committed as revision 3189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-03 19:29:47 +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
1545aceaaf
dont missuse assert()
...
Originally committed as revision 3096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-30 18:09:24 +00:00
Michael Niedermayer
f20f8a8b0b
support reusing mb types and field select values of the source file, but use motion vectors just as additional predictors
...
minor cleanup
segfault fix
Originally committed as revision 3060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-25 02:09:47 +00:00
Michael Niedermayer
aacc6615f8
sanity checks
...
Originally committed as revision 3052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-24 03:43:43 +00:00
Michael Niedermayer
9964df63ee
minor motion estimation cleanup
...
4mv motion vector passthrough
Originally committed as revision 3051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-24 03:36:37 +00:00
Michael Niedermayer
f4f3223ffd
reuse motion vectors/mb types/field select values of the source video, if the SSE for a macroblock which is predicted with these values is below me_threshold
...
currently works only with mpeg1/2 source or some luck
may need -sync 0 as otherwise framedrops could lead to extreemly long b frame sequences
Originally committed as revision 3042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-23 19:06:30 +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
137c8468e8
unify table indexing (motion_val,dc_val,ac_val,coded_block changed)
...
minor +-1 bugfix
Originally committed as revision 3016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-16 01:01:45 +00:00
Falk Hüffner
7906085fcc
warning patrol
...
Originally committed as revision 2925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-24 23:32:48 +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
5a60360712
4mv + b frame encoding segfault fix
...
Originally committed as revision 2728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-28 00:36:58 +00:00
Michael Niedermayer
237da0fa20
dont calculate stuff if its not used ...
...
Originally committed as revision 2699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-14 02:35:04 +00:00
Michael Niedermayer
a75b43fd73
fixing twice added offset bug, was triggered by 4mv + sub_cmp != mb_cmp
...
bug was introduced in version 1.75 (2003-12-30)
this may have lead to a small drop in quality of the 4mv mode, but should have only affected the mbd=0 case
Originally committed as revision 2698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-14 02:21:39 +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
622348f931
interlaced dct decision cleanup
...
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
2004-01-05 22:57:07 +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
Wolfgang Hesseler
8d7ec294c4
move motion_val & mb_type to AVFrame patch by (Wolfgang Hesseler <qv at multimediaware dot com>)
...
cleanups & fixes by me
Originally committed as revision 2579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-09 01:49:56 +00:00
Michael Niedermayer
d3985de709
cleanup
...
Originally committed as revision 2537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-28 22:09:09 +00:00
Michael Niedermayer
f7190f7399
h263 OBMC & 4MV support
...
cleanup
Originally committed as revision 2536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-28 21:31:20 +00:00
Michel Bardiaux
9b87956678
av_log() patch by (Michel Bardiaux <mbardiaux at peaktime dot be>)
...
Originally committed as revision 2469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-03 13:26:22 +00:00
Michael Niedermayer
ca7d05d56f
optionally try to encode each MB with MV=<0,0> and choose the one with better RD
...
Originally committed as revision 2328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-02 00:24:34 +00:00
Michael Niedermayer
2d5e962b06
100l (forget to reset me.skip for b frames)
...
Originally committed as revision 2170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-26 22:26:18 +00:00
Michael Niedermayer
e4eadb4b44
oooooops, having 2 Eterms open and doing cvs diff in one and cvs commit in the other sucks, especially if they are in different directories (MPlayer/main/libavcodec vs. ffmpeg/libavcodec)
...
Originally committed as revision 2165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-25 22:54:53 +00:00
Michael Niedermayer
029911d1c3
mpeg2 encoding
...
Originally committed as revision 2164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-25 22:47:32 +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
Michael Niedermayer
7d1c3fc1d6
rate distortion mb decision support
...
fix decoding of old %16!=0 divx
fix assertion failure in motion_est.c
Originally committed as revision 2094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-29 02:09:12 +00:00
Michael Niedermayer
cf48e6f8dc
edge fix
...
Originally committed as revision 2053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-16 18:20:46 +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
ebbcdc9ac0
user specified motion estimation range limit
...
h263 me range fixed (was smaller then needed)
Originally committed as revision 1610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-27 22:56:07 +00:00
Zdenek Kabelac
0c1a9edad4
* UINTX -> uintx_t INTX -> intx_t
...
Originally committed as revision 1578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-11 16:35:48 +00:00
Zdenek Kabelac
5c91a6755b
* static,const,compiler warning cleanup
...
Originally committed as revision 1567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-10 09:35:32 +00:00
Michael Niedermayer
c40c34828a
direct blocksize in bframes fix (might fix qpel+bframe bug)
...
Originally committed as revision 1557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-08 18:23:39 +00:00
Michael Niedermayer
63b15e559a
mpeg1 bframe encoding patch by (Raphaël LEGRAND) with some modifications by me
...
Originally committed as revision 1551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-08 12:00:57 +00:00
Michael Niedermayer
668154dfea
b frame segfault fix (+-1 bug)
...
Originally committed as revision 1549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-07 16:44:48 +00:00
Michael Niedermayer
cb009a8cff
10l / 4mv segfault fix
...
Originally committed as revision 1517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-28 09:26:00 +00:00
Måns Rullgård
ef9f730675
C99 initializers and kill warnings patch by (mru at users dot sourceforge dot net (Måns Rullgård))
...
Originally committed as revision 1474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-19 18:30:29 +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
3a87ac948f
more compare functions (rd & bit)
...
Originally committed as revision 1461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-15 18:05:23 +00:00
Michael Niedermayer
4a711c33cc
b frame segfault fix
...
Originally committed as revision 1400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-06 01:20:37 +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
f5fb6b34fd
motion estimation pre pass
...
Originally committed as revision 1389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-02 01:29:35 +00:00