Commit Graph

286 Commits

Author SHA1 Message Date
Michael Niedermayer
30865e2aa1 copy cabac context onto the stack for the c code in decode_cabac_residual() (15% faster on P3 but still slower then the current asm)
Originally committed as revision 6725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-17 23:59:21 +00:00
Michael Niedermayer
eb73bf723d x86 asm version of the decode significance loop (not 8x8) of decode_residual() 5% faster decode_residual() on P3
Originally committed as revision 6724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-17 22:18:29 +00:00
Michael Niedermayer
b566bd65e2 simplify escape decoding
Originally committed as revision 6685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-13 16:19:15 +00:00
Michael Niedermayer
de1013e1ca 10l int vs uint8_t
Originally committed as revision 6675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-12 18:41:29 +00:00
Michael Niedermayer
851ded8918 prevent "mb level" get_cabac() calls from being inlined (3% faster decode_mb_cabac() on P3)
Originally committed as revision 6674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-12 14:49:19 +00:00
Michael Niedermayer
1f6049f515 int->uint8_t for 2 tables
Originally committed as revision 6673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-12 12:27:02 +00:00
Diego Biurrun
c26abfa541 Rename ABS macro to FFABS.
Originally committed as revision 6666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 23:17:58 +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
Michael Niedermayer
d61c4e731e make state transition tables global as they are constant and the code is slightly faster that way
Originally committed as revision 6655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 14:44:17 +00:00
Michael Niedermayer
0fa352c7e6 make lps_range a global table its constant anyway (saves 1 addition for accessing it)
Originally committed as revision 6653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 13:21:42 +00:00
Michael Niedermayer
7822e1c1ff reverse remainder of the failed attempt to optimize *state=c->mps_state[s]
Originally committed as revision 6609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-09 21:14:16 +00:00
Michael Niedermayer
1c2a417f6a move outcommented START/STOP_TIMER to a hopefully better place for benchmarking ...
Originally committed as revision 6605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-09 18:20:00 +00:00
Michael Niedermayer
99ce10873d 5% faster get_cabac()
Originally committed as revision 6586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-08 11:24:37 +00:00
Diego Biurrun
e16c407a81 output typo fixes
Originally committed as revision 6585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-08 10:11:58 +00:00
Michael Niedermayer
5659b509c7 refill cabac variables in 16bit steps, 3% faster get_cabac()
Originally committed as revision 6578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:44:14 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +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
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
Måns Rullgård
191e8ca752 fix some signedness warnings
Originally committed as revision 6355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 19:47:39 +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
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
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
Måns Rullgård
af9e7d1810 --enable/disable parsers. Warning: some combinations are broken.
Originally committed as revision 5691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 12:02:15 +00:00
Michael Niedermayer
784036e404 simplify intra prediction mode decoding
Originally committed as revision 5612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-04 17:06:43 +00:00
Måns Rullgård
91c58c944f fill_mbaff_ref_list is missing a return statement, its return value
is ignored, and it can't possibly fail, so make it void

Originally committed as revision 5566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-01 17:33:48 +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
Michael Niedermayer
b3aaa7bea6 typo me thinks ...
Originally committed as revision 5421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-29 16:39:40 +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
Michael Niedermayer
2d661e073e cosmetics (initalize variables where they are used)
Originally committed as revision 5356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-10 11:05:03 +00:00
Michael Niedermayer
11b681687d decoders should (IMHO) not duplicate frames, the application can do this if it wants
Originally committed as revision 5355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-10 10:57:27 +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
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
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
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
Michael Niedermayer
4cb8574dc8 fixing coverity warnig CID: 253 (reading over the end of the aspect_ratio array for illegal aspect ratios)
Originally committed as revision 5163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-13 23:46:47 +00:00
David S. Miller
bf4665eeec Alignment fixes, caused problems on SPARC.
patch by "David S. Miller" davem <<at>> davemloft <<dot>> net

Originally committed as revision 5130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-09 08:05:45 +00:00
Steve L'Homme
267f7edcd1 (f)printf --> av_log conversion
taken from a patch by Steve L'Homme

Originally committed as revision 5127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-08 11:43:10 +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
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
Måns Rullgård
1bd8624697 kill some warnings
Originally committed as revision 5063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-25 22:41:31 +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
c0234aa44c slightly faster loopfilter
Originally committed as revision 4958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-08 07:04:32 +00:00
Steve L'Homme
68b51e58ce MSVC-compatible __align8/__align16 declaration
patch by Steve Lhomme, steve .dot. lhomme .at. free .dot. fr

Originally committed as revision 4942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-05 13:35:17 +00:00
Diego Biurrun
b5bba45905 Fix silly typos.
Originally committed as revision 4915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-31 00:17:13 +00:00
Dieter
1b47fafd9f make some functions static (patch by Dieter < freebsd at sopwith.solgatos.com >)
Originally committed as revision 4905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-28 16:05:06 +00:00
Diego Biurrun
f038fe8b4a warning fixes by Luca Abeni, lucabe72 ##@## email ##.## it
Originally committed as revision 4898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-25 22:10:13 +00:00
Diego Biurrun
4f59b684a6 Remove all stray tabs and trailing whitespace, this time for good.
Originally committed as revision 4891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-24 10:33:14 +00:00
Måns Rullgård
950c2790a2 interpret H264 VUI timing info correctly
work around bug in x264 build < 44

Originally committed as revision 4866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-19 00:19:15 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +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
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
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Jindřich Makovička
9944fb97c4 new qscale type to distinguish H264
Originally committed as revision 4753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-18 13:29:09 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Måns Rullgård
4733abcbf3 use PRIxN, %zd, %td formats where needed
Originally committed as revision 4740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-12 01:56:46 +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
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
Michael Niedermayer
af8aa846fa check MPV_frame_start() return value
Originally committed as revision 4682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-09 11:29:29 +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
Måns Rullgård
c7ea4f1903 no mixing of code and declarations
Originally committed as revision 4670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-28 18:18:04 +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
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
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
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
diane_cartman@gmx.de
ca3b0d2719 13% faster decode_residual (cavlc).
patch by diane_cartman at gmx dot de.

Originally committed as revision 4617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-27 04:46:45 +00:00
Gábor Kovács
dc9f52602f Just noticed there is a memory leak in h264.c with the usage of rbsp_buffer.
Here is a patch which frees the rbsp_buffer in decode_end().
patch by (Gábor Kovács | picard / demoscene \ hu)

Originally committed as revision 4607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-21 08:14:17 +00:00
Reimar Döffinger
357a28430a check return value of decode_cabac_mb_dqp, it is INT_MIN on error.
fixes crash with http://stud4.tuwien.ac.at/~e0326863/ats/bbc-sample_small.mpg
and MPlayer's broken packetizer (but will not decode right of course).

Originally committed as revision 4595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-17 08:15:07 +00:00
Michael Niedermayer
96b6ace22e dont be so picky with .mp4 ... fixes Mr&MrsSmith.mp4
Originally committed as revision 4571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-10 01:13:10 +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
Michael Niedermayer
95ae72b7e0 Compilation fixes part 1 patch by (Arvind R. and Burkhard Plaum, plaum, ipf uni-stuttgart de)
Originally committed as revision 4540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-26 19:05:44 +00:00
Michael Niedermayer
ba17363ff7 prevent assert failures and infinite loops with broken streams
Originally committed as revision 4538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-25 00:01:57 +00:00
Måns Rullgård
bf4e3bd2d0 kill a bunch of compiler warnings
Originally committed as revision 4522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-14 15:42:40 +00:00
Michael Niedermayer
cdd106899f workaround 'colocated mv if colocated block is L1 predicted' bug in x264
Originally committed as revision 4487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-01 14:47:07 +00:00
Michael Niedermayer
8583bef871 fixing colocated mv if colocated block is L1 predicted for the temporal direct case
untested (none of the conformance streams laying around on my disk seems affected by this change)

Originally committed as revision 4477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-27 00:15:55 +00:00
Michael Niedermayer
4866bd2b82 fixing colocated mv if colocated block is L1 predicted
fixes "H.264 decoding bug in either lavc/JM"

Originally committed as revision 4476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-26 23:40:55 +00:00
Reimar Döffinger
cad4368af7 Add missing +1 in bounds check.
Originally committed as revision 4465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-22 09:01:47 +00:00
Michael Niedermayer
e0111b3243 more fine grained skip_frame
Originally committed as revision 4441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-14 21:57:22 +00:00
Michael Niedermayer
8c3eba7c62 skip_idct
skip_frame
skip_loop_filter

Originally committed as revision 4440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-14 21:39:36 +00:00
Alex Beregszaszi
19d9ac8169 parenthesing to avoid compiler errors in the future - compared asm outputs, behaviour didnt changed
Originally committed as revision 4417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-02 19:39:58 +00:00
Michael Niedermayer
3f46995ca5 support extracting sps/pps from bitstream and putting it in extradata
Originally committed as revision 4403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-28 08:13:23 +00:00
Michael Niedermayer
e679cd1ab0 fixing first_mb_in_slice if frame_mbs_only_flag==0 && mb_aff==0
Originally committed as revision 4402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-28 06:45:41 +00:00
Michael Niedermayer
6b53b87e20 check mb_y
Originally committed as revision 4401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-27 23:13:10 +00:00
Michael Niedermayer
3d15acf27b keep decoding nal units after an error
Originally committed as revision 4399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-27 09:37:16 +00:00
Michael Niedermayer
806bb93fe2 make decoder a little bit more tolerant to missing NAL units
Originally committed as revision 4385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-19 23:33:09 +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