Commit Graph
79 Commits
Author SHA1 Message Date
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
Loren Merritt 650cec0c8c vismv for h264 displayed incorrect motion vectors.
Originally committed as revision 3765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-20 03:03:37 +00:00
Loren Merritt 42dd22c4a5 fix interlacing check in v1 huffyuv.
Originally committed as revision 3721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-28 19:19:39 +00:00
Loren Merritt f37b9768f6 split ffhuffyuv into 2 codecs:
"huffyuv" is compatible with the official version
"ffvhuff" contains our improvements

Originally committed as revision 3720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-28 18:29:38 +00:00
Loren Merritt 1108708609 new option: context_model
stores per-frame optimal huffman tables.

Originally committed as revision 3715 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-27 03:54:18 +00:00
Loren MerrittandMichael Niedermayer 7d7f635dc0 Fixed typo which caused incorrect motion prediction in B-frames. patch by (Loren Merritt <lorenm ta u tod washington tod edu>)
Originally committed as revision 3709 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-24 22:50:49 +00:00
Loren MerrittandMichael Niedermayer 80516d720a Fixes a segfault when flushing delayed B-frames on the 2nd pass. patch by (Loren Merritt <lorenm.u@washington@edu>)
Originally committed as revision 3707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-23 23:58:54 +00:00
Loren MerrittandMichael Niedermayer d5af70c3b8 H.264 CABAC + B-frames patch by (Loren Merritt <lorenm at u dot washington dot edu>)
Originally committed as revision 3623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-22 18:30:50 +00:00
Loren MerrittandMichael Niedermayer 0bc42caddf h.264 ref list reordering bugfix patch by (Loren Merritt <lorenm at u dot washington dot edu>)
Originally committed as revision 3558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-03 22:01:21 +00:00
Loren MerrittandMichael Niedermayer 7c2425d239 simplify getsymbol patch by (Loren Merritt <lorenm at u dot washington dot edu>)
Originally committed as revision 3476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-17 23:51:36 +00:00
Loren MerrittandMichael Niedermayer ee598f7ba4 (non)interlaced huffyuv patch by (Loren Merritt <lorenm at u dot washington dot edu>)
Originally committed as revision 3473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-17 10:57:57 +00:00
Loren MerrittandMichael Niedermayer 1140139fe2 10l (scene change pict_type was wrong after coded_frame fix) patch by (Loren Merritt <lorenm at u dot washington dot edu>)
Originally committed as revision 3471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-16 17:36:39 +00:00
Loren MerrittandMichael Niedermayer 952b32c0ad Always write VOL control parameters, needed by old xvid patch by (Loren Merritt <lorenm at u dot washington dot edu>)
Originally committed as revision 3432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-03 02:32:39 +00:00
Loren MerrittandMichael Niedermayer d89dc06a96 h264 deblocking crash patch by (Loren Merritt <lorenm at u dot washington dot edu>)
Originally committed as revision 3427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-02 10:49:54 +00:00
Loren MerrittandMichael Niedermayer 4994af2fbd shape-adaptive diamond + prediction crash patch by (Loren Merritt <lorenm at u dot washington dot edu>)
Originally committed as revision 3287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-05 02:21:38 +00:00