Commit Graph

223 Commits

Author SHA1 Message Date
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