Commit Graph

248 Commits

Author SHA1 Message Date
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
Michael Niedermayer
9be42dba97 larger edge emu buffer (might have been too small)
Originally committed as revision 773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-17 13:25:01 +00:00
Michael Niedermayer
5499377432 fixing gmc with emu edges
Originally committed as revision 772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-17 12:42:50 +00:00
Michael Niedermayer
4c9ede2e4b interlaced mpeg2 fix ... replacing linesize>>1 by uvlinesize brainlessly wasnt a good idea
Originally committed as revision 771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-17 11:04:26 +00:00
Michael Niedermayer
fe072fb4ee exporting mbskip_table after it has been allocated
Originally committed as revision 768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-16 11:45:14 +00:00
Michael Niedermayer
760acb18a3 direct rendering for SVQ1
MpegEncContext->opaque MUST NOT be used by the codec, its for the parent program
 using standart values for pict_type
 using (uv)linesize
 handling dropable p-frames like b-frames

Originally committed as revision 763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-15 21:19:37 +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
225f9c44cf 4mv & qpel edge emu
Originally committed as revision 760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-15 00:25:53 +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
c03a717274 rl decoding optimization
Originally committed as revision 755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-13 17:30:43 +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
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
a406617f2a init dc_scale tables to defaults (fixes mjpeg sig11)
Originally committed as revision 706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-25 10:15:42 +00:00
Michael Niedermayer
f5957f3fe2 wmv1 support
dc scale optimisation
better ac table selection for msmpeg4

Originally committed as revision 696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-18 00:49:00 +00:00
Michael Niedermayer
6282185e82 grayscale only encoding
Originally committed as revision 679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-09 14:04:36 +00:00
Michael Niedermayer
b50eef3ae0 grayscale only decoding
Originally committed as revision 677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-09 13:35:56 +00:00
Michael Niedermayer
0f440e0214 optimizing MPV_decode_mb
Originally committed as revision 673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-05 23:43:56 +00:00