Commit Graph

96 Commits

Author SHA1 Message Date
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
Michael Niedermayer
0a13093de8 bugfix
Originally committed as revision 1388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-01 16:47:31 +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
Michael Niedermayer
032011465b better? scene change detection
Originally committed as revision 1314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-05 22:22:53 +00:00
Michael Niedermayer
1e491e29c2 cleanup
adding AVVideoFrame
 moving quality, pict_type, key_frame, qscale_table, ... to AVVideoFrame
 removing obsolete variables in AVCodecContext
 skiping of MBs in b frames
 correctly initalizing AVCodecContext
 picture buffer cleanup

Originally committed as revision 1302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-04 10:04:03 +00:00
Brian Foley
9c76bd48aa * altivec and pix_norm patch by Brian Foley
Originally committed as revision 1269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-22 07:53:06 +00:00
Michael Niedermayer
d6483a8e5c 1l found by kabi
Originally committed as revision 1207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-14 18:02:07 +00:00
Zdenek Kabelac
eb4b3dd3c3 * using DSPContext - so each codec could use its local (sub)set of CPU extension
Originally committed as revision 1194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-11 09:40:17 +00:00
Michael Niedermayer
b8a78f419d reversing header game
MIN/MAX -> FFMIN/FFMAX

Originally committed as revision 1184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-10 11:46:59 +00:00
Michael Niedermayer
af27aea922 fixing another assert q>0.0 issue caused by variance < 0, this fix allso changes the inter/intra decission very slightly -> all regression checksums need to be updated
Originally committed as revision 1122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-31 00:48:05 +00:00
Michael Niedermayer
0bfacb95de fixing q>0.0 assert failure caused by overflow of variance for b frames
Originally committed as revision 1120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-30 22:55:07 +00:00
Michael Niedermayer
c42612f1b4 clip MVs for direct mode
Originally committed as revision 1068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-24 00:51:17 +00:00
Michael Niedermayer
693b0e1d66 fixing variance scaling for b frames (messed adaptive quants up)
cliping too long MVs in b frames instead of setting them to 0

Originally committed as revision 965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-23 15:16:09 +00:00
Michael Niedermayer
c5d309f2d5 adaptive quantization (lumi/temporal & spatial complexity masking)
Originally committed as revision 964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-23 14:56:11 +00:00
Michael Niedermayer
bea669e57c interlaced mpeg4 b frame decoding
Originally committed as revision 936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-13 09:45:32 +00:00
Michael Niedermayer
b318477992 put/avg_pixels16
fixing 2 small qpel bugs

Originally committed as revision 915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-11 12:39:53 +00:00
Dominik Mierzejewski
0778718635 warning patch by (Dominik Mierzejewski <dominik at rangers dot eu dot org>)
Originally committed as revision 872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-28 08:15:30 +00:00
Michael Niedermayer
3aa102be84 new ratecontrol code
Originally committed as revision 862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-25 21:19:50 +00:00
Michael Niedermayer
1fb4890b51 better scene change detection
Originally committed as revision 858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-22 19:41:06 +00:00
Michael Niedermayer
5efa265074 b frame direct mode bugfix (bug found by CM <chenm001 at 163 dot com>)
Originally committed as revision 832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-31 08:01:29 +00:00
Michael Niedermayer
f10bd870bf 4mv bugfix
Originally committed as revision 702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-24 15:02:52 +00:00
Michael Niedermayer
0d21a84605 dont double check vectors
more correct EPZS implementation
much faster halfpel ME
simplifications / reducing duplicate code
4MV in LQ mode

Originally committed as revision 641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-02 12:18:18 +00:00
Fabrice Bellard
ff4ec49e64 license/copyright change
Originally committed as revision 599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-25 22:45:33 +00:00
Juanjo
9cd3766f6e - pict_type exported to AVCodecContext
- Added real_pict_num to AVCodecContext, it represent the number of the
  previous encoded frame, usefull when coding with B frames.
- Warning fix in motion_est.c

Originally committed as revision 484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-11 23:42:16 +00:00
Michael Niedermayer
91029be790 much better ME for b frames (a bit slow though)
fixed MC rounding for b frames
fixed hq mode with b-frames

Originally committed as revision 406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-19 03:25:20 +00:00
Michael Niedermayer
9dbcbd92e8 fixed mpeg4 time stuff on encoding
mpeg4 b-frame enoding support
removed old, out-commented ratecontrol
reuse motion compensation code between encoding & decoding
prefix newly added global functions with ff_ to reduce namespace polution
b-frame ME (unfinished, but working)
added some comments to mpegvideo.h
do MC on encoding only once if possible
bugs? ;)

Originally committed as revision 403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-17 04:32:12 +00:00
Juanjo
e4986da9ce - ME setting moved to AVCodecContext/MpegEncContext, no longer a global.
- EPZS ME algo used by default.
- HQ flag activated for ffmpeg.
- Cosmetics ...

Originally committed as revision 398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-14 18:57:51 +00:00
Michael Niedermayer
c60cf138bd fixing MVs in hq mode
Originally committed as revision 372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-01 17:40:42 +00:00
Michael Niedermayer
cf8039b2cf mpeg4 4MV encoding
Originally committed as revision 363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-28 04:25:35 +00:00
Michael Niedermayer
ba6802debf 4MV motion estimation (not finished yet)
SAD functions rewritten (8x8 support & MMX2 optimizations)
HQ inter/intra decission
msmpeg4 encoding bugfix (MV where too long)

Originally committed as revision 362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-27 21:25:22 +00:00
Michael Niedermayer
122546a6d1 seems the old intra/inter decission is slightly better with a threshold, than the new one
Originally committed as revision 357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-24 04:58:54 +00:00
Michael Niedermayer
174489bdcc 10l (motion_val was uninitilized)
20l (first frame of a gop could be a p-frame sometimes)
add hq flag to MpegEncContext

Originally committed as revision 356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-24 04:16:51 +00:00
Michael Niedermayer
b398777148 better inter/intra decission algo (same as xvid)
Originally committed as revision 352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-23 12:39:45 +00:00
Michael Niedermayer
11ce88346b mpeg4 aspect_ratio_info in AVCodecContext (requested by alex)
experimental (& faster) motion estimation
squished a dirty uninitialized var bug
mpeg1 fcode>1 support

Originally committed as revision 349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-22 23:22:08 +00:00
Michael Niedermayer
c5b1c10a0e fixing epzs & mpeg1 (hopefully now really ...)
Originally committed as revision 348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-22 16:51:44 +00:00
Michael Niedermayer
45870f5718 new motion estimation (epzs) not complete yet but allready pretty good :)
unlimited mv search range
minor bugfix in the mpeg4 header parser
reset picture in gop counter if scene change is detected

Originally committed as revision 344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-22 02:21:17 +00:00
Juanjo
ce7c56c250 - Added video coding statistics for ffmpeg. Needs more work.
- Fixed ME range for H.263+ UMV (32 pix).

Originally committed as revision 342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-19 06:30:41 +00:00
Michael Niedermayer
9cdd6a24ad hopefully better bitrate controll
Originally committed as revision 334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-17 16:31:38 +00:00
Juanjo
b4dbd87c04 - Minor changes on bitrate control
Originally committed as revision 300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-15 20:46:37 +00:00
Juanjo
e03c341ef3 - More work on preliminary bit rate control, just to be able to get an
average variance for picture's MBs so we can adjust qscale on the MB layer.

Originally committed as revision 294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-10 06:10:50 +00:00
Juanjo
37fbfd0a91 - Now the ME is done for the entire picture when enconding, the
DCT/Quantization is done after we have calculated all the MV of the picture.
- This is the preamble for a better bit rate control.

Originally committed as revision 293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-10 01:56:50 +00:00
Michael Niedermayer
2ddeed44a5 (commit by michael)
motion-estimation on width/height not divisable through 16 files bugfix

Originally committed as revision 279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-01-24 19:06:47 +00:00
Fabrice Bellard
fb16b7e7b3 added emms_c() macro which should can used in c code in both mmx/non mmx cases
Originally committed as revision 12 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-24 20:42:03 +00:00
Fabrice Bellard
980fc7b834 fixed config for direct mplayer build compatibility
Originally committed as revision 8 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-23 20:06:54 +00:00
Fabrice Bellard
de6d9b6404 Initial revision
Originally committed as revision 5 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-22 14:18:56 +00:00