Commit Graph

448 Commits

Author SHA1 Message Date
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
4b1f4f236b - Versions defined for libav/libavcodec.
- Bug fix in wav muxer for MP2 audio.
- ffmpeg/libavcodec version in MPEG-4 user data.

Originally committed as revision 400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-15 02:28:05 +00:00
Michael Niedermayer
3bf43d42ed mpeg4 mpeg quantizer support
Originally committed as revision 381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-07 02:03:32 +00:00
Michael Niedermayer
14ae07d86c divx5-gmc bug workaround
Originally committed as revision 369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-29 05:15:49 +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
2a164b253c optimizing mpeg4_encode_dc
Originally committed as revision 361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-25 15:36:16 +00:00
Michael Niedermayer
9c15096e3f fcode_tables where too small, found by Klaas-Pieter Vlieg <vlieg@eurescom.de>
Originally committed as revision 360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-24 23:45:13 +00:00
Michael Niedermayer
d633c2c096 b-frame decoding bugfix
Originally committed as revision 359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-24 22:02:21 +00:00
Michael Niedermayer
490922441b resync marker support, needed for some mp4 files
Originally committed as revision 358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-24 21:25:04 +00:00
Michael Niedermayer
9d2a035529 fixing motion estimation with h263p hopefully
Originally committed as revision 355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-23 20:21:33 +00:00
Michael Niedermayer
098eefe183 statistics for 2-pass encoding
Originally committed as revision 354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-23 17:43:30 +00:00
Michael Niedermayer
b1563bfef2 dont return -1 if mpeg4 scalability ...
Originally committed as revision 353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-23 13:00:08 +00:00
Michael Niedermayer
72a52b3142 fixing MV range in h263
Originally committed as revision 351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-23 00:31:33 +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
c7d5049c98 oops
Originally committed as revision 345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-22 02:36:08 +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
Michael Niedermayer
488fa19a86 use the width & height from the mpeg4 header ... in the case that its complete
Originally committed as revision 340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-19 03:51:36 +00:00
Michael Niedermayer
2e3be0fba9 fixing 4MV
Originally committed as revision 338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-18 20:11:43 +00:00
Michael Niedermayer
4278e7a6f5 optimization
Originally committed as revision 332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-15 14:57:17 +00:00
Michael Niedermayer
d6231b9e70 use ac prediction in mpeg4 encoding (5% smaller intra-blocks/keyframes)
some minor optimizations
last non zero index cant be 64 bugfix

Originally committed as revision 331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-15 04:10:53 +00:00
Michael Niedermayer
49c9325f56 support decoding (with mplayer) of 3 .mp4 files from mphq
optimize h263_pred_motion()

Originally committed as revision 330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-13 19:26:38 +00:00
Michael Niedermayer
10cd581572 generate even more complete mpeg4 headers
Originally committed as revision 329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-13 12:50:41 +00:00
Michael Niedermayer
6f91bcd151 mpeg4 b-frames :)
create slightly more correct headers & add "ffmpeg" user-data section

Originally committed as revision 328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-12 22:54:25 +00:00
Michael Niedermayer
44eb495128 divx5-gmc support
q-pel mc support
neither is totally bugfree yet though :(

Originally committed as revision 320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-09 13:01:16 +00:00
Michael Niedermayer
73c8e5144a gmc bitstream decoding support (the real motion compensation isnt implemnted yet)
Originally committed as revision 318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-07 13:27:15 +00:00
Michael Niedermayer
cc9ba006ec parsing more of the mpeg4 header & print some "not supported" stuff
Originally committed as revision 317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-05 13:58:13 +00:00
Juanjo
e7774f11ac - Bug fix on RTYPE (rounding type) not being honoured by H.263+ decoder.
Originally committed as revision 312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-22 03:35:41 +00:00
Juanjo
9e15ad28bd - Bug fixes in H.263+ Advanced INTRA Coding decoder.
- H.263+ should be able to decode streams with AIC now :)

Originally committed as revision 311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-19 19:23:34 +00:00
Juanjo
d140623fc4 - H.263+ decoder support for Advanded INTRA Coding (buggy)
Originally committed as revision 310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-18 19:33:27 +00:00
Zdenek Kabelac
af8793ae75 * simplified indexing
Originally committed as revision 306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-18 09:32:11 +00:00
Michael Niedermayer
bb6f51aeab avoid overflow of picturenumber*fps*10000
bug found by Lennert Buytenhek <buytenh@gnu.org>

Originally committed as revision 302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-18 01:58:00 +00:00
Michael Niedermayer
17592475b3 alternative bitstream writer (disabled by default, uncomment #define ALT_BISTREAM_WRITER in common.h if u want to try it)
Originally committed as revision 295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-12 15:43:16 +00:00
Juanjo
81401c1fbc - Fixes on RTP and GOB headers for H.263.
- RTP callback system implemented for H.263/H.263+.
- Bug fix on DC coefficients of H.263.
- H.263 decoder now returns PTS on picture number.

Originally committed as revision 292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-09 16:59:56 +00:00
Arpi
d962f6fd3a new IDCT code by Michael Niedermayer (michaelni@gmx.at) - #define SIMPLE_IDCT to enable
Originally committed as revision 234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-12-09 12:04:09 +00:00
Juanjo
644d98a4f2 - Preliminary RTP friendly mode for H.263.
- GOB headers for H.263 coding on RTP mode.
- Improved GOB header detection for H.263 decoder.

Originally committed as revision 222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-11-19 02:13:14 +00:00
Juanjo
96815ce9e2 - Added support to Inter4V+Q MBs to H.263 decoder.
- Advanced Prediction Mode activated for H.263 decoder.
- Bug fixed on H.263+ header parsing for UFEP.
- Now we can decode VIVO v1 streams :)

Originally committed as revision 221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-11-17 21:14:54 +00:00
Juanjo
8547282b6c - Bug fix on MV prediction for MPEG4 caused by new H.263 GOB code.
Originally committed as revision 215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-11-13 01:21:35 +00:00
Juanjo
102d39088b - Fixed a bug on H.263 MV prediction for MB on GOBs limits.
- Now we can decode H.263v1 streams found on QT without problems.

Originally committed as revision 214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-11-12 05:19:55 +00:00
Juanjo
4949028f85 - Bug fix on inter MCBPC table for inter+q.
- H.263/H.263+ decoder now knows GOB start codes.
- H.263/H.263+ decoder now returns the size of the stream on the first call.
- Added show_bits() functions to see the buffer without loosing the bits.
- TODO: H.263v1 UMV parsing is buggy.

Originally committed as revision 204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-11-03 00:49:53 +00:00
Juanjo
ce68c16f41 Added Juergen Keil fix on quant_tab[4] type.
Originally committed as revision 166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-10-17 18:05:35 +00:00
Juanjo
544286b3d3 Moved some H.263+ variables to MpegEncContext to be thread-safe.
Increase video_buffer on ffmpeg to avoid buffer overrun on big pictures.


Originally committed as revision 114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-31 06:21:27 +00:00
Juanjo
6dbd39fe70 Added support to Unrestricted Motion Vectors (UMV)
on H.263+ encoding/decoding. According to Annex D.
Now MV on H.263+ are 32x32 long.


Originally committed as revision 113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-28 23:32:34 +00:00
Fabrice Bellard
935442b522 log2 to av_log2
Originally committed as revision 101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-15 13:11:31 +00:00
Fabrice Bellard
d95ecd058e better vol header parsing for mpeg4
Originally committed as revision 83 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-13 21:46:21 +00:00
Arpi
612476ef9b get_bits() specialization, gives 4\speedup
Originally committed as revision 32 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-04 00:46:50 +00:00
Fabrice Bellard
3bb4e23a8a added skip macroblock optimization (big perf win on black regions for example)
Originally committed as revision 13 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-24 20:43:41 +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