Michael Niedermayer
2646814897
Split first reference list comparission from mv comparission.
...
about 0.5% faster MBAFF loop filtering
Originally committed as revision 21552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 20:07:37 +00:00
Reimar Döffinger
3d05c1fbec
Make the jump-table section-relative for x86_64 with PIC enabled.
...
This allows to get rid of the macho64 specific hack that moves them
to rodata (with worse cache behaviour) and avoids textrels which
e.g. Gentoo does not allow for x86_64 libraries.
Originally committed as revision 21551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 19:26:47 +00:00
Stefano Sabatini
80a07f6e47
Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
...
Originally committed as revision 21545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 18:50:00 +00:00
Michael Niedermayer
4e992796a9
Replace h->left_type[0] by the local variable for it we have.
...
No meassureable speed effect.
Originally committed as revision 21541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 14:33:25 +00:00
Michael Niedermayer
012dbcce08
slightly faster bit trickery.
...
Originally committed as revision 21540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 14:10:06 +00:00
Michael Niedermayer
77821e11b3
Replace ?: by branchless code.
...
about 0.5% faster loop filtering
Originally committed as revision 21539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 13:40:20 +00:00
Daniel Verkamp
4e5f42dd79
Add Bink codec IDs
...
Originally committed as revision 21536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 09:48:55 +00:00
Kostya Shishkov
1cf3168516
Indeo Video Interactive 4 and 5 common code and DSP functions.
...
Reviewed and corrected by myself because there were no other volunteers in the
last weeks.
Originally committed as revision 21531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 08:10:17 +00:00
Reimar Döffinger
800274f871
Make VP5 and VP6 decoders output a qscale table to allow for more automatic
...
post-processing, and add a new FF_QSCALE_TYPE_VP56 for this.
Originally committed as revision 21529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 19:11:47 +00:00
Ronald S. Bultje
5e4e9042c4
Add no_repeat_mask option, so that single-pulse vectors can also be
...
expressed in a AMRFixed structure and handled by ff_set_fixed_vector().
Originally committed as revision 21528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 16:49:06 +00:00
Robert Swain
4a27f326c5
Add support for vorbis 6.1 and 7.1 channel configurations as per the new spec
...
http://xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-800004.3.9
Originally committed as revision 21527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 13:51:25 +00:00
Laurent Aimar
68a4d3498f
vp56: check buffer size to fix a potential segfault
...
patch by Laurent Aimar fenrir _at_ videolan _dot_ org
Originally committed as revision 21521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 23:49:46 +00:00
Justin Ruggles
2c2cdc0bfb
Simplify error handling by processing header errors separate from CRC and
...
buffer size vs. frame size errors.
Originally committed as revision 21519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 23:19:33 +00:00
Reimar Döffinger
836fc77785
Move variable declaration to block where it is used and simplify code.
...
Avoids a (incorrect) "possibly used uninitialized" warning, no measurable
speed difference.
Originally committed as revision 21518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 21:01:50 +00:00
Rafaël Carré
dd0cd3d273
Export H264 profile and level in AVCodecContext.
...
Patch by Rafaël Carré, rafael D carre A gmail
Originally committed as revision 21517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 20:57:29 +00:00
Reimar Döffinger
88517e9f9d
Extract duplicated code into a separate function.
...
5% faster on Intel Atom with gcc 4.4.1 (performance is unchanged
if using av_always_inline).
Originally committed as revision 21516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 20:15:19 +00:00
Michael Niedermayer
34032e26ab
factorize first filter call out, this makes the code somewhat
...
smaller without any speed loss.
Originally committed as revision 21514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 19:44:13 +00:00
Ronald S. Bultje
52ed8d0efe
Simplify. See "[PATCH] simplify ff_set_fixed_vector()" thread on mailinglist.
...
Originally committed as revision 21510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 14:29:53 +00:00
Rafaël Carré
e9ca315dd1
Initialize thread_context[0] with h264 parser context.
...
This allows freeing the parser memory in the thread_context freeing loop.
Patch by Rafaël Carré gmailify(rafael, carre)
Originally committed as revision 21508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 13:04:25 +00:00
Michael Niedermayer
592e03a8da
Change wraper functions to always inline, they are faster now that way.
...
1% faster MBAFF decoding overall, maybe ~0.1% faster for the cathedral sample.
Originally committed as revision 21507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 11:37:35 +00:00
Michael Niedermayer
5364db2893
indent
...
Originally committed as revision 21506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 11:18:06 +00:00
Michael Niedermayer
2cf0d46d4c
Restructure check_mv()
...
~20 cpu cycles faster loopfilter
Originally committed as revision 21505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 11:12:46 +00:00
Michael Niedermayer
fabd704b37
Restructure if() in check_mv()
...
quite a bit faster
Originally committed as revision 21504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 10:38:43 +00:00
Michael Niedermayer
ca7c784fdf
Unroll loops in check_mv()
...
~6% faster (slow path) loopfilter (should be ~2% overall)
Originally committed as revision 21503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 10:34:06 +00:00
Michael Niedermayer
e814817b74
Factor mv/ref compare code out.
...
This is a hair slower (0.15% maybe) but i really dont want to have the
identical code duplicated 3 times because gcc adds odd threaded jumps with
register reshuffling and register safe/restore.
Originally committed as revision 21502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 10:10:02 +00:00
Michael Niedermayer
3b84924516
Simplify first edge filter condition.
...
Originally committed as revision 21497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 02:41:52 +00:00
Michael Niedermayer
b6302d0c55
Cosmetics, mostly indention, 2 or so new fixme comments that i was to lazy
...
to split out
Originally committed as revision 21496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 02:20:31 +00:00
Michael Niedermayer
0a32508d90
Make the fast loop filter path work with unavailable left MBs.
...
This prevents the issue with having to switch between slow and
fast code paths in each row.
0.5% faster loopfilter for cathedral
Originally committed as revision 21495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 02:15:25 +00:00
Michael Niedermayer
b304767301
get rid of the start variable.
...
a few cycles faster
Originally committed as revision 21494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 01:31:06 +00:00
Michael Niedermayer
980bcc554d
Unroll main loop so the edge==0 case is seperate.
...
This allows many things to be simplified away.
h264 decoder is overall 1% faster with a mbaff sample and
0.1% slower with the cathedral sample, probably because the slow loop
filter code must be loaded into the code cache for each first MB of each
row but isnt used for the following MBs.
Originally committed as revision 21493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 01:24:25 +00:00
Rafaël Carré
881b5b80da
Fix svq3_* function declarations.
...
Patch by Rafaël Carré, rafael D carre A gmail
Originally committed as revision 21489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 22:22:01 +00:00
Måns Rullgård
e3d8807315
SVQ1: 4-byte-align codebook tables
...
These tables are accessed as uint32 so they must be suitably aligned.
Originally committed as revision 21488 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 21:31:19 +00:00
Reimar Döffinger
7e2ef1b9e1
Fix possible crashes in mlp parser, it tries to go back 7 bytes after
...
finding the 4-byte signature.
Add a check that ignores the signature if we do not have enough previous
data to go back at least 7 bytes.
Originally committed as revision 21487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 20:04:19 +00:00
Reimar Döffinger
d780511b94
Reduce log level of "Extracting .. channel downmix" to AV_LOG_DEBUG, the
...
message is pointless to ordinary users and is printed once per frame.
Originally committed as revision 21486 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 20:02:18 +00:00
Michael Niedermayer
9f72b23c5c
Revert Revision: 21362
...
Log:
Set CODEC_CAP_SUBFRAMES for adpcm decoders
This makes ffmpeg stop printing millions of
Multiple frames in a packet from stream 0
when decoding adpcm.
Reason: adpcm has no subframes, the flag does not belong there
Originally committed as revision 21481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 13:30:05 +00:00
Michael Niedermayer
8670f84cf9
Update comment.
...
Originally committed as revision 21479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 13:18:08 +00:00
Michael Niedermayer
e470ef7641
Use table to speedup access to non_zero_count in MBAFF with differing interlacing.
...
~4 cpu cycles speedup
Originally committed as revision 21474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 11:14:29 +00:00
Stefano Sabatini
e8a9d01846
Fix misc typos, patch by
...
Fabian Greffrath base64_decode(PGZhYmlhbkBncmVmZnJhdGguY29tPg==).
Originally committed as revision 21473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 00:31:52 +00:00
Michael Niedermayer
8652e44acd
Simplify left_xy init
...
Originally committed as revision 21470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 00:15:55 +00:00
Michael Niedermayer
599fe45b8d
Split fill_caches() between loopfilter & decode, the 2 no longer where common
...
enough to justify the messy interleaving.
Originally committed as revision 21469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 23:54:11 +00:00
Michael Niedermayer
16e5e39ab4
Optimize loop filtering of the left edge in MBAFF.
...
60 cpu cycles speedup
Originally committed as revision 21467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 22:59:19 +00:00
Michael Niedermayer
dfe4dc154b
use left_xy[1] in mbaff QP loop filter check, this improves the amount that can
...
be skiped.
Originally committed as revision 21465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 20:28:58 +00:00
Michael Niedermayer
aebf31236e
Optimize mv/ref cache init for left MB.
...
Originally committed as revision 21464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 20:25:14 +00:00
Måns Rullgård
f2c694af28
Add UMULH()
...
This function/macro returns the high half of the unsigned 64-bit
product of two unsigned 32-bit operands.
Originally committed as revision 21463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 18:05:55 +00:00
Loren Merritt
900479bb74
optimize h264_loop_filter_strength_mmx2
...
244->160 cycles on core2
Originally committed as revision 21462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 17:17:48 +00:00
Michael Niedermayer
6548c939ec
remove unneeded check
...
Originally committed as revision 21460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 15:34:21 +00:00
Michael Niedermayer
18ea2f933c
Use left_mb_xy from fill_caches instead of recalculating it.
...
Originally committed as revision 21459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 14:57:53 +00:00
Michael Niedermayer
a715af8ff4
Simplify left_xy content for the loop filter, this also makes it closer to
...
what is needed and its faster too.
Originally committed as revision 21458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 14:55:19 +00:00
Michael Niedermayer
d5c30c86d0
Simplify loop filter a little by using top/left_type.
...
Originally committed as revision 21457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:39:26 +00:00
Michael Niedermayer
99344d4372
Set top & left types for deblock in fill_caches().
...
Originally committed as revision 21456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:38:18 +00:00