1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

19377 Commits

Author SHA1 Message Date
Måns Rullgård
9f5ff83f2a PPC asm for AV_RL*()
PPC is normally big endian but has special little endian load/store
instructions.  Using these avoids a separate byteswap.  This makes the
vorbis decoder about 5% faster.  Not much else uses little-endian
read/write extensively.

GCC generates horrible PPC code for the default AV_[RW]B64 (which uses
a packed struct), so we override it with a plain pointer cast.

Originally committed as revision 18602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 00:00:31 +00:00
Måns Rullgård
3c55ce039d ARM asm for AV_RN*()
ARMv6 and later support unaligned loads and stores for single
word/halfword but not double/multiple.  GCC is ignorant of this and
will always use bytewise accesses for unaligned data.  Casting to an
int32_t pointer is dangerous since a load/store double or multiple
instruction might be used (this happens with some code in FFmpeg).
Implementing the AV_[RW]* macros with inline asm using only supported
instructions gives fast and safe unaligned accesses.  ARM RVCT does
the right thing with generic code.

This gives an overall speedup of up to 10%.

Originally committed as revision 18601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 00:00:28 +00:00
Måns Rullgård
a6783b8961 Reorganise intreadwrite.h
This changes intreadwrite.h to support per-arch implementations of the
various macros allowing us to take advantage of special instructions
or other properties the compiler does not know about.

Originally committed as revision 18600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 00:00:22 +00:00
Reimar Döffinger
d7670f2827 Use sign_extend function instead of reimplementing it.
Originally committed as revision 18599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 20:05:27 +00:00
Reimar Döffinger
e62f622193 Remove a useless "& 0xF"
Originally committed as revision 18598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 20:01:45 +00:00
Reimar Döffinger
977d813447 Use / and % operators instead of reimplementing them with a loop.
Originally committed as revision 18597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:56:50 +00:00
Reimar Döffinger
b1e309865f Change buffer check to avoid an unlikely pointer arithmetic overflow.
Originally committed as revision 18596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:49:55 +00:00
Reimar Döffinger
be50938073 Simplify xan_huffman_decode by using get_bits
Originally committed as revision 18595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:48:54 +00:00
Lars Täuber
a4873f7d9d Fix indention, patch by Lars Täuber.
Originally committed as revision 18594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:29:54 +00:00
Reimar Döffinger
6000439ca4 Simplify ipvideo_decode_opcodes by using get_bits, this might be slower
but is not performance-critical anyway.

Originally committed as revision 18593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:28:36 +00:00
Reimar Döffinger
28ab90edde Remove unused code_counts array from interplavideo.c.
Originally committed as revision 18592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:21:50 +00:00
Jai Menon
b24bbbb4da Introduce codec id for MPEG-4 ALS and associate it with corresponding
AudioObjectType. Also bump libavcodec minor version.

Originally committed as revision 18591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:17:14 +00:00
Reimar Döffinger
e5986d0427 Cosmetics to improve xan_unpack readability
Originally committed as revision 18590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:14:11 +00:00
Reimar Döffinger
16cc5a738c Fix buffer size check for xan_unpack which was broken by r18586
Originally committed as revision 18589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:07:16 +00:00
Reimar Döffinger
c644665f42 Some more simplifications of xan_unpack
Originally committed as revision 18588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:03:43 +00:00
Reimar Döffinger
455fdd2f8c Reindent xan_unpack code
Originally committed as revision 18587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:56:47 +00:00
Reimar Döffinger
948f60fa24 Avoid some code duplication in xan_unpack
Originally committed as revision 18586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:54:17 +00:00
Michael Niedermayer
f371abe4a8 Remove useless assignments, at least one found by CSA.
Originally committed as revision 18585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:28:59 +00:00
Reimar Döffinger
59bd7f23e8 Increase buffer padding to avoid most space checks in xan_unpack
Originally committed as revision 18584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:26:24 +00:00
Michael Niedermayer
339cdf9681 Remove useless init from ff_mpeg4_set_direct_mv() found by CSA.
Originally committed as revision 18583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:24:39 +00:00
Michael Niedermayer
16a5f4caa9 Remove a useless assignment in img_get_alpha_info() found by CSA.
Originally committed as revision 18582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:22:19 +00:00
Michael Niedermayer
f8112810cf Remove redundant assignment in av_picture_copy() found by CSA.
Originally committed as revision 18581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:20:12 +00:00
Michael Niedermayer
551b41d4bf Remove useless init from aiff_read_header() found by CSA.
Originally committed as revision 18580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:18:29 +00:00
Michael Niedermayer
feda8550a9 Remove several useless writes to variables, found by CSA.
Originally committed as revision 18579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:16:36 +00:00
Michael Niedermayer
b278a1ed1c Remove useless += from ff_imdct_half_c() found by CSA.
Originally committed as revision 18578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:12:00 +00:00
Michael Niedermayer
e8c9383914 Remove 2 ++ from check_pes() that are useless, found by CSA.
Originally committed as revision 18577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:08:39 +00:00
Reimar Döffinger
4b96f43fe1 Change buffer size checks to avoid the very unlikely overflow case.
Originally committed as revision 18576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:03:00 +00:00
Michael Niedermayer
38a7695f67 Remove unused variable from h261_encode_block() found by CSA.
Originally committed as revision 18575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:56:16 +00:00
Reimar Döffinger
5e12701c5c Remove a pointless right-shift in xan decoder.
Originally committed as revision 18574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:54:55 +00:00
Michael Niedermayer
25ef00720b Remove 2 useless assignments from ff_rate_control_init() found by CSA.
Originally committed as revision 18573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:52:58 +00:00
Reimar Döffinger
9126aea528 Replace bytecopy with the equivalent but faster av_memcpy_backptr.
Ca. 10% faster xan_unpack on x86_64 decoding of SC_32-part.MVE

Originally committed as revision 18572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:46:10 +00:00
Michael Niedermayer
4eec260642 Remove unused variable from flv_read_metabody() found by CSA.
Originally committed as revision 18571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:42:41 +00:00
Michael Niedermayer
29322398fc Remove unused variable from slice_buffer_release() found by CSA.
Originally committed as revision 18570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:39:09 +00:00
Reimar Döffinger
44c9efcb57 Use memcpy instead of the very inefficient bytecopy where both are correct
(i.e. no overlap of src and dst is possible).

Originally committed as revision 18569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:20:48 +00:00
Michael Niedermayer
110baa2e99 Remove unused variable from wma_decode_block() found by CSA.
Originally committed as revision 18568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:35:32 +00:00
Michael Niedermayer
b716c6c6a6 Remove unneeded assignment from av_encode() found by CSA.
Originally committed as revision 18567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:33:45 +00:00
Michael Niedermayer
b5ee9c2334 Remove unused variable from print_report() found by CSA.
Originally committed as revision 18566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:15:25 +00:00
Michael Niedermayer
5ce73e2352 Remove nonsensical assignment from asf_read_seek() found by CSA.
Originally committed as revision 18565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:13:01 +00:00
Michael Niedermayer
87718654b1 Remove redundant assignment from avcodec_get_pix_fmt_loss() found by CSA.
Originally committed as revision 18564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:10:37 +00:00
Michael Niedermayer
956177fb1d Remove unused variable in modify_qscale() found by CSA.
Originally committed as revision 18563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:08:00 +00:00
Michael Niedermayer
505b6d1147 Remove unneeded assignment in ffmpeg.c found by CSA.
Originally committed as revision 18562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:03:51 +00:00
Michael Niedermayer
75eaa91c15 Remove unused variables from slice_buffer_load_line() found by CSA.
Originally committed as revision 18561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:01:58 +00:00
Michael Niedermayer
6081c30b81 Remove 2 unneeded variables from common_init() found by CSA.
Originally committed as revision 18560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:59:04 +00:00
Michael Niedermayer
d0d62cc955 Remove 2 unused variables from MPV_decode_mb_internal() found by CSA.
Originally committed as revision 18559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:51:00 +00:00
Michael Niedermayer
dd08de11f6 Remove unused assignment from j_rev_dct() found by CSA.
Originally committed as revision 18558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:43:28 +00:00
Michael Niedermayer
01d83278e9 Remove unused variable in init_mv_penalty_and_fcode() found by CSA.
Originally committed as revision 18557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:42:02 +00:00
Michael Niedermayer
b33d75fd80 Move declarations in sync() closer to where they are used.
Originally committed as revision 18556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:38:52 +00:00
Michael Niedermayer
236580b478 Remove unused variable from asf_read_header() found by CSA.
Originally committed as revision 18555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:16:37 +00:00
Kostya Shishkov
c994dae1e2 cosmetics: reindent after last commit
Originally committed as revision 18554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:10:24 +00:00
Kostya Shishkov
bd4110f99b Use new static VLC scheme in Indeo2, Musepack and WNV1 decoders
Originally committed as revision 18553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:09:56 +00:00