Commit Graph

11164 Commits

Author SHA1 Message Date
Michael Niedermayer
013202d720 Simplify intra4x4_pred_mode_cache init.
Originally committed as revision 22054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 14:54:31 +00:00
Michael Niedermayer
662a5b2370 Reorder intra4x4_pred_mode so that we can read/write 4 values at once.
3-7 cpu cycles faster

Originally committed as revision 22053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 14:26:12 +00:00
Michael Niedermayer
5b0fb5244d Store intra4x4_pred_mode per row only.
about 5 cpu cycles slower in the local code but should be overall faster
due to reduced cache use. (my sample though has too few intra4x4 blocks
for this to be meassureable easily either way)

Originally committed as revision 22052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 14:02:39 +00:00
Michael Niedermayer
c2186cbddc unroll tiny and trivial loop. Same speed but clearer.
Originally committed as revision 22051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 12:51:32 +00:00
Michael Niedermayer
e1c88a2138 Cut the size of mvd_table by yet another factor of 2.
The code read/write code itself was 1 cycle faster, overall its
likely more due to cache effects

Originally committed as revision 22048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 04:11:33 +00:00
Michael Niedermayer
d43c192236 Keep mvd_table values of only 2 mb rows.
Originally committed as revision 22047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 02:42:25 +00:00
Alex Converse
c4a90caae2 aac: Keep decode_band_types() from eating all padding at the end of a buffer.
Due to a shortcoming in the AAC specification, if an all zero buffer is
fed to section data decoding it will never terminate. That means without
a buffer exhaustion check decode_band_types() will consume all input
buffer padding. Worse if a get_bits() implementation that returns zeros
when padding is exhausted is used, the function will never terminate.

The fixes that by added a buffer exhaustion check in the sectioning
decoding loop.

Originally committed as revision 22044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 23:56:52 +00:00
Michael Niedermayer
09ef1ace4b 3rd and hopefully last 100l fix.
Originally committed as revision 22041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 22:13:20 +00:00
Michael Niedermayer
3393bff10d Fix doxy and assert().
Originally committed as revision 22040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 22:05:51 +00:00
Michael Niedermayer
377fc38d5d Try to fix 100l compilation failure on some systems.
Originally committed as revision 22039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 21:55:55 +00:00
Michael Niedermayer
b5bd070029 Change mvd_cache & mvd_table to 8bit, this is overall a bit faster
for high resolution videos.
about 20cycles faster per MB for cathederal.

Originally committed as revision 22038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 20:43:06 +00:00
Michael Niedermayer
f3ea29bfa3 Extend fill_rectangle() support for 16bit
Originally committed as revision 22036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 20:37:58 +00:00
Michael Niedermayer
81b5e4ee92 Calculate mvd without abs()
same speed (ask gcc why, i dont know)

Originally committed as revision 22035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:50:02 +00:00
Michael Niedermayer
855a1ba5e8 switch back to (amvd>2)+(amvd>32), its 5 cpu cycles faster now.
Originally committed as revision 22032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:16:48 +00:00
Michael Niedermayer
01b35be14a Factorize common code from the top of decode_cabac_mb_mvd()
10-15 cpu cycles faster.

Originally committed as revision 22029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:06:02 +00:00
Michael Niedermayer
6d0155c79c Replace mvd>2 + mvd>32 by MIN((mvd+28)*17>>9, 2)
same speed as far as i can meassure but it might have fewer branches on some
archs.
Idea from x264 / jason

Originally committed as revision 22027 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 16:16:08 +00:00
Michael Niedermayer
90332debfe Replace ad-hoc fill rectangle by fill_rectangle().
Originally committed as revision 22025 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 13:12:09 +00:00
Kostya Shishkov
d2df291f73 ff_msmpeg4_decode_init() calls ff_h263_decode_init() which calls
MPV_common_init(), so calling both is redundant and leads to memory
leaks in WMV3/VC-1 decoder. Thus use only the first function in
WMV3/VC-1 decoder initialization.

Originally committed as revision 22024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 13:11:38 +00:00
Peter Ross
601e74d366 it is not necessary to display the decoder name, as av_log() automatically prints the context
Originally committed as revision 22023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 11:51:42 +00:00
Michael Niedermayer
9127a369ad Replace /2 by faster >>1 as the mvd values are now all positive.
Originally committed as revision 22013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 01:57:31 +00:00
Michael Niedermayer
5c34e36a23 Remove unused variable. Seems i forgot to commit this.
Originally committed as revision 22012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 01:56:27 +00:00
Jai Menon
8790961d7e mlp_parser: Fix memleak.
ff_combine_frame() is called, which allocates ParseContext->buffer if needed,
so ff_parse_close() must be called to free it.
Patch by jai.

Originally committed as revision 22005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:54:05 +00:00
Daniel Verkamp
d962706f96 Cosmetics: break all Makefile lines at 80 columns or less
Originally committed as revision 22000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:12:30 +00:00
Peter Ross
c8c77d8d97 Use reported_size to truncate final Bink Audio frame
Originally committed as revision 21993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 10:28:11 +00:00
Daniel Verkamp
589760c68b Fix iff demuxer dependencies
Originally committed as revision 21992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:40:46 +00:00
Daniel Verkamp
3dfd81e64e Fix vc1 parser dependencies
Originally committed as revision 21991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:37:04 +00:00
Daniel Verkamp
0802cb85d0 Fix h264 parser dependencies
Originally committed as revision 21990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:32:29 +00:00
Daniel Verkamp
401903dc69 Fix mpeg4video parser dependencies
Originally committed as revision 21989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:23:59 +00:00
Daniel Verkamp
5c9b9c990a Fix wmv2 encoder dependencies
Originally committed as revision 21988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:16:56 +00:00
Daniel Verkamp
818a4a6465 Fix gif encoder dependencies
Originally committed as revision 21986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:12:26 +00:00
Daniel Verkamp
fa7252494c Fix snow encoder dependencies
Originally committed as revision 21985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:10:01 +00:00
Daniel Verkamp
19ecfb8aeb Fix svq1 encoder dependencies
Originally committed as revision 21984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:04:55 +00:00
Kostya Shishkov
60819e694e 10l trocadero: Indeo 5 decoder did not free custom VLCs for macroblock and
block decoding at exit, so prevent that memory leak now.

Originally committed as revision 21983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 07:41:29 +00:00
Kostya Shishkov
4f974de6f6 Decode alpha plane in Bink video
Originally committed as revision 21982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 07:07:54 +00:00
Kostya Shishkov
bf0d54a381 cosmetics: reindent after last commit
Originally committed as revision 21981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 07:01:13 +00:00
Kostya Shishkov
54d4c0de7c Move plane decoding code into separate function in Bink decoder
Originally committed as revision 21980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 07:00:46 +00:00
Kostya Shishkov
ba3e821414 Bink video decoder now can use extradata to detect alpha plane presence
Originally committed as revision 21979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 06:39:23 +00:00
Måns Rullgård
2fc492d842 Declare indeo VLC table storage with correct type
Originally committed as revision 21977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 03:45:51 +00:00
Michael Niedermayer
db8cb47d15 Try to set has_b_frames in codec init if we know everything alraedy.
This fixes some issues with the first few timestamps.

Originally committed as revision 21976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 01:08:54 +00:00
Michael Niedermayer
9855b2e3c8 Move extradata reading code into codec init instead of doing it
in read frame.

Originally committed as revision 21975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 01:07:39 +00:00
Kostya Shishkov
1d6065ad08 Make Bink decoder able to skip alpha plane
Originally committed as revision 21963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 14:59:51 +00:00
Kostya Shishkov
9068f36dcc Macroblock and block Huffman code sets are to be used by both Indeo 4 and
Indeo 5, so make them global and move their initialization to the common place
as well. And fix static VLC initialization, as ff_ivi_create_huff_from_desc()
used old way to do so.

Originally committed as revision 21962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 13:51:32 +00:00
Kostya Shishkov
bb29fee3a6 Make Bink decoder to stop decoding planes after all bits are used.
This prevents crashes during decoding grayscale Bink files like
samples from Impossible Creatures game demo.

Originally committed as revision 21961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 12:35:12 +00:00
Kostya Shishkov
fb030bd046 Correct bundle lengths calculation for small Bink files.
This fixes issue 1764.

Originally committed as revision 21959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 12:20:49 +00:00
Kostya Shishkov
9b3c455c50 ARM: NEON scalarproduct_int16 and scalarproduct_and_madd_int16
Patch by Kostya, minor fixes by me.

Originally committed as revision 21958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 12:20:31 +00:00
Carl Eugen Hoyos
f51674ff5d Fix compilation for --enable-version3 --enable-libopencore_amrwb (only).
Originally committed as revision 21956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 09:47:12 +00:00
Måns Rullgård
a87b2f6df4 ARM: add missing preserve8 directives
Originally committed as revision 21952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 00:34:05 +00:00
Måns Rullgård
39261cd8d9 get/show_bits() can read up to MIN_CACHE_BITS bits
The limit for get/show_bits_long() to use get/show_bits() directly
should be MIN_CACHE_BITS, not 17.

Originally committed as revision 21951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 23:28:24 +00:00
Michael Niedermayer
acbb378d1d Fix timestamp association for mpeg2 field pictures.
Fixes /MPlayer/incoming/codec_copy_fails_vob_to_mpeg-ts/codec_copy_fails_vob_to_mpeg-ts.vob

Originally committed as revision 21949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 23:22:51 +00:00
Måns Rullgård
7cd7d19e86 Deobfuscate LE SHOW_[SU]BITS; these are simple sign/zero-extend
Originally committed as revision 21948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 21:48:40 +00:00