Commit Graph
100 Commits
Author SHA1 Message Date
Loren Merritt eca3810e31 tweak mmx2 sad.
6% faster on core2 and k8, no change on p4.

Originally committed as revision 8984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 22:24:19 +00:00
Loren Merritt 7c3a9fe2a3 sse2 version of fdct_col.
k8: 72->61 cycles, core2: 51->26 cycles.

Originally committed as revision 8966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 03:13:41 +00:00
Loren Merritt 5adf43e47e cosmetics: remove code duplication in hadamard8_diff_mmx
Originally committed as revision 8946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-09 01:46:33 +00:00
Loren Merritt bba5293bb7 cosmetics: remove duplicate transpose macro
Originally committed as revision 8939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-08 17:55:56 +00:00
Loren Merritt 4b8419aa7f simplify
Originally committed as revision 8911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-06 09:17:50 +00:00
Loren Merritt cd66ddb6b0 simplify
Originally committed as revision 8908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-06 06:46:20 +00:00
Loren Merritt 6ec4818525 faster and simpler vp6 bilinear mc
Originally committed as revision 8907 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-06 06:43:33 +00:00
Loren Merritt 1cfe393a25 doxy comment tweaks
Originally committed as revision 8580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-31 23:58:33 +00:00
Loren Merritt e62b3dd210 move some stuff out of an inner loop. 12% faster svq1 encoding.
Originally committed as revision 8560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-30 19:16:41 +00:00
Loren Merritt 5900637219 mmx 16-bit ssd. 2.3x faster svq1 encoding.
Originally committed as revision 8559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-30 19:15:31 +00:00
Loren Merritt 0ec4bc6a27 oops, encoder was under ifdef decoders.
Originally committed as revision 8455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-20 16:51:30 +00:00
Loren Merritt d2bfaf8aae huffyuv rgb encoder
Originally committed as revision 8439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-18 12:03:29 +00:00
Loren Merritt 4672503d8c simplify in fill_caches
Originally committed as revision 8026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-19 04:44:17 +00:00
Loren Merritt b0d7bc1eab 10l in r7174 caused all options to be treated as filenames.
Originally committed as revision 7177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-27 15:48:16 +00:00
Loren Merritt a957c27b03 more prefetches, 2% faster h264
Originally committed as revision 6664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 21:34:15 +00:00
Loren Merritt 938dd84693 don't try to inline cabac functions. gcc ignored the hint anyway, and forcing it would make h264 slower.
Originally committed as revision 6549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-04 07:16:10 +00:00
Loren Merritt e6e77eb6fa simplify write_back_motion for skip mbs
Originally committed as revision 6548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-04 07:08:26 +00:00
Loren Merritt a1b13cf590 10l in r6412
Originally committed as revision 6547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-04 02:57:43 +00:00
Loren Merritt 2833fc4646 approximate qpel functions: sacrifice some quality for some decoding speed. enabled on B-frames with -lavdopts fast.
Originally committed as revision 6412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-01 21:25:17 +00:00
Loren Merritt 8e06f20abf remove a division from STOP_TIMER
Originally committed as revision 6315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-21 18:00:05 +00:00
Loren Merritt 7e611a0e8c simplify asm mid_pred, as suggested by michaelni.
Originally committed as revision 6314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-21 17:48:45 +00:00
Loren Merritt a4eb118a41 cosmetics (indentation)
Originally committed as revision 6313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-21 17:43:09 +00:00
Loren Merritt f469094c9b tweak ff_imdct_calc_3dn2
Originally committed as revision 6312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-21 17:42:23 +00:00
Loren Merritt ebbafcb454 sse implementation of imdct.
patch mostly by Zuxy Meng (zuxy dot meng at gmail dot com)

Originally committed as revision 6311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-21 16:37:39 +00:00
Loren Merritt 93a319f13b asm implementation of mid_pred.
20% faster huffyuv decoding, 4% faster ffv1.

Originally committed as revision 6254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-15 00:36:49 +00:00
Loren Merritt f7e89c73e3 snow cosmetics: merge the sliced and non-sliced versions of add_yblock
Originally committed as revision 6149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-01 22:02:38 +00:00
Loren Merritt 74e6a8aade fix snow 1pass rc: the qlog used and the one written to the bitstream weren't always the same.
Originally committed as revision 6148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-01 21:51:35 +00:00
Loren Merritt 776fe466b2 slightly faster deblock
Originally committed as revision 6121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-29 03:07:58 +00:00
Loren Merritt 3e20143ee7 mmx implementation of deblocking strength decision.
2-3% faster h264.

Originally committed as revision 6113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-28 09:33:01 +00:00
Loren Merritt bfe328caf0 tweak cabac. 0.5% faster h264.
Originally committed as revision 6106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-27 09:19:02 +00:00
Loren Merritt 652c59b967 use ff_fft_calc_3dn2 instead of sse on a K8.
1.5% faster vorbis.

Originally committed as revision 6024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-19 02:42:20 +00:00
Loren Merritt 1e4ecf26f5 ff_fft_calc_3dn/3dn2/sse: convert intrinsics to inline asm.
2.5% faster fft, 0.5% faster vorbis.

Originally committed as revision 6023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-18 23:53:49 +00:00
Loren Merritt 069720565c vorbis simd tweaks
Originally committed as revision 5983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-11 18:19:37 +00:00
Loren Merritt 0e0adae0ba vorbis cosmetics: mdct0,mdct1 => mdct[2]
Originally committed as revision 5978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-10 21:57:30 +00:00
Loren Merritt 88db1a15c5 misc tweaks in vorbis_residue_decode().
4% faster vorbis.

Originally committed as revision 5977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-10 21:55:31 +00:00
Loren Merritt eb4825b5d4 sse and 3dnow implementations of float->int conversion and mdct windowing.
15% faster vorbis.

Originally committed as revision 5975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-10 19:06:25 +00:00
Loren Merritt 60ae06e77e r5954 broke fft on cpus with 3dnow but without mm3dnow.h
Originally committed as revision 5974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-10 18:49:47 +00:00
Loren Merritt ee5df92750 emms -> femms
Originally committed as revision 5965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-09 06:37:25 +00:00
Loren Merritt 2494bdd90d gcc 2.95 and 3.4.x on x86 32bit without fomit-frame-pointer can't even find 5 registers for asm input.
0.5% slower vorbis.

Originally committed as revision 5964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-09 06:33:49 +00:00
Loren Merritt 1b87c40245 slightly faster ff_imdct_calc_3dn2() on amd64. (gcc added a bunch of useless movsxd)
Originally committed as revision 5962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-08 21:47:11 +00:00
Loren Merritt bcfa3e58ee 3dnow2 implementation of imdct.
6% faster vorbis and wma.

Originally committed as revision 5954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-08 04:01:04 +00:00
Loren Merritt cd035a6051 10l, vorbis_inverse_coupling_sse() was really 3dnow
Originally committed as revision 5903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 07:09:29 +00:00
Loren Merritt 32e8763103 another div -> fastdiv, another 2% faster vorbis.
Originally committed as revision 5902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 06:07:13 +00:00
Loren Merritt 2dac4acfc0 sse & sse2 implementations of vorbis channel coupling.
9% faster vorbis (on a K8).

Originally committed as revision 5898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 03:18:47 +00:00
Loren Merritt 7bf0049623 int16_t is faster than int_fast16_t for division.
2% faster vorbis (on a K8).

Originally committed as revision 5897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 02:18:07 +00:00
Loren Merritt ae08a5631e 10l in r5768 (broke mbaff)
Originally committed as revision 5831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-27 20:37:21 +00:00
Loren Merritt 8b75e45d8c sync to x264 r537
Originally committed as revision 5780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-18 01:29:43 +00:00
Loren Merritt 717b173366 slightly faster h264 fill_caches()
Originally committed as revision 5768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 18:55:18 +00:00
Loren Merritt 4a387d7d3b update regression tests for r5449 (adpcm)
Originally committed as revision 5476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-14 19:10:59 +00:00
Loren Merritt c4da83fb0f h264: accept rbsp_trailing longer than 1 byte
Originally committed as revision 5467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-12 09:30:17 +00:00
Loren Merritt 696d6889d2 ADPCM: trellis quantization
Originally committed as revision 5451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-03 19:04:56 +00:00
Loren Merritt 7e5370516b adpcm_ima & adpcm_yamaha: improved quantization
Originally committed as revision 5449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-03 04:38:11 +00:00
Loren Merritt 7374794a89 Snow: don't try to encode lossless with 9/7 wavelet, because it isn't lossless.
Originally committed as revision 5433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 19:45:12 +00:00
Loren Merritt d4b287ed36 Snow: cosmetics
Originally committed as revision 5432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 19:40:28 +00:00
Loren Merritt 85fc0e7531 Snow: scale predicted mv based on which reference frame the neighbors used.
Originally committed as revision 5431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 16:42:29 +00:00
Loren Merritt 7f21a9a7b8 Snow: cosmetics
Originally committed as revision 5428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 06:49:15 +00:00
Loren Merritt 871371a768 Snow: fix subband weighting in wavelet cmp functions. use 32x32 cmp in iterative motion estimation.
Originally committed as revision 5427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 05:44:22 +00:00
Loren Merritt 383f62fdfe Snow: 10l. 1pass ratecontrol failed to set snow's internal quant.
Originally committed as revision 5426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 04:51:58 +00:00
Loren Merritt 5d18eaad13 h264: MBAFF interlaced decoding
Originally committed as revision 5419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-28 22:44:14 +00:00
Loren Merritt 67a8208695 h264: faster fill_rectangle()
Originally committed as revision 5418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-28 22:28:08 +00:00
Loren Merritt 8c36eaaa94 Snow multiple reference frames
(bitstream is not backwards compatible, even if refs aren't used)

Originally committed as revision 5417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-28 21:44:47 +00:00
Loren Merritt 4e64beadf0 Snow 1pass ratecontrol
Originally committed as revision 5416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-28 12:38:10 +00:00
Loren Merritt 24efb5e51b fix a crash on x86_64
Originally committed as revision 5360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-11 00:06:50 +00:00
Loren Merritt 09786209e6 reinit quant matrices if pps is overwritten by another of the same pps_id.
Originally committed as revision 5346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-05 18:08:01 +00:00
Loren Merritt 89ddb72aa1 warn on interlaced streams
Originally committed as revision 5337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-30 19:31:45 +00:00
Loren Merritt 2848ce84d2 don't force asserts in release builds. 2% faster h264.
Originally committed as revision 5332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-29 00:43:15 +00:00
Loren Merritt 0c2aaa882d memory leak.
Originally committed as revision 5331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-28 23:16:42 +00:00
Loren Merritt c6f9e821c3 10l in h264 vismb/vismv (broke on 2006-03-09)
Originally committed as revision 5309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-21 19:22:14 +00:00
Loren Merritt 75ca1a5f70 gmc_mmx tweaks
Originally committed as revision 5269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-05 04:13:41 +00:00
Loren Merritt 703c8195a8 mmx implementation of 3-point GMC. (5x faster than C)
Originally committed as revision 5265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-04 09:23:45 +00:00
Loren Merritt 841f65f25a 2x faster ff_mpeg4_set_direct_mv
Originally committed as revision 5264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-03 07:52:24 +00:00
Loren Merritt 2ea392529a 10l in 1.199 (write_back_motion with B-pyramid + spatial)
Originally committed as revision 5215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-25 09:46:43 +00:00
Loren Merritt 5e8b787afa simplified and slightly faster h264_chroma_mc8_mmx
Originally committed as revision 5214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-25 08:41:14 +00:00
Loren Merritt e77ef2755a prefetch pixels for future motion compensation. 4-10% faster mpeg1/2/4 decoding (on an athlon-xp).
Originally committed as revision 5204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-23 21:54:46 +00:00
Loren Merritt 513fbd8e5a prefetch pixels for future motion compensation. 2-5% faster h264.
Originally committed as revision 5203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-23 20:16:36 +00:00
Loren Merritt 5e6a5c4daf 10l
Originally committed as revision 5201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-22 22:08:28 +00:00
Loren Merritt fdd3057981 added mmx implementation of h264_chroma_mc2
Originally committed as revision 5200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-22 22:05:00 +00:00
Loren Merritt 53b19144e7 1.5x faster write_back_motion, 1-3% overall
Originally committed as revision 5198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-22 12:41:02 +00:00
Loren Merritt 0816152af9 seed iterative_me with mvs from conventional search.
+15% speed, +.1 dB

Originally committed as revision 5159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-13 05:23:34 +00:00
Loren Merritt 8f8ae4951e seed iterative_me with mvs from conventional search.
+15% speed, +.1 dB

Originally committed as revision 5158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-13 01:27:13 +00:00
Loren Merritt 07674d518c obey vqscale in 2nd pass
Originally committed as revision 5157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-13 01:26:06 +00:00
Loren Merritt 548a1c8a35 h264_idct8_add_mmx
Originally committed as revision 5123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-07 22:45:56 +00:00
Loren Merritt 6da971f160 h264_idct_add only needs mmx1
Originally committed as revision 5122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-07 22:33:32 +00:00
Loren Merritt d84f7c61ee gcc2.95 workaround
Originally committed as revision 5111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-05 19:02:35 +00:00
Loren Merritt 7a5b2fa812 remove some useless instructions
Originally committed as revision 5109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-04 19:56:01 +00:00
Loren Merritt 9e4cc776da keyframe flag was wrong if SEIs followed the keyframe
Originally committed as revision 5107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-04 03:57:33 +00:00
Loren Merritt 6a8eb0f45a 4% faster h264_qpel_mc
Originally committed as revision 5094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-02 08:21:08 +00:00
Loren Merritt 285b570fd2 fix a memory leak on seeking.
Originally committed as revision 5062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-25 22:15:24 +00:00
Loren Merritt 85ed1022b3 minor simplifications in cabac_mb_type
Originally committed as revision 5048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-22 05:59:44 +00:00
Loren Merritt db8a64cba0 don't arbitrarily limit delta_qp
Originally committed as revision 5026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-16 01:16:12 +00:00
Loren Merritt 8b03135958 fix some crashes on negative nalsize.
Originally committed as revision 5022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-14 05:40:53 +00:00
Loren Merritt 171c407621 fix some crashes when missing frames
Originally committed as revision 5019 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-13 18:13:13 +00:00
Loren Merritt ef9d1d1575 h264: special case dc-only idct. ~1% faster overall
Originally committed as revision 4971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-10 06:55:25 +00:00
Loren Merritt 4e295993ba 10l in 1.12
Originally committed as revision 4965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-09 02:43:23 +00:00
Loren Merritt c0234aa44c slightly faster loopfilter
Originally committed as revision 4958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-08 07:04:32 +00:00
Loren Merritt 6ee669732d 10l (x86_64)
Originally committed as revision 4952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-07 16:10:48 +00:00
Loren Merritt e545f37527 18% faster put_h264_qpel16_mc[13]2_mmx2
Originally committed as revision 4951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-07 10:52:25 +00:00
Loren Merritt c03ce51dfb 11% faster put_h264_qpel16_v_lowpass_mmx2
Originally committed as revision 4950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-07 07:35:03 +00:00
Loren Merritt 0331f09237 15% faster put_h264_qpel16_hv_lowpass_mmx2
Originally committed as revision 4949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-07 06:25:14 +00:00
Loren Merritt fdb52bccf6 fix crash on height < 16 pixels.
Originally committed as revision 4904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-28 00:57:59 +00:00