1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
Commit Graph

11097 Commits

Author SHA1 Message Date
Kostya Shishkov
f7d649185b Move band checksum verifying into preprocessor condition, so compiler won't
complain about missing function prototype.

Originally committed as revision 21752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 07:54:40 +00:00
Alex Converse
1edea057dd Output the first AAC frame. This is needed for SBR conformance.
Originally committed as revision 21739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 14:51:57 +00:00
David Conrad
19530266a5 Enable SSE2 (put|avg)_pixels_16_sse2
SVQ1 chroma has been special-cased aligned to 16-bytes since at least r15466
Other architectures also assume 16-byte alignment here too but set STRIDE_ALIGN
to 16.

Originally committed as revision 21736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 02:02:06 +00:00
Måns Rullgård
41c2bd0a26 ARMv6 optimised pix_sum
Originally committed as revision 21705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:52 +00:00
Måns Rullgård
66ec243d95 ARMv6 optimised pix_norm1
Originally committed as revision 21704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:49 +00:00
Måns Rullgård
0c28474c92 ARMv6 optimised sse16
Originally committed as revision 21703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:45 +00:00
Måns Rullgård
3132614305 ARMv6 optimised diff_pixels
Originally committed as revision 21702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:41 +00:00
Måns Rullgård
f73a626ae4 ARMv6 optimised get_pixels
Originally committed as revision 21701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:38 +00:00
Måns Rullgård
d2578ff9f1 ARMv6 optimised pix_abs8
Originally committed as revision 21700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:34 +00:00
Måns Rullgård
74cc33c235 ARMv6 optimised pix_abs16_y2
Originally committed as revision 21699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:31 +00:00
Måns Rullgård
39a760f678 ARMv6 optimised pix_abs16_x2
Originally committed as revision 21698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:29 +00:00
Måns Rullgård
e6056a9008 ARMv6 optimised pix_abs16
Originally committed as revision 21697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:26 +00:00
Måns Rullgård
38e016a7c9 ARMv6 optimised put_pixels functions except xy2 variants
Originally committed as revision 21696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:21 +00:00
Kostya Shishkov
5bebe94d86 Indeo 5 decoder
Originally committed as revision 21695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 07:55:07 +00:00
Michael Niedermayer
daaf6e3e9e Reorder and factorize mb_type ifs, 1 cpu cycle faster and simpler.
Originally committed as revision 21694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 00:19:03 +00:00
Michael Niedermayer
1be49ce54b Set partitioning to 16x16 for spatial direct MBs with mixed interlacing.
11cylcles slower MV generation
98cycles faster MC

Originally committed as revision 21691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 17:25:50 +00:00
Michael Niedermayer
3babc711d8 Detect spatial direct MBs partitioned smaller than 16x16 that can be partitioned
as 16x16 (except ones changing interlacing relative to the colocated MB).
20 cycles slower during MV generation
175 cycles faster during MC

Originally committed as revision 21690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 16:23:05 +00:00
Michael Niedermayer
8b9eb2dfec Detect equal 4x4 blocks in spatial direct MBs.
19 cycles slower MV generation
575 cycles faster MC

Originally committed as revision 21689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 13:05:24 +00:00
Michael Niedermayer
8a3b90686d Remove an apparently unneeded && !FRAME_MBAFF.
This should speed the affected cases (MBAFF temporal direct MBs) up.

Originally committed as revision 21686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 04:24:50 +00:00
Michael Niedermayer
542d4a756a Branchless calculation of ref_offset.
7 cpu cycles faster.

Originally committed as revision 21685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 03:22:17 +00:00
Michael Niedermayer
fb70c63f70 Remove incorrect fixme, i see no case that is missing.
Originally committed as revision 21684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 02:10:59 +00:00
Michael Niedermayer
35c8b9c094 Replace call to pred_motion() in direct spatial mv pred by code
and simplify cases that cannot happen away.
8 cpu cycles faster

Originally committed as revision 21683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 02:09:27 +00:00
Michael Niedermayer
b317567cf4 Change xvid/divx/lavc build variables to be consistent to x264_build.
Originally committed as revision 21682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 00:43:15 +00:00
Michael Niedermayer
055a6aa76a Set x264_build so that checks are simpler.
Originally committed as revision 21681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 00:08:05 +00:00
Michael Niedermayer
3a06e8647f Ooops, 10l forgot to commit h264.h.
Originally committed as revision 21680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 23:15:53 +00:00
Michael Niedermayer
3b9e61e45f Zero a/b only in the branch where they need to be zeroed.
Originally committed as revision 21679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 22:58:03 +00:00
Michael Niedermayer
f28a2656c3 Merge mv&ref related code for spatial direct MV code.
a bit more than 10 cpu cycles faster.

Originally committed as revision 21678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 21:53:55 +00:00
Michael Niedermayer
0a8dca8765 Precalculate a few variables for direct mv prediction for interlaced MBs.
Originally committed as revision 21677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 21:09:09 +00:00
Michael Niedermayer
464baa6650 Set direct MB partitioning for 16x8 and 8x16 colocated MBs to the respective true partitioning.
Originally committed as revision 21675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 17:40:22 +00:00
Michael Niedermayer
e8d964fa52 Factorize setting sub_mb_type out.
Originally committed as revision 21674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 17:15:17 +00:00
Michael Niedermayer
668fd14287 Remove FIXMEs for cases that are disallowed by the spec.
Originally committed as revision 21669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 15:13:56 +00:00
Michael Niedermayer
1c3ce2cd3e Check direct_8x8_inference_flag.
Originally committed as revision 21668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 15:12:37 +00:00
Michael Niedermayer
33a6c0c9fe Skip the fill_colmap() case thats for MBAFF if we dont have an MBAFF frame.
Originally committed as revision 21667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 14:55:59 +00:00
Michael Niedermayer
9873ae0d44 Fix CAVLC+8x8DCT+MBAFF loopfiltering.
Fixes issue1250

Originally committed as revision 21665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 02:00:00 +00:00
Michael Niedermayer
488dba7000 Fix colocated map.
Originally committed as revision 21664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 01:18:00 +00:00
Michael Niedermayer
d88ea35463 Fix reference selection for colocated MBs from frames to fields.
Originally committed as revision 21663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 01:17:13 +00:00
Michael Niedermayer
5aa1d7598f Add assert(sps.direct_8x8_inference_flag) to FIXME comment.
Originally committed as revision 21662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 01:14:58 +00:00
Michael Niedermayer
50f8e98507 ref_offset must be added after checking references validity.
Originally committed as revision 21661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 01:13:56 +00:00
Reimar Döffinger
06e03fa0ae Add include necessary for ff_set_qscale
Originally committed as revision 21657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:53:28 +00:00
Jai Menon
f6d2916550 Avoid using an intermediate variable.
Originally committed as revision 21656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:52:22 +00:00
Jai Menon
b53ae8b6b1 Remove redundant use of numchannels since it is 1 for mono.
Originally committed as revision 21655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:48:37 +00:00
Jai Menon
e243eee43f alac.c : Use av_freep instead of av_free.
Originally committed as revision 21654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:38:42 +00:00
Michael Niedermayer
8dcbf4c7aa Long term references behave different from short term in spatial direct MV calculation.
Fixes FRExt_MMCO4_Sony_B / issue1251

Originally committed as revision 21651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 02:55:58 +00:00
Jai Menon
f430c7b6ac Add ALAC 24 bps decoding support.
Originally committed as revision 21637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-04 16:21:26 +00:00
Michael Niedermayer
3102d180bb Fix large timebases.
Fixed issue1633

Originally committed as revision 21636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-04 15:30:37 +00:00
Michael Niedermayer
ed3e91489b Implement cool new vlc code.
Fixes issue1637

Originally committed as revision 21635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-04 14:26:57 +00:00
Peter Ross
b9e06dddb7 IFF PBM/ILBM bitmap decoder
Originally committed as revision 21622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 09:56:16 +00:00
Michael Niedermayer
299fd39697 Revert
r12684 | michael | 2008-04-04 02:43:34 +0200 (Fri, 04 Apr 2008) | 2 lines
	Disable the split function. This should end the mpeg1/2 global header issues.
The split function is essential for -ss to work
Fixes issue1226
If this breaks something please tell me, also if someoen remembers what problem
this originally caused tell me too, i searched but couldnt find it.

Originally committed as revision 21621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 04:40:42 +00:00
Carl Eugen Hoyos
36cbdc9539 Fix r21223: AVup samples (issue 1685) need a buf offset like AV1x (issue 1684).
Originally committed as revision 21617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 22:57:56 +00:00
Thilo Borgmann
8e14fbe89b Remove unnecessary fields in ALSSpecificConfig.
Originally committed as revision 21583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 09:53:37 +00:00
Michael Niedermayer
5cd3928478 Set reordered_opaque during context alloc by default to AV_NOPTS_VALUE.
This should make sure that pictures allocated prior to avcodec_decode_video()
get AV_NOPTS_VALUE assigned.

Originally committed as revision 21580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 00:18:49 +00:00
Daniel Verkamp
abafc87c46 Update binkaudio to new DECLARE_ALIGNED syntax
Originally committed as revision 21573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 15:07:25 +00:00
Daniel Verkamp
315c8d6c4e libavcodec version bump for Bink codec IDs (r21536)
Originally committed as revision 21572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 13:34:28 +00:00
Peter Ross
c0d3f516cb Bink Audio decoder
Originally committed as revision 21570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 12:51:15 +00:00
Reimar Döffinger
688621d76b Add include to fix implicit declaration of ff_mpeg4_init_direct_mv and
ff_h263_encode_mba

Originally committed as revision 21568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 12:27:05 +00:00
Peter Ross
6b807c15aa Add v210x decoder long name
Originally committed as revision 21567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 12:06:33 +00:00
Michael Niedermayer
37b2b0d6cd Get rid of a check in one direction that cant be true in it in that part
of the code.
No meassureable speed change.

Originally committed as revision 21566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 02:05:26 +00:00
Måns Rullgård
d132d50fb8 Blackfin: use SRAM only when CONFIG_SRAM is set
Originally committed as revision 21565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 00:20:30 +00:00
Michael Niedermayer
f28f146473 Flush the bitreservour.
Fixes issue1716

Originally committed as revision 21559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 21:55:18 +00:00
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
Michael Niedermayer
aaa995d7f2 100l typo fix, mixed up +-1 forcing the loop filter skip to never skip.
Originally committed as revision 21455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:30:33 +00:00
Michael Niedermayer
66472bcde0 cosmetic
Originally committed as revision 21454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:28:55 +00:00
Michael Niedermayer
3046c25ec5 Fix qp_thres loop filter check for MBAFF.
Originally committed as revision 21453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:27:22 +00:00
Michael Niedermayer
806ac67b51 Optimize mb neighbor initialization for MBAFF in fill_caches().
~10 cpu cycles speedup.

Originally committed as revision 21452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 10:35:36 +00:00
Carl Eugen Hoyos
ddee80f384 Metasoft MJPEG codec has Cb and Cr swapped, fixes issue 1611.
Originally committed as revision 21451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 10:30:24 +00:00
Michael Niedermayer
021dccba1f Fix heap overflow due to lack of nb_components check.
Originally committed as revision 21450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 13:26:10 +00:00
Carl Eugen Hoyos
cc5d4f4c34 Release buffer when decoding is finished.
Originally committed as revision 21449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 10:46:32 +00:00
Michael Niedermayer
2773920698 Optimize decode_cabac_field_decoding_flag().
~4 cpu cycles faster

Originally committed as revision 21447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 02:44:34 +00:00
Alexander Strange
1e4f1c56d7 100l, correct wrong H.264+adaptive MBAFF decoding
Fixes several FATE tests.

Originally committed as revision 21445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 01:56:13 +00:00
Alexander Strange
0b69d6254f H.264: Use 64-/128-bit write-combining macros for copies
2-3% faster decode on x86-32 core2.

Originally committed as revision 21440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 00:30:44 +00:00
Justin Ruggles
008f872f61 Only check frame size if the header is valid.
Originally committed as revision 21439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 23:55:33 +00:00
Carl Eugen Hoyos
b52fcba9cd Fix decoding ATI VCR2 codec, sample in
samples/V-codecs/ATI-VCR12/ATI/VCR2test.avi
Software decoding was broken since r8865, when two new context variables
were added, but not initialized in vcr2_init_sequence().
Another such context variable was added in r18381.

Originally committed as revision 21438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 22:47:50 +00:00
Michael Niedermayer
996b099a0f Branchless setting of MB_TYPE_8x8DCT.
Not benchmarked as i failed to find a sample that uses this one. But it should be faster.

Originally committed as revision 21435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 20:54:09 +00:00
Michael Niedermayer
81afcf1fae Remove cruft.
Originally committed as revision 21434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 20:52:49 +00:00
Michael Niedermayer
d9ef0d2e14 Mark index as unsigend so gcc knows it doesnt need a sign extension on x86_64.
Any tips on how i can convince gcc that it doesnt need a
mov     %eax, %eax
in every get_bits() ?

Originally committed as revision 21433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 19:19:09 +00:00
Michael Niedermayer
449d1442a6 a[b-1] -> (a-1)[b].
Helps gcc not to add seperate -1 instructions.

Originally committed as revision 21432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:42:22 +00:00
Michael Niedermayer
7abc860323 Optimize suffix_length computation, 1 cpu cycle speedup.
Originally committed as revision 21431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:23:46 +00:00
Michael Niedermayer
eeb1e92feb Simplify suffix_length computation, same speed.
Originally committed as revision 21430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:18:08 +00:00
Michael Niedermayer
c78295ad1b Optimize level_code computation, 6cpu cycles speedup.
Originally committed as revision 21428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:17:01 +00:00
Reimar Döffinger
0b882b4009 Fix crash in MLP decoder due to integer overflow.
Probably only DoS, init_get_bits sets buffer to NULL, thus causing a
NULL-dereference directly after.

Originally committed as revision 21426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:07:29 +00:00
Michael Niedermayer
8ba436171f 1 cpu cycle faster suffix_length calculation.
Originally committed as revision 21425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:05:02 +00:00
Laurent Aimar
f0f86627fe VC-1/WMV3 DXVA2 implementation
It allows VLD VC-1/WMV3 decoding using DXVA2 (GPU assisted decoding API under
VISTA and Windows 7).
 It is implemented by using AVHWAccel API.

Originally committed as revision 21424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 17:27:00 +00:00
Michael Niedermayer
77d40dce93 Remove is_complex from loop_filter() its useless there in its current form.
Originally committed as revision 21423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 17:02:44 +00:00
Laurent Aimar
34fecc9afd Added a few missing consts in dxva_h264.
Originally committed as revision 21422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 16:40:58 +00:00
Laurent Aimar
0dc343d4cb Added a missing const to ff_h264_get_slice_type().
Originally committed as revision 21421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 16:37:12 +00:00
Laurent Aimar
8880c8bcc3 Added missing const to get_bits_count().
Originally committed as revision 21419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 16:22:09 +00:00
Michael Niedermayer
b2b7ab32aa Prefer cbp over cbp_table.
Originally committed as revision 21418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 13:43:26 +00:00
Michael Niedermayer
50eb40a799 Remove all uses of slice_type* from the loop filter, also remove its
initialization befre the loop filter.

Originally committed as revision 21416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 13:20:17 +00:00
Michael Niedermayer
2c0ee01866 Remove unneeded reset of non_zero_count_cache for deblock.
Originally committed as revision 21414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 22:11:46 +00:00
Michael Niedermayer
01c511683f Remove useless things from the deblock side of fill_caches().
Originally committed as revision 21413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 21:57:36 +00:00
Michael Niedermayer
ea3b456dd6 make mv_cache init 64bit where possible.
Originally committed as revision 21412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 21:45:12 +00:00
Laurent Aimar
85167c46ef Moved reusable functions from dxva2_h264.c to dxva2.c
Originally committed as revision 21407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:17:57 +00:00
Michael Niedermayer
0c32e19d58 Move +52 from the loop filter to the alpha/beta offsets in the context.
This should fix a segfault, also it might be faster on systems where the
+52 wasnt free.

Originally committed as revision 21406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:05:30 +00:00
Reimar Döffinger
6231d0983b Release buffer when the codec is closed.
Originally committed as revision 21405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:04:09 +00:00
Reimar Döffinger
b9e3f85dbc Use qstride = 0 and allocate only a single line for qscale_table since
for this codecs all quants are the same for a single frame.

Originally committed as revision 21404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:01:38 +00:00
Laurent Aimar
e4833b5d71 Added ff_dxva2_ prefix to get_surface(_index) and commit_buffer functions.
Originally committed as revision 21403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:01:28 +00:00
Laurent Aimar
8cf9bbb6dc Reindent the content of one if(){} in ff_dxva2_common_end_frame.
Originally committed as revision 21402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:00:51 +00:00
Laurent Aimar
8db7ee09c3 Moved reusable code from dxva2_h264.c:end_frame to ff_dxva2_common_end_frame.
Originally committed as revision 21401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 17:59:08 +00:00
Michael Niedermayer
1cc2d21175 Set edges based on cbp and mv partitioning, not just skiped MBs.
This is faster for videos that have lots of MBs that fall in this category.

Originally committed as revision 21400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 15:28:34 +00:00
Reimar Döffinger
87ac0c0a39 Use AVPALETTE_COUNT instead of hard-coding 256.
This is consistent with other codecs and will also avoid a crash on the
memcpy to data[1] if AVPALETTE_SIZE ever increases.

Originally committed as revision 21399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 15:22:48 +00:00
Reimar Döffinger
ab8075a2da Remove redundant initialization of the palette, it is part of the context
and that one is always 0-initialized already.

Originally committed as revision 21398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 15:19:34 +00:00