Commit Graph

181 Commits

Author SHA1 Message Date
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
Lennert Buytenhek
1565dabc1a be less verbose patch by (Lennert Buytenhek <buytenh at math dot leidenuniv dot nl>)
Originally committed as revision 889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-01 07:26:43 +00:00
Michael Niedermayer
e7fce5e9fb bitexact hack for the simple mmx idct
Originally committed as revision 886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-31 14:17:51 +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
Dominik Mierzejewski
0778718635 warning patch by (Dominik Mierzejewski <dominik at rangers dot eu dot org>)
Originally committed as revision 872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-28 08:15:30 +00:00
Michael Niedermayer
9f36153415 dont trash mm0, its still used in the next iteration of the loop (fixes strange horizontal lines on some blocks in b frames on mmx only cpus)
Originally committed as revision 855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-20 19:23: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
4afeaec92f pix_abs mmx2 isnt bit-exact ...
Originally committed as revision 781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-21 00:48:50 +00:00
Zdenek Kabelac
39825f315f * reimplemented remaing avg_ pixel functions
* modified PAVGB mmx macro to select mmx register with FE constant

Originally committed as revision 657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-03 17:35:35 +00:00
Zdenek Kabelac
d3cd07425a * implemented remaing avg_ pixel functions (these are not used offen)
Originally committed as revision 656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-03 17:31:46 +00:00
Zdenek Kabelac
fca0f0e59f * removed MANGLE from macros for setting constants
* using MOVQ_WONE/MOVQ_BFE as two instruction instead of static memory value access
  as its always faster
* PAVGB_MMX macro is using now mm6 -> mm7 is unmodified
* replaced original pixels_xy2_mmx with new faster and equal implementation
* replaced usage of mm7 for other then ZERO contstant in _rnd & _avg file with mm6

Originally committed as revision 632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-30 15:14:56 +00:00
Zdenek Kabelac
ff9657069a * using unrolled loops seems to help to MMX Celerons
* calculating average in parallel to use two MMX units
* disabled xy2 put code - it's producing rouding errors

Originally committed as revision 626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-29 20:00:10 +00:00
Zdenek Kabelac
6aa6ea8e11 * reenabled original xy2 put routine - rounding error is really bad with
the new code
* added PAVGP macros for parallel processing to safe few more cycles on
  celerons

Originally committed as revision 625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-29 19:57:21 +00:00
Zdenek Kabelac
91abb473fb * code with new PAVGB for MMX only CPU splited into separate file
and being compiled in the same way as _avg.h
* PAVG_MMX macros accept also output parameter
* implemented faster put_pixels_xy2, but it has slightly smaller precission.
  But there is not visible difference in the image quality - might be eventualy
  easily switched back (#if 0 #endif)- please check

Originally committed as revision 624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-29 17:16:22 +00:00
Zdenek Kabelac
def60345ad * new mmx code - based upon http://aggregate.org/MAGIC
for now it's rather sneak preview (new functions are nearly 100% faster)

Originally committed as revision 623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-29 14:29:48 +00:00
Zdenek Kabelac
541027e26a * cosmetic minor change
Originally committed as revision 622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-29 14:20:48 +00:00
Zdenek Kabelac
d17b6f0bbb * optimized remaing avg_pixels_xy2
Originally committed as revision 621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-29 08:31:22 +00:00
Zdenek Kabelac
e9c0a38ff0 * optimized avg_* functions (except xy2)
* minor speedup for put_pixels_x2 & cleanup

Originally committed as revision 619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-28 16:35:58 +00:00
Zdenek Kabelac
c0eb0bb717 * more PIC friendly and faster code
Originally committed as revision 616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-27 14:09:10 +00:00
Zdenek Kabelac
5f6230016a * removed TESTCPU_MAIN - not needed for testing
Originally committed as revision 615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-27 11:32:01 +00:00
Zdenek Kabelac
e5f3d22d35 * undefine local defines when they are no longer needed
Originally committed as revision 612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-27 08:37:13 +00:00
Zdenek Kabelac
30eb039652 * avoids double inclusion of this header
(how about making all headers in ffmpeg working this way ?)

Originally committed as revision 609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-27 08:31:54 +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
Zdenek Kabelac
52af45ad77 * baling 8 seems to have the same speed
Originally committed as revision 575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-23 16:19:07 +00:00
Zdenek Kabelac
fbdedc1704 * always baling even though it seems to produce sometime worse
results then for -fPIC compilation - don't ask me why...

Originally committed as revision 573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-23 15:57:28 +00:00
Zdenek Kabelac
31ddcf9851 * cleanup for put_pixels_mmx
Originally committed as revision 572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-23 15:48:30 +00:00
Zdenek Kabelac
ec9a41f57d * somewhat more advanced test suit for dsp code - for now i386 only
cd test ; make dsptest ; ./dsptest

Originally committed as revision 568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-23 13:34:22 +00:00
Zdenek Kabelac
6efad6fd85 * align the source initialy address
Originally committed as revision 567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-23 12:17:08 +00:00
Zdenek Kabelac
2bd978bdb8 * fixed contrains and avoid usage of scale index access
Originally committed as revision 566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-23 10:10:14 +00:00
Zdenek Kabelac
dcb9cd4b81 * added simple test main - see comments about how to
compile - should be probably made as a regression test

Originally committed as revision 565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-23 10:09:33 +00:00
Michael Niedermayer
ba0420d83e using 1 operand less and slightly faster put_pixels_y2
Originally committed as revision 564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-22 23:18:59 +00:00
Zdenek Kabelac
a213d66486 * fix for -fPIC compilation - compiles with 2.95.2 as well - any
other compiler shows any problem here ??

Originally committed as revision 563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-22 20:46:24 +00:00
Fabrice Bellard
4f12a4976a removed unused code
Originally committed as revision 543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-20 16:25:09 +00:00
Fabrice Bellard
61a4e8ae3b removed debug function
Originally committed as revision 519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-18 22:59:12 +00:00
Fabrice Bellard
9241551049 tried to avoid gcc 2.95.2 bug by puting explicit register constraints - added comment about rounding bug in some functions (need to correct or suppress them for regression tests)
Originally committed as revision 515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-18 22:49:11 +00:00
Michael Niedermayer
a7bd879798 shared lib support (req by kabi) ...
Originally committed as revision 510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-17 13:01:01 +00:00
Michael Niedermayer
607dce96c0 hopefully faster mmx2&3dnow MC
Originally committed as revision 506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-17 01:04:14 +00:00
Michael Niedermayer
ccf589a8fe C4=16383 for the c version too and even for some outcommented code
Originally committed as revision 433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-02 13:35:33 +00:00
Michael Niedermayer
9e1795dd13 set C4 to 16383
Originally committed as revision 432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-02 12:51:10 +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
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
Zdenek Kabelac
cd8e5f9637 * fixes problem with -funroll-loops and buggy gcc compiler
Originally committed as revision 421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-24 12:18:59 +00:00
Michael Niedermayer
ba8d0be99d rounding bugfix
Originally committed as revision 409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-21 22:41:49 +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
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
649c00c96d sizeof(s->block) isnt 64*6*2 anymore bugfix
mpeg12 decoding optimization

Originally committed as revision 364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-03-28 13:41:04 +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
Juanjo
43f1708f8b - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
sure it works ok. Also it's slow, so use it only when you _really_ need to
measure quality.
- Fix libavcodec Makefile to enable profiling.

Originally committed as revision 314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-26 22:14:27 +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
d6a4c0b111 * some modifications to allow gcc to compile same code for -fPIC
- introduced MOVQ_WONE, MOVQ_WTWO
* unrolled put_pixels_clamped_mmx
* added .baling where the jump address would be compiled on odd address
* added some testing code to disable all these routines (for time measurement)

Originally committed as revision 308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-18 09:40:05 +00:00
Arpi
3cb32e3d1f PATCH by Rik Snel <rsnel@cube.dyndns.org>
this includes the range for quantized dct coefficients in dct_quantize()  (-1023...1023)

Originally committed as revision 291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-09 01:25:06 +00:00
Arpi
5dfd24ac98 workaround gcc bug "m" (0)
avoiding useage of ebx

Originally committed as revision 283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-01-28 19:34:16 +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
Nick Kurshev
4bdd9157cc Cygwin's mangling by Felix Buenemann <atmosfear@users.sourceforge.net>
Originally committed as revision 273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-01-20 14:30:34 +00:00
Michael Niedermayer
0a8d8945fd (commit by michael)
faster simple idct in MMX

Originally committed as revision 269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-01-17 20:00:41 +00:00
Michael Niedermayer
3d9fccbf0f (commit by michael)
draw_edges_mmx()

Originally committed as revision 266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-01-15 04:07:29 +00:00
Michael Niedermayer
badaf88eeb (commit by michael)
dequantizers skip trailing zeros
msmpeg4 non-intra decoder has its dequantizer "build in" now

Originally committed as revision 260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-01-13 04:59:37 +00:00
Michael Niedermayer
f4470e0936 print cpu flags
Originally committed as revision 248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-01-10 00:41:53 +00:00
Arpi
37e8dcda36 new IDCT code by Michael Niedermayer (michaelni@gmx.at) - #define SIMPLE_IDCT to enable
Originally committed as revision 235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-12-09 12:39:54 +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
Nick Kurshev
f12e206b47 Let loops will be aligned
Originally committed as revision 213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-11-11 17:55:54 +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
Arpi
7f3f5ec87b dct_unquantize_h263_mmx() by Michael Niedermayer <michaelni@gmx.at>
Originally committed as revision 205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-11-03 02:22:48 +00:00
Fabrice Bellard
a74127c071 win32 fixes
Originally committed as revision 110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-15 22:33:03 +00:00
Fabrice Bellard
64ccc83c2b removed
Originally committed as revision 105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-15 22:26:09 +00:00
Fabrice Bellard
694ec0612b suppressed nasm dependancy - rewrote forward DCT and motion estimation code
Originally committed as revision 104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-15 22:25:32 +00:00
Nick Kurshev
c10e9f70c0 Portability and testing issues
Originally committed as revision 55 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-08 16:26:51 +00:00
Fabrice Bellard
8def029919 added mmx idct
Originally committed as revision 53 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-07 22:49:50 +00:00
Fabrice Bellard
fe97c87d65 updated mmx macros
Originally committed as revision 42 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-07 22:40:52 +00:00
Fabrice Bellard
f33802a005 added idct mmx code
Originally committed as revision 41 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-07 22:40:29 +00:00
Nick Kurshev
1d20b11aa4 Suppressing external gas stuff to improve portability to Win32
Originally committed as revision 33 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-05 16:49:57 +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
96f4e5135c added external cpuid code to solve -fPIC and gcc unclear constraints problems
Originally committed as revision 25 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-30 23:51:20 +00:00
Fabrice Bellard
35b2a786f5 renamed - use of s->dct_unquantize function pointer - SHOULD add faster h263 mmx specific unquantization stuff
Originally committed as revision 23 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-30 23:28:35 +00:00
Nick Kurshev
a9b3f63084 Sync with mplayer's stuff
Originally committed as revision 14 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-30 09:04:34 +00:00
Fabrice Bellard
7d650cb540 suppressed no longer needed emms()
Originally committed as revision 11 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-24 20:38:55 +00:00
Fabrice Bellard
a9e3707d6b fixed cpuid macro to allow PIC compiling
Originally committed as revision 10 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-24 20:37:52 +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