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