Commit Graph

264 Commits

Author SHA1 Message Date
Wolfgang Hesseler
7604246d1a more #ifdef CONFIG_ENCODERS patch by (Wolfgang Hesseler <qv at multimediaware dot com>) with modifications by me (s/WOLFGANG/CONFIG_ENCODERS/ and some other fixes)
Originally committed as revision 1588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-16 23:05:38 +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
fe1b62fb3e * still unfinished code for Options
* demo code - awating more comments

Originally committed as revision 1569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-10 09:40:23 +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
36df880581 divx503 decoding fix
Originally committed as revision 1538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-02 23:34:30 +00:00
Michael Niedermayer
1d0d55daf4 --disable-risky support
Originally committed as revision 1522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-29 12:00:11 +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
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
741235ebe9 gmc1 segfault fix (found by kabi)
Originally committed as revision 1456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-13 12:55:05 +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
Thomas Jarosch
369fe5993f pts encoding fix patch by (Thomas Jarosch <tomj at simonv dot com>)
Originally committed as revision 1394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-05 17:17:14 +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
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
9981dfc662 more optimized trellis quantizer
Originally committed as revision 1381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-31 22:58:41 +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
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
5f3ed1653f fixing hq + adaptive quant
Originally committed as revision 1313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-05 19:18:13 +00:00
Michael Niedermayer
aa388dba30 fixing files where the first frame isn a keyframe
Originally committed as revision 1309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-04 22:16:24 +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
Michael Niedermayer
2571e3b62b 100l (mixing chroma & luma linesize)
Originally committed as revision 1298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-03 01:14:34 +00:00
Michael Niedermayer
f8fd15e03f moving init of some variables (hurry_up,...) to MPV_frame_start()
Originally committed as revision 1271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-23 09:12:57 +00:00
Zdenek Kabelac
9a7b310d06 * remaining part of John Ryland's patch
Originally committed as revision 1267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-22 07:24:28 +00:00
Michael Niedermayer
5d3cea3a86 aspect ratio cleanup
Originally committed as revision 1254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-20 13:08:04 +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
18f770162b * fixing some minor const warnings
Originally committed as revision 1205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-12 15:00:04 +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
f01a189455 cleanup
Originally committed as revision 1178 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-09 10:38:34 +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
bbed9259cc put a few large tables under #ifdef CONFIG_ENCODERS or dynamically allocate them
Originally committed as revision 1130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-31 16:11:03 +00:00
Michael Niedermayer
6bb925f47d dont call emms_c() for each MB
Originally committed as revision 1127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-31 12:11:53 +00:00
Michael Niedermayer
0aa7875a73 cleanup
Originally committed as revision 1126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-31 11:47:58 +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
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
6e2d5f1aea regression test for H263+
Originally committed as revision 1070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-25 10:50:02 +00:00
Michael Niedermayer
945eeee15e slice encoding cleanup
Originally committed as revision 1069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-25 00:08:32 +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
4a3d7fbcbc fixing interlaced MC & edge-emu
Originally committed as revision 1066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-23 08:14:12 +00:00
Michael Niedermayer
03e93d35b0 xvid qpel bug workaround
Originally committed as revision 1063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-22 18:55:20 +00:00
Michael Niedermayer
8b32880cc9 fixing h263 decoding (did segfault)
Originally committed as revision 1049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-19 01:31:26 +00:00
Michael Niedermayer
fb8a9e2f37 fixing interlaced dct + hq mode
Originally committed as revision 1048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-18 18:32:50 +00:00
Michael Niedermayer
9fee1e234e init flags before using it (found by arpi)
Originally committed as revision 1047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-16 22:18:41 +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
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
Michael Niedermayer
0298af4887 set low_delay on encoding if no b frames
Originally committed as revision 1007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-06 17:46:22 +00:00
Michael Niedermayer
676e200cff trying to fix the non-x86 IDCTs (untested)
Originally committed as revision 1006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-06 15:27:01 +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
3994623df2 optimization
Originally committed as revision 992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-02 17:07:39 +00:00
Michael Niedermayer
a02017367b optimizing mpeg1_decode_block()
Originally committed as revision 985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-30 16:14:14 +00:00
Michael Niedermayer
cc7ac88830 convert only needed matrixes in convert_matrix() (mjpeg calls it for every frame)
Originally committed as revision 983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-30 09:19:54 +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
Falk Hüffner
ea689c8eb7 An easy way to speed up encoding by 6%.
Originally committed as revision 978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-28 02:18:34 +00:00
Michael Niedermayer
202ef8b819 ff_get_fourcc() & XVIX support
Originally committed as revision 975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-27 10:27:57 +00:00
Michael Niedermayer
fcb48651f4 mpeg4 interlaced dct encoding
Originally committed as revision 971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-26 00:22:25 +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
5e746b9995 darkness masking (lumi masking does only bright stuff now)
Originally committed as revision 967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-24 10:53:59 +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
1e7bfebe7f fixing qpel 4mv
Originally committed as revision 945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-14 12:36:54 +00:00
Michael Niedermayer
590a635884 interlaced qpel mpeg4 fixed
Originally committed as revision 943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-14 10:11:05 +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
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
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
208d3ddf96 set pict_type & key_frame on decoding too
Originally committed as revision 918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-12 00:27:08 +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
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
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
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
7806197db2 error concealment needs the mbintra_table so it should allways be allocated
Originally committed as revision 861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-24 13:24:43 +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
c9178d868a same dc skip behavior for chroma & luma elimination, its confusing otherwise imho
Originally committed as revision 854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-18 00:42:58 +00:00
Michael Niedermayer
f5866a0340 skip blocks with small chroma dc too (if the user wants it) needed to avoid IDCT(input coeffs !=0) == 0 problems which cause catastrophic error accumulation at qp=1
Originally committed as revision 853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-17 20:10:27 +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
b7adc711fa last_picture should be never == NULL (it was with dr1) this might fix a segfault with error concealment
Originally committed as revision 837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-04 16:05:05 +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
a10678da8a max_b_frame=4 bugfix
Originally committed as revision 833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-01 11:01:07 +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
79c0c7858d use edge emu for encoding of width or height %16!=0 files
Originally committed as revision 776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-17 23:32:31 +00:00
Michael Niedermayer
9022797ba2 fixing NULL reference frame with dr1
Originally committed as revision 775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-17 17:50:42 +00:00