Commit Graph

344 Commits

Author SHA1 Message Date
Michael Niedermayer
2276785cfa fixing 1/0 if the headers are incomplete (like what M$ encoder generates)
Originally committed as revision 934 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-13 07:46:06 +00:00
Michael Niedermayer
b9d2bb5b2f fixing interlaced mpeg4 decoding
Originally committed as revision 933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-12 18:28:17 +00:00
Michael Niedermayer
f3cfadd52f parsing resync header extension support
Originally committed as revision 931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-12 15:22:14 +00:00
Michael Niedermayer
33cbc6052a vbv parameter parsing (more skiping actually ;) )
Originally committed as revision 930 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-12 15:02:47 +00:00
Michael Niedermayer
66370d3fca statistics for forw & back p-MBs instead of just one counter for both
Originally committed as revision 925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-12 12:26:09 +00:00
Michael Niedermayer
15415af418 export pts from stream if available
store pts in stream if available (otherwise use frame_rate)

Originally committed as revision 923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-12 10:54:53 +00:00
Michael Niedermayer
3db48188df optimizing mpeg4_encode_block(), generates allso slightly shorter bitstream as some codes can be represented as esc1 and esc2 and esc2 is shorter for a few of them
Originally committed as revision 911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-07 00:16:30 +00:00
Michael Niedermayer
fd7db0fddf mpeg4 interlaced decoding support (not completly implemented/tested due to lack of samples)
Originally committed as revision 870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-27 16:28:19 +00:00
Michael Niedermayer
4dd0e44f14 fixing some 64bit bugs
Originally committed as revision 867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-26 16:10:41 +00:00
Michael Niedermayer
87f8cab45b mpeg4 mpeg quantizer encoding
Originally committed as revision 844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-06 23:51:15 +00:00
Michael Niedermayer
508abacadb 4mv + bframe decoding bugfix
Originally committed as revision 843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-05 21:36:14 +00:00
Michael Niedermayer
f255af5d93 fixing level overflow check for qp=1
Originally committed as revision 842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-05 19:05:02 +00:00
Michael Niedermayer
d930ef19ea fixing mpeg4 mpeg quantizers
Originally committed as revision 836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-02 20:27:46 +00:00
Michael Niedermayer
b5a093b3a9 different edge positions fixed with edge emu / dr1
Originally committed as revision 814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-25 20:22:36 +00:00
Michael Niedermayer
3e6a20a0cd minor optimizations
fixing numbers.avi
 fixing ac prediction between MBs with different QP

Originally committed as revision 782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-21 01:34:05 +00:00
Michael Niedermayer
cc504d3c3c low_delay / has_b_frames fix
Originally committed as revision 770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-17 10:30:31 +00:00
Michael Niedermayer
1a013246fb fixes fire.avi & subtitles.avi
Originally committed as revision 769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-17 09:15:14 +00:00
Michael Niedermayer
c03a717274 rl decoding optimization
Originally committed as revision 755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-13 17:30:43 +00:00
Michael Niedermayer
edcf989073 optimization (get_vlc -> get_vlc2)
Originally committed as revision 750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-13 15:45:52 +00:00
Michael Niedermayer
45a82edbdd rl vlc decoding optimizations
Originally committed as revision 748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-13 14:55:12 +00:00
Felix Bünemann
c60a6560a1 warning fix patch by atmos
Originally committed as revision 728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-09 18:14:59 +00:00
Michael Niedermayer
8f8402e49c dc scale simplification/optimization
Originally committed as revision 695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-18 00:46:02 +00:00
Fabrice Bellard
9f4f81ed17 fixed case where abs_level > MAX_LEVEL
Originally committed as revision 674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-06 14:25:44 +00:00
Michael Niedermayer
dd536160cd run1 can be <0 bugfix (found by fabrice)
Originally committed as revision 661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-04 18:35:31 +00:00
Falk Hüffner
e7650becc6 Revert previous bogus warning fix.
Originally committed as revision 655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-03 14:44:37 +00:00
Falk Hüffner
20695ec921 Minor warning cleanup.
Originally committed as revision 654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-03 11:16:11 +00:00
Michael Niedermayer
92073d01ca error concealment / error resilience
data partitioning encoding/decoding
resync marker encoding
more correct headers
merging s->first_gob_line & s->first_slice_line

Originally committed as revision 639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-02 12:15:17 +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
Fabrice Bellard
6000abfa89 removed useless header includes - use av memory functions
Originally committed as revision 522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-18 23:03:29 +00:00
Michael Niedermayer
7aaf3b98fc there are divx5? encoded files without a userdata section but with b-frames :(
Originally committed as revision 446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-06 13:15:05 +00:00
Michael Niedermayer
e71a4f7425 segfault fix for b-frame encoding with height%16!=0
Originally committed as revision 445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-05 19:03:24 +00:00
Michael Niedermayer
3d1d9b2c37 shorter user data with formating by juanjo
Originally committed as revision 441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-05 01:37:07 +00:00
Michael Niedermayer
32cd20de42 move ABS() to common.h
print mb_types in nice looking format support

Originally committed as revision 440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-04 18:58:07 +00:00
Michael Niedermayer
9717dad883 move put_string() to common.{c,h}
Originally committed as revision 439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-03 23:13:24 +00:00
Juanjo
1e209222f5 - H263 PAR support by Alex Beregszaszi.
- Typo fix in mpeg4data.

Originally committed as revision 436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-03 18:11:23 +00:00
Juanjo
ef5b1b5a7e - Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
- Bug fix H.263+ AIC tables.
- Warning fixes.

Originally committed as revision 431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-02 04:39:45 +00:00
Michael Niedermayer
f94985d046 detecting xvid/divx4/opendivx and set low_delay flag
Originally committed as revision 425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-27 14:10:47 +00:00
Michael Niedermayer
d7e9533aa0 fixed msmpeg4 infinite loop if buggy stream
rewrote quantizer
 fixed bias (+10% compression/quality for h263 like codecs)
 qscale=1 support
 mpeg1 intra frames looks far less blocky
added codec_id field

Originally committed as revision 423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-27 12:30:26 +00:00
Michael Niedermayer
1c2a8c7f14 avcodec_flush_buffers()
Originally committed as revision 420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-24 01:24:06 +00:00
Michael Niedermayer
d697b89bab segfault fix
Originally committed as revision 418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-22 21:02:18 +00:00
Michael Niedermayer
1ff662cc2c export delay info
fixed low_delay & vo_type on mpeg4 header writer & parser

Originally committed as revision 415 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-22 19:04:28 +00:00
Michael Niedermayer
8d4c65d136 b-frame mpeg4 fix when seeking
Originally committed as revision 414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-22 17:33:43 +00:00
Michael Niedermayer
eec1c6b94c divx 5.01 support
Originally committed as revision 412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-22 12:45:22 +00:00
Michael Niedermayer
ee6f786146 fix b-frame MB skip
Originally committed as revision 410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-21 23:47:27 +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
9dbf1dddbd mpeg2/mpeg4 dequantizer support (c & mmx)
mpeg1 dequantizer optimizations

Originally committed as revision 404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-17 16:30:31 +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
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