Commit Graph

137 Commits

Author SHA1 Message Date
Michael Niedermayer
178fcca848 1/2 resolution decoding
Originally committed as revision 3507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-25 23:18:58 +00:00
Michael Niedermayer
e69538fa60 h264_qpel8_hv_lowpass_mmx2/3dnow
Originally committed as revision 3446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-08 18:49:12 +00:00
Michael Niedermayer
e772bb8a82 h264_qpel4_hv_lowpass_mmx2/3dnow
alignment fixes

Originally committed as revision 3445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-08 18:25:45 +00:00
Michael Niedermayer
56d8bd5659 optimization
Originally committed as revision 3440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-08 00:52:49 +00:00
Michael Niedermayer
a6e39f45a2 optimization
Originally committed as revision 3439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-07 22:56:50 +00:00
Michael Niedermayer
ed8ffdf46c optimization
Originally committed as revision 3438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-07 17:22:37 +00:00
Michael Niedermayer
437525c473 h264 luma motion compensation in mmx2/3dnow
Originally committed as revision 3437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-07 01:48:45 +00:00
Michael Niedermayer
d6af6b0350 10000l fix and use more mmx2/3dnow code for mpeg4 qpel which has been written and commited long time ago but appearently never used, qpel motion compensation is 5% faster
now

Originally committed as revision 3435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-06 03:17:31 +00:00
Michael Niedermayer
1ec4df0fa8 sse8 and nsse in mmx
Originally committed as revision 3206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-08 02:13:44 +00:00
Michael Niedermayer
e96682e6f4 some of the warning fixes by (Michael Roitzsch <mroi at users dot sourceforge dot net>)
Originally committed as revision 3140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-18 17:09:46 +00:00
Mike Melanson
7daabccb5d move the 0x80 vector outside of the function, thus saving the compiler
the trouble of having to initialize each byte on the stack individually

Originally committed as revision 3083 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-27 04:06:24 +00:00
Mike Melanson
f9ed9d8584 separate out put_signed_pixels_clamped() into its own function and
implement an optimized MMX version of the function

Originally committed as revision 3082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-27 03:58:06 +00:00
Mike Melanson
116824d0aa reorganize and simplify the VP3 IDCT stuff
Originally committed as revision 3071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-26 00:20:29 +00:00
Mike Melanson
38acbc3cb9 hook up support for SSE2-optimized VP3 IDCT
Originally committed as revision 3064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-25 03:33:30 +00:00
Mike Melanson
01456e8e86 use optimized VP3 functions where appropriate
Originally committed as revision 2857 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-08 02:18:19 +00:00
Dmitry Baryshkov
5c0513bda7 attribute used patch by (mitya at school dot ioffe dot ru (Dmitry Baryshkov))
Originally committed as revision 2830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-29 22:10:18 +00:00
Michael Niedermayer
364a179749 quantizer noise shaping optimization
Originally committed as revision 2750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-06 02:12:37 +00:00
Mike Melanson
fb85b027f6 vsad16_mmx2 only applies if encoders are turned on
Originally committed as revision 2736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-31 20:41:07 +00:00
Michael Niedermayer
8fd19ab286 SSE2 fdct by (Balatoni Denes <pnis at coder dot hu>)
Originally committed as revision 2729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-29 01:15:25 +00:00
Michael Niedermayer
8f2ab83318 copyright year update of the files i touched and remembered, things look annoyingly unmaintained otherwise
Originally committed as revision 2686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-10 16:04:55 +00:00
Michael Niedermayer
622348f931 interlaced dct decision cleanup
function moved to dspcontext
  mmx&mmx2 optimized
  change SSE -> SAD as default (better quality)
vbv buffer size command line option in kbyte

Originally committed as revision 2669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-05 22:57:07 +00:00
Michael Niedermayer
bb198e198a interlaced motion estimation
interlaced mpeg2 encoding
  P & B frames
  rate distored interlaced mb decission
  alternate scantable support
4mv encoding fixes (thats also why the regression tests change)
passing height to most dsp functions
interlaced mpeg4 encoding (no direct mode MBs yet)
various related cleanups
disabled old motion estimaton algorithms (log, full, ...) they will either be fixed or removed

Originally committed as revision 2638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-30 16:07:57 +00:00
Aurelien Jacobs
0c11692a1d Here are juste two added #ifdef CONFIG_ENCODERS to allow
libavcodec to compile without CONFIG_ENCODERS defined
patch by (Aurelien Jacobs <aurel at gnuage dot org>)

Originally committed as revision 2604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-13 02:14:18 +00:00
Michael Niedermayer
3615e2be84 h263_h_loop_filter_mmx
Originally committed as revision 2553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-02 22:02:57 +00:00
Michael Niedermayer
359f98ded9 h263_v_loop_filter_mmx
Originally committed as revision 2552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-02 20:28:10 +00:00
Alex Beregszaszi
01a2ddaf85 1l
Originally committed as revision 2424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-23 23:24:38 +00:00
Michael Niedermayer
cf3bf5bbaa minor mmx2 optimization if the dct
Originally committed as revision 2423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-23 13:22:20 +00:00
Mike Melanson
764ef40015 disable encoders where appropriate (patch courtesy of BERO
<bero -at- geocities.co.jp>)

Originally committed as revision 2375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-14 04:15:53 +00:00
Michael Niedermayer
8470540344 mmx2 optimization of huffyuv median encoding
Originally committed as revision 2372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-13 17:27:30 +00:00
Michael Niedermayer
4fb518c392 the return of the idct with 16bit output by ("Ivan Kalvachev" <ivan at cacad dot com>)
Originally committed as revision 1983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-21 01:11:31 +00:00
Michael Niedermayer
5fd74135ad more #ifdef CONFIG_ENCODERS by (Wolfgang Hesseler <qv at multimediaware dot com>)
Originally committed as revision 1843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-07 23:32:45 +00:00
Michael Niedermayer
7db52b63da 10l (hadamard fix)
Originally committed as revision 1771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-14 09:58:16 +00:00
Michael Niedermayer
8e0a3db735 faster hadamard transform
Originally committed as revision 1707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-26 11:29:45 +00:00
Zdenek Kabelac
e5247b5f57 * oooooops - sorry for this one - wrong logic
empty dsp_mask - no change
  FORCE - add,  no FORCE - enabled bits are masked out

Originally committed as revision 1659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-10 11:22:30 +00:00
Zdenek Kabelac
63f6082633 * support FF_MM_FORCE
Originally committed as revision 1643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-07 13:49:10 +00:00
Michael Niedermayer
b0368839ac MpegEncContext.(i)dct_* -> DspContext.(i)dct_*
bitexact cleanup

Originally committed as revision 1617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-03 14:54:00 +00:00
Zdenek Kabelac
2720569a9a * prototypes at one place
Originally committed as revision 1579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-11 16:57:55 +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
5c91a6755b * static,const,compiler warning cleanup
Originally committed as revision 1567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-10 09:35:32 +00:00
Felix von Leitner
2a006cd396 sse16 & pix_norm1 optimization patch by (Felix von Leitner <felix-ffmpeg at fefe dot de>) (with some modifications)
Originally committed as revision 1450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-11 22:32:56 +00:00
Michael Niedermayer
db79495376 qpel fix
Originally committed as revision 1426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-09 20:42:37 +00:00
Michael Niedermayer
5a508a98e9 PIC / ebx fix
Originally committed as revision 1408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-07 13:00:38 +00:00
Michael Niedermayer
0b093b6fef more gcc bug workarounds
Originally committed as revision 1407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-07 11:59:34 +00:00
Michael Niedermayer
c296f66b54 1000l (push & esp) using mangle now ...
Originally committed as revision 1401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-06 09:55:52 +00:00
Michael Niedermayer
3178ee4cc4 qpel in b frames bugfixes
Originally committed as revision 1398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-05 20:59:29 +00:00
Michael Niedermayer
3643bd9c31 slowdown / gcc 2.95.* bug workaround (this should be reversed as soon as gcc 2.95.* support is droped)
Originally committed as revision 1397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-05 19:53:07 +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
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
11f18fafca huffyuv
Originally committed as revision 1211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-14 19:20: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
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
Michael Niedermayer
084c726ba3 pix_sum16_mmx()
Originally committed as revision 961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-20 10:03:01 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
de6d9b6404 Initial revision
Originally committed as revision 5 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-22 14:18:56 +00:00