Commit Graph

464 Commits

Author SHA1 Message Date
Michael Niedermayer
45686da26d move blocks away MpegEncContext (7.4 -> 5.8k)
Originally committed as revision 2413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-22 12:01:21 +00:00
Michael Niedermayer
642ccefbc8 move mmx quantizer matrixes out of MpegEncContext (23k -> 7k) (no meassureable slowdown)
Originally committed as revision 2412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-22 11:23:39 +00:00
Michael Niedermayer
7e4995c388 move q_*_matrix out of MpegEncContext (40k ->23k) dct_quantize() is even slightly faster now, dont ask my why ...
Originally committed as revision 2411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-22 10:59:39 +00:00
Michael Niedermayer
b465449eb7 dynamic alloc of picture structs instead of putting them in MpegEncContext
Originally committed as revision 2410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-21 19:55:31 +00:00
Michael Niedermayer
5ff85f1d8b AVRational
sample_aspect_ratio
aspect ratio in JPEG JFIF is SAR not DAR !
removed nonsense SAR guessing code
various related cleanups
bugs?

Originally committed as revision 2403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-20 20:23:46 +00:00
Michael Niedermayer
6571e41dcd picture buffer cleanup, this fixes a assertion failure (if assertion checking was manualy enabled for utils.c) and a memleak at least
Originally committed as revision 2392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-16 00:21:54 +00:00
Michael Niedermayer
34790165dc intra dc treshold != 0 decoding fixed
Originally committed as revision 2363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-12 14:01:53 +00:00
Michael Niedermayer
158c7f059c use lagrange multipler instead of qp for ratecontrol, this may break some things, tell me ASAP if u notice anything broken
quality which was 1..31 float is now a 1..FF_LAMBDA_MAX int, and FF_QP2LAMBDA * qp can be used to convert to the new range

Originally committed as revision 2348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-07 11:32:40 +00:00
Michael Niedermayer
f2f6134b9e rate distortion optimal cbp support (h263/mpeg4 non intra only)
Originally committed as revision 2323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-30 22:18:43 +00:00
Fabrice Bellard
b160941221 removed warnings
Originally committed as revision 2248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-09 22:59:16 +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
Michael Niedermayer
d6eb3c500a custom quant matrix encoding support
Originally committed as revision 2135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-22 22:18:08 +00:00
Michael Niedermayer
c3bf0288c9 PSX MDEC decoder, based upon some code from Sebastian Jedruszkiewicz <elf at frogger dot rules dot pl>
note: completly untested, no demuxer yet

Originally committed as revision 2134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-22 14:59:04 +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
7a06ff148d AVCodec.flush()
ff_draw_horiz_band() in coded order / cleanup

Originally committed as revision 2064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-17 12:29:07 +00:00
Michael Niedermayer
44a2950f72 flv cleanup / simplify
Originally committed as revision 2026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-10 00:15:27 +00:00
Garrick Meeker
d4f5d74a54 flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
Originally committed as revision 2024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-09 23:10:59 +00:00
Michael Niedermayer
c009df3f86 make ff_emulated_edge_mc() independant of MpegEncContext
Originally committed as revision 1971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-18 22:00:23 +00:00
Michael Niedermayer
3d2e8cce3a ASV1 codec
with postprocessing support :)

Originally committed as revision 1891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-19 13:30:59 +00:00
Michael Niedermayer
d8085ea727 cleanup
Originally committed as revision 1882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-14 23:08:01 +00:00
Michael Niedermayer
bb463d8102 10l (returning negative number of consumed bytes if the first startcode of a frame was split between 2 buffers)
Originally committed as revision 1824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-27 01:11:26 +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
0da71265d8 H264 decoder & demuxer
Originally committed as revision 1732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-04 14:42:28 +00:00
Michael Niedermayer
4d2a48349d msmpeg4 2pass support & some related cleanup
Originally committed as revision 1724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-02 09:57:34 +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
9b8709d135 mpeg1 slice encoding support
Originally committed as revision 1720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-30 19:26:01 +00:00
Michael Niedermayer
5acaa5e1df simplify slice encoding (variance of packet size is practically identical)
Originally committed as revision 1719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-30 16:22:08 +00:00
Michael Niedermayer
1984f6359e user setable quantizer bias
Originally committed as revision 1701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-22 12:09:02 +00:00
Michael Niedermayer
d5a2117228 better non conformant divx packed bitstream detection, so unpacked (no b frames) divx MPEG4-ES streams can be read
Originally committed as revision 1695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-20 17:52:30 +00:00
Michael Niedermayer
46b4feec06 error resilience cleanup (its faster too...)
Originally committed as revision 1692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-20 01:00:57 +00:00
Michael Niedermayer
c5a9ab69c2 qmin/qmax cleanup
Originally committed as revision 1689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-17 11:02:33 +00:00
Michael Niedermayer
b536d0aad2 field pic decoding cleanup
Originally committed as revision 1686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-16 20:22:22 +00:00
Michael Niedermayer
14bea432f1 per context frame_rate_base, this should finally fix frame_rate related av sync issues
Originally committed as revision 1666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-12 15:16:19 +00:00
Michael Niedermayer
277f4827fc doxy / cosmetics
Originally committed as revision 1638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-06 14:37:37 +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
640950c700 mpeg2 field pictures + sliced mode (doesnt work with mplayer though, dunno why)
Originally committed as revision 1626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-05 20:03:15 +00:00
Michael Niedermayer
dfb476cbe0 field picture decoding support (16x16 MC blocks only as i dont have any samples which use other modes ...)
Originally committed as revision 1624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-05 17:48:19 +00:00
Michael Niedermayer
b0368839ac MpegEncContext.(i)dct_* -> DspContext.(i)dct_*
bitexact cleanup

Originally committed as revision 1617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-03 14:54:00 +00:00
Michael Niedermayer
e51d6d27a6 h263(+) clenaup & bugfixes
Originally committed as revision 1614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-28 13:07: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
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
b7a22d846b cleanup
Originally committed as revision 1487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-21 21:30:48 +00:00
Michael Niedermayer
f943e1383d trying to fix mb skip bug in mpeg1/2 if slices are not used
Originally committed as revision 1482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-20 20:37:24 +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
0e15384d9d fixing DCTELEM != short
Originally committed as revision 1462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-15 19:21:21 +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
67309e49c0 /* align 16 */
Originally committed as revision 1454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-12 13:13:52 +00:00
Michael Niedermayer
a33c7159e1 get_format()
Originally committed as revision 1451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-12 00:48:29 +00:00
Michael Niedermayer
f7b47594dc negative linesize support (so mplayer -flip works)
Originally committed as revision 1395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-05 17:59:26 +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
70ac76c0eb mpeg4 header encoding bugfix
Originally committed as revision 1392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-03 23:21:52 +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
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
c442d75c6e trellis quantization for mpeg1
rounding bugfix for mpeg1 (seems this was introduced during the ME changes)

Originally committed as revision 1382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-01 00:42:18 +00:00
Michael Niedermayer
477ab036ad trellis quantization
Originally committed as revision 1380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-31 17:23:56 +00:00
Michael Niedermayer
41773b735e correcter mpeg4 headers
Originally committed as revision 1376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-30 00:28:42 +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
59b571c1e4 more debug output
Originally committed as revision 1338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-17 11:25:29 +00:00
Michael Niedermayer
492cd3a920 AVVideoFrame -> AVFrame
Originally committed as revision 1327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-09 12:03:43 +00:00
Michael Niedermayer
4e00e76b3c cleanup / messup?
fixes 20% speedloss bug
removes redundant variables from MpegEncContext
release buffers in avcodec_flush_buffers() (untested)

Originally committed as revision 1325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-09 00:29:17 +00:00
Michael Niedermayer
0d1e924668 fixing 2pass assert failure
better dynamic b frame selection, still not very good though allthough it works fine without 2pass now

Originally committed as revision 1316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-06 13:30:13 +00:00
Michael Niedermayer
140cb66321 new PSNR code (now works with chroma, b frames, ...)
rename *_TYPE to FF_*_TYPE for the external API
allow user specified pict_type

Originally committed as revision 1308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-04 21:13:02 +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
Zdenek Kabelac
d43b10ec7a * fixed prototype
Originally committed as revision 1226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-19 09:17:52 +00:00
Zdenek Kabelac
83f238cbf0 * compilation fix (ARM users please check)
Originally committed as revision 1225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-19 07:33:36 +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
d7425f59d5 cleanup (breaks compatibility, requested by fabrice)
remove CODEC_FLAG_NOT_TRUNCATED & add CODEC_FLAG_TRUNCATED
add CODEC_CAP_TRUNCATED
add alpha plane to AVPicture
remove CODEC_ID_MSMPEG4
remove various unused stuff
support "truncated" mpeg4 streams

Originally committed as revision 1175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-08 18:35:39 +00:00
Michael Niedermayer
05c4072b45 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
Originally committed as revision 1147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-02 11:28:08 +00:00
Michael Niedermayer
6b72ac6323 exporting the internal qscale table, this allso fixes the ordering
Originally committed as revision 1116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-30 20:41:40 +00:00
Michael Niedermayer
d6db1c9c6a handle direct rendering buffer allocation failure
Originally committed as revision 1075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-27 00:02:23 +00:00
Michael Niedermayer
50eb9cbc44 idct_permutation_type variable, so the permutation type can quickly be identified
Originally committed as revision 1071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-25 13:39:47 +00:00
Michael Niedermayer
7801d21d13 optimize block_permute()
optimize dct_quantize_c()
dont permute s->q_inter/intra_matrix

Originally committed as revision 1067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-23 15:11:07 +00:00
Michael Niedermayer
7da71a5c68 xvid qpel bug autodetect
Originally committed as revision 1064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-22 19:48:52 +00:00
Michael Niedermayer
073b013d00 complete mpeg4 GMC decoding support
Originally committed as revision 1046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-16 19:55:49 +00:00
Michael Niedermayer
a61f82653e better padding bug detection
Originally committed as revision 1039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-14 19:53:04 +00:00
Michael Niedermayer
b704e7420b mpeg4 header parser clenup (needed for parsing of VOL header in avctx->extradata)
Originally committed as revision 1032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-14 12:21:54 +00:00
Michael Niedermayer
4d2858deac better/cleaner error resilience (done in a 2nd pass after decoding)
h263/mpeg4 out of order slice decoding

Originally committed as revision 1030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-13 13:16:04 +00:00
Alex Beregszaszi
defdfc9aa0 moved dct init out from mpv_common_init to dct_common_init (for less-uglier way for dv)
Originally committed as revision 1002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-04 20:59:29 +00:00
Leon van Stuivenberg
5917d17cb7 ps2 optimizations update patch by (Leon van Stuivenberg <leonvs at iae dot nl>)
Originally committed as revision 996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-03 20:57:19 +00:00
Michael Niedermayer
23e54f6927 renaming variable
Originally committed as revision 981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-29 23:21:13 +00:00
Michael Niedermayer
2ad1516a6c idct permutation cleanup, idct can be selected per context now
fixing some threadunsafe code

Originally committed as revision 980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-29 22:44:22 +00:00
Michael Niedermayer
9e4c69485b adaptive quantization for h263
Originally committed as revision 969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-24 15:07:44 +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
947ac25a44 10l (forgot to commit)
Originally committed as revision 953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-18 18:30:31 +00:00
Michael Niedermayer
5596c60cce dont store version for bit-exact tests
Originally committed as revision 948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-14 22:07:35 +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
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
6b460aa387 reducing sizeof MpegEncContext to avoid stack overflow on crap M$ windo$
Originally committed as revision 914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-11 07:26:43 +00:00
Michael Niedermayer
ad324c9351 dct cleanup
more accurate mmx dct (dont discard bits for fun)
fixing mmx quantizer bug for qscale%2==1 (bias was slightly wrong)

Originally committed as revision 895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-01 16:52:33 +00:00
Martin Olschewski
c7e079314b sun solaris compilation bugfix, patch by (Martin Olschewski <olschewski at zpr dot uni-koeln dot de>)
Originally committed as revision 882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-30 18:17:20 +00:00
Michael Niedermayer
28db7fce02 slow but accurate integer dct from IJG (should be ok with the LGPL as the old DCT is the fast integer DCT from IJG)
per context DCT selection

Originally committed as revision 878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-29 23:55:32 +00:00
Alex Beregszaszi
e769f0535e added aspected_width/height for EXTENDED_PAR
Originally committed as revision 869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-26 20:45:01 +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
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
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
0fd90455ec uvlinesize
export has_b_frames
mb_skip with more than 2 ip buffers

Originally committed as revision 762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-15 14:15:10 +00:00
Michael Niedermayer
93a21abde5 direct rendering method 1 support
Originally committed as revision 759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-14 18:37:35 +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
Marko Kreen
adc09b2eab adding ff prefix to avoid global name conficts with xvid (patch by Marko Kreen <marko at l-t.ee>)
Originally committed as revision 739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-10 21:01:45 +00:00
Michael Niedermayer
de0f2f4cca wmv1 slice_height != mb_height support
encoding of slice_height != mb_height
1bit shorter wmv1 headers if bit_rate<50 !? ROTFL M$ is even more stupid than i thought
using dc of non intra blocks for dc prediction of wmv1 if bitrate < 129 && res < 320x240

Originally committed as revision 723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-07 08:34:46 +00:00
Falk Hüffner
e0580f8c68 Update and activate dct_unquantize_h263_mvi. Thanks to Måns Rullgård
for some improvements.

Originally committed as revision 714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-03 03:01:06 +00:00
Michael Niedermayer
0151a6f546 wmv1 support
Originally committed as revision 697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-18 00:50:20 +00:00
Fabrice Bellard
c3aea5c424 added missing externs (we were lucky that commons are used)
Originally committed as revision 659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-04 12:56:04 +00:00
Michael Niedermayer
7f2fe444a3 single coefficient elimination
prequantization
more readable malloc & check if NULL
error concealment / error resilience
b_quant_offset (unfinished, should be 0 for now)
data partitioning

Originally committed as revision 642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-02 12:20:39 +00:00
Zdenek Kabelac
cd4af68ad5 * started to cleanup name clashes for onetime compilation
Originally committed as revision 617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-27 16:42:14 +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
Michael Niedermayer
92ba5ffbb5 workaround dc_scale bug in old ffmpeg msmpeg4v3 encoder (set workaround_bugs=1 for this)
Originally committed as revision 561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-21 23:13:57 +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
Alex Beregszaszi
a69b930cd3 clamp intra matrix to 8bit for mjpeg (workaround for qscale>=25)
Originally committed as revision 451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-07 17:55:02 +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
bb71e31757 fixing msmpeg4v3 dc-scale for quantizers 24-31
Originally committed as revision 427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-30 01:29:29 +00:00
Michael Niedermayer
2417652e9f export mbskip_table for direct rendering
add hurry_up support

Originally committed as revision 424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-27 13:12:57 +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
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
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
8b4c7dbc55 fixed ratecontrol & b-frames
2pass ratecontrol
fixed hq with 2pass
inceased build num (a few more vars for the rc stuff)
hopefully no new bugs

Originally committed as revision 408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-21 21:18:17 +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
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
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
84afee348f msmpeg4v2 decoding (no encoding yet)
Originally committed as revision 376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-05 04:09:04 +00:00
Michael Niedermayer
4d69fbc99e force frame type for 2-pass encoding
Originally committed as revision 365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-28 22:50:22 +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
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
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
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
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
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
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
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
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
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
3232bc885d * using static instead of extern
Originally committed as revision 304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-18 09:29:32 +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
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
80e103d04c PATCH by Rik Snel <rsnel@cube.dyndns.org>
this patch enhances the jpeg header writer. It can be asked to omit
quantisation and huffman tables and it can write different horizontal and
vertical sampling factors. (the last thing is useless for libavcodec
itself (because libavcodec only handles YUV420P at ecoder level), but the
values are initialized so that operation of libavcodec is not impaired)

Originally committed as revision 290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-09 01:23:41 +00:00
Michael Niedermayer
2f349de286 (commit by michael)
mmx & mmx2 quantizer
c dct permutation bugfix
dont copy input on intra only encodings if it can be avoided
dont draw edges on intra only stuff

Originally committed as revision 281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-01-27 13:30:18 +00:00
Michael Niedermayer
ae40484c1c (commit by michael)
bye bye weird al rounding bug ;)

Originally committed as revision 268 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-01-15 22:22:41 +00:00
Michael Niedermayer
bff6ecaa9c AC table reset (memset) optimization - patch by Michael Niedermayer <michaelni@gmx.at>
Originally committed as revision 251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-01-10 00:53:21 +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
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
Nick Kurshev
a822a47983 fixed gcc-3.0.x compilation (by Michael Niedermayer)
Originally committed as revision 211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-11-10 14:36:12 +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
Fabrice Bellard
58f26ba916 changed opendivx to mpeg4
Originally committed as revision 102 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-15 13:12:23 +00:00
Fabrice Bellard
1a56543279 win32 fixes
Originally committed as revision 84 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-13 21:48:05 +00:00
Fabrice Bellard
3c054a1cdd fixed scan protos
Originally committed as revision 52 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-07 22:49:11 +00:00
Arpi
4af7bcc185 MMX/MMXEXT iDCT support, using external functions currently defined in libmpeg2
Gives average 13-20% mpeg decoding speedup on x86 systems.


Originally committed as revision 30 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-03 18:33:03 +00:00
Fabrice Bellard
21af69f787 use block[] in structure to have it aligned on 8 bytes for mmx optimizations - dct_unquantize is always a function pointer - added specialized dct_unquantize_h263
Originally committed as revision 22 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-30 23:26:26 +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