Commit Graph
100 Commits
Author SHA1 Message Date
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
Loren Merritt 48d1b9a17c fix convergence of snow iterative_me
Originally committed as revision 4876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-21 02:35:03 +00:00
Loren Merritt 3de79d0dca revert 1.83 because it's not needed
Originally committed as revision 4875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-21 02:33:01 +00:00
Loren Merritt d3ac6ed667 detect when iterative_me fails to converge, and stop searching
Originally committed as revision 4868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-19 09:21:39 +00:00
Loren Merritt b104969fab obmc-aware 4mv
Originally committed as revision 4864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-17 08:27:39 +00:00
Loren Merritt 1015631b79 faster iterative_me: avoid duplicate mc of neighboring blocks.
Originally committed as revision 4839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 05:47:52 +00:00
Loren Merritt e8b562087d tweak h264_biweight
Originally committed as revision 4835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-09 03:38:37 +00:00
Loren Merritt 70abb40759 tweak inlines.
Originally committed as revision 4834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-09 03:15:53 +00:00
Loren Merritt 8bf755d4ff 10l: bidir_refine didn't save the new mvs. also improve speed.
Originally committed as revision 4832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-09 02:08:12 +00:00
Loren Merritt ab2e3e2c80 fix asymmetric CQMs with pre-transposed DCT.
Originally committed as revision 4799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-31 14:14:38 +00:00
Loren Merritt f23af3d825 CQM: fix fallback to JVT scaling lists
Originally committed as revision 4798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-31 13:20:24 +00:00
Loren Merritt 11d86c979c direct mvs in B_8x8 mbs were set too early.
Originally committed as revision 4797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-31 11:31:53 +00:00
Loren Merritt f1f17e54ea fix direct_8x8_inference_flag with 4x4 mvs.
Originally committed as revision 4796 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-31 10:11:37 +00:00
Loren Merritt cec9395977 fix some potential arithmetic overflows in pred_direct_motion() and
ff_h264_weight_WxH_mmx2().

Originally committed as revision 4795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-30 23:47:41 +00:00
Loren Merritt ab470fa73b recognize some more nal types
Originally committed as revision 4734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-11 02:16:21 +00:00
Loren Merritt ea15df8048 use sse16_sse2() in nsse
Originally committed as revision 4688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-12 05:23:25 +00:00
Loren Merritt 3165e258b1 fix a crash on seeking to an invalid frame
Originally committed as revision 4685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-10 04:40:49 +00:00
Loren Merritt 1fd97d8c1a tidier cabac_intra4x4_pred_mode
Originally committed as revision 4673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-03 23:26:51 +00:00
Loren Merritt 0f72508c10 25% faster deblocking, 4-6% overall.
Originally committed as revision 4668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-28 06:37:32 +00:00
Loren Merritt cd19c677cb fix a crash on dropped frames
Originally committed as revision 4667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-27 21:03:36 +00:00
Loren Merritt a6624e21cb faster h264_chroma_mc8_mmx, added h264_chroma_mc4_mmx.
2-4% overall speedup.

Originally committed as revision 4666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-27 06:45:29 +00:00
Loren Merritt 56edbd818a 10l: cqm weren't initialized in svq3.
Originally committed as revision 4662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-26 03:58:06 +00:00
Loren Merritt b2909f1a04 h264 custom quant matrices
Originally committed as revision 4661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-25 10:16:46 +00:00
Loren Merritt 239ea04ccf decode custom quant matrices.
based on a patch by anonymous, with optimizations by me.

Originally committed as revision 4660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-25 01:17:20 +00:00
Loren Merritt b926572aa9 h264 mmx weighted prediction. up to 3% overall speedup.
Originally committed as revision 4630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-09 23:38:52 +00:00
Loren Merritt 5693c08356 sse2 16x16 sum squared diff (306=>268 cycles on a K8)
faster 8x8 mmx ssd (77=>70 cycles)

Originally committed as revision 4623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-30 02:31:47 +00:00
Loren Merritt d90cbe5fe8 6% faster decode_cabac_residual
Originally committed as revision 4618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-27 05:12:13 +00:00
Loren Merritt fbd312fd91 fix emulated edge motion compensation when resolution%16!=0
Originally committed as revision 4561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-05 17:07:52 +00:00
Loren Merritt 36940eca76 H.264 lossless mode
Originally committed as revision 4381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-17 08:24:35 +00:00
Loren Merritt 1b7576e785 typo in cabac tables
Originally committed as revision 4360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-08 00:40:41 +00:00
Loren Merritt 43efd19a88 decode H.264 with 8x8 transform.
deblocking is still incorrect with 8x8+cavlc

Originally committed as revision 4339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-02 21:15:20 +00:00
Loren Merritt d2bb7db135 sort H.264 mmx dsp functions into their own file
Originally committed as revision 4338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-02 20:45:35 +00:00
Loren Merritt 85bbfcd4ee 10l (symbol mangling)
Originally committed as revision 4331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-01 04:51:46 +00:00
Loren Merritt 1d62fc8560 MMX for H.264 iDCT (adapted from x264)
Originally committed as revision 4329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-31 22:48:33 +00:00
Loren Merritt 6d1feb028f decode h264 end-of-slice flag
Originally committed as revision 4316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-29 18:18:13 +00:00
Loren Merritt ba4ffc2b48 memory leak
Originally committed as revision 4282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-19 19:11:40 +00:00
Loren Merritt 29860cc88c fix crash on negative POC
Originally committed as revision 4278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-19 04:48:06 +00:00
Loren Merritt 5cf08f2393 H.264 deblocking optimizations (mmx for chroma_bS4 case, convert existing cases to 8-bit math)
Originally committed as revision 4271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-18 09:17:22 +00:00
Loren Merritt a55f20bd9a fix storage of motion vectors for frames with more than 4096 macroblocks.
Originally committed as revision 4175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-03 21:49:18 +00:00
Loren Merritt 7c33ad19fd clear the DPB after seeking.
Originally committed as revision 4174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-03 06:53:59 +00:00
Loren Merritt 42251a2a4f MMX for H.264 deblocking filter
Originally committed as revision 4158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-25 01:01:41 +00:00
Loren Merritt b80875c186 fix ref comparison in B-frame deblocker ('unused' and 'unavailable' were treated as different)
Originally committed as revision 4154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-24 21:06:22 +00:00
Loren Merritt e2e5894a91 deblocking filter doesn't need to call fill_caches again. 1.4% faster decoding.
Originally committed as revision 4147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-21 20:38:42 +00:00
Loren Merritt 2cd340438a allow 2pass ratecontrol. also fixes psnr displayed by mencoder.
Originally committed as revision 4130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-15 05:54:47 +00:00
Loren Merritt 048bfeeb12 display deblocking strength in FF_DEBUG_PICT_INFO
Originally committed as revision 4091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-27 10:58:21 +00:00
Loren Merritt 171070658e allow 16 refs with B-frames
Originally committed as revision 4090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-27 10:54:16 +00:00
Loren Merritt f9e6ebf7f9 slice-based idwt (10% faster decoding)
Originally committed as revision 4040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-15 21:05:34 +00:00
Loren Merritt 0149db6668 10l (compile fix)
Originally committed as revision 4032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-12 03:10:44 +00:00
Loren Merritt 4e4d983e8b Set keyframe flag only on IDR-frames (needed for reordering across I-frames).
Read vui bitstream restrictions (allows B-frame delay in advance, rather than waiting till we're out of order.)
Mark duplicate frames due to delay as duplicates.

Originally committed as revision 4028 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-11 02:14:44 +00:00
Loren Merritt 885e88d252 remove an assert that was breaking compilation on some gccs.
Originally committed as revision 4020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-07 09:05:33 +00:00
Loren Merritt a18030bb62 10l (fix reordering when B-frames are not present)
Originally committed as revision 4004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-05 00:14:21 +00:00
Loren Merritt 2f944356bf H.264: decode arbitrary frame orders and allow B-frames as references.
Originally committed as revision 4003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-04 12:47:38 +00:00
Loren Merritt 3622988f21 oops, other half of the vismv patch
Originally committed as revision 4001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-03 12:12:44 +00:00
Loren Merritt b75e10d52c vismv didn't display 8x8 mvs in H.264
Originally committed as revision 4000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-03 07:21:23 +00:00
Loren Merritt e21f398378 vismb: display 4x4 partition boundaries in H.264
Originally committed as revision 3999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-03 06:57:17 +00:00
Loren Merritt 56b31a8ee2 10l (deallocated memory again)
Originally committed as revision 3994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-28 05:27:21 +00:00
Loren Merritt 19fe8b4100 In-loop deblocking for B-frames.
Originally committed as revision 3979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-25 07:40:29 +00:00
Loren Merritt 738386a5ed 10l in implicit_weight_table
Originally committed as revision 3974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-24 09:27:46 +00:00
Loren Merritt 09f20d3786 Fix a crash when multiple metadata packets are present.
Originally committed as revision 3965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-20 23:21:50 +00:00
Loren Merritt 934b0821db 10l: scratchpad could be allocated before its size was known.
Originally committed as revision 3812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-08 08:56:18 +00:00
Loren Merritt 9f2d1b4ff5 H.264 weighted prediction.
Bidirectional weighting has not been tested for bitwise accuracy, but looks correct.

Originally committed as revision 3811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-07 05:56:07 +00:00
Loren Merritt 1b2dcdc1e0 reduce stutter if we learn too late that the stream contains B-frames.
Originally committed as revision 3801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-04 10:26:47 +00:00
Loren Merritt a4dae92b58 Sort B-frames into display order.
Originally committed as revision 3799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-04 01:12:48 +00:00
Loren Merritt 5ad984c997 implement B_DIRECT and B_SKIP macroblock types.
fix reference list sorting for B-frames.
fix mv caching for mixed list B-blocks.

Originally committed as revision 3775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-29 04:17:52 +00:00