1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

16004 Commits

Author SHA1 Message Date
Michael Kostylev
ea60dfe284 x86: vc1: drop MMX loop filter implementation, which uses MMX2 instructions. 2012-05-12 14:02:45 +02:00
Mans Rullgard
e54e6f25cf arm/neon: dsputil: use correct size specifiers on vld1/vst1
Change the size specifiers to match the actual element sizes
of the data.  This makes no practical difference with strict
alignment checking disabled (the default) other than somewhat
documenting the code.  With strict alignment checking on, it
avoids trapping the unaligned loads.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-10 22:56:37 +01:00
Mans Rullgard
2eba6898c9 arm: dsputil: prettify some conditional instructions in put_pixels macros
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-10 22:56:09 +01:00
Mans Rullgard
c776531aef vqavideo: change x/y loop counters to the usual pattern
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-10 22:55:42 +01:00
Christophe Gisquet
110d0cdc9d rv40dsp x86: MMX/MMX2/3DNow/SSE2/SSSE3 implementations of MC
Code mostly inspired by vp8's MC, however:
- its MMX2 horizontal filter is worse because it can't take advantage of
  the coefficient redundancy
- that same coefficient redundancy allows better code for non-SSSE3 versions

Benchmark (rounded to tens of unit):
        V8x8  H8x8  2D8x8  V16x16  H16x16  2D16x16
C       445    358   985    1785    1559    3280
MMX*    219    271   478     714     929    1443
SSE2    131    158   294     425     515     892
SSSE3   120    122   248     387     390     763

End result is overall around a 15% speedup for SSSE3 version (on 6 sequences);
all loop filter functions now take around 55% of decoding time, while luma MC
dsp functions are around 6%, chroma ones are 1.3% and biweight around 2.3%.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-05-10 18:42:43 +02:00
Christophe Gisquet
706b998cdc ape: Use unsigned integer maths
This involves a division that should be a shift.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-05-10 16:40:43 +02:00
Mans Rullgard
cbc7d60afa arm: dsputil: fix overreads in put/avg_pixels functions
The vertically interpolating variants of these functions read
ahead one line to optimise the loop.  On the last line processed,
this might be outside the buffer.  Fix these invalid reads by
processing the last line outside the loop.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-10 14:39:34 +01:00
Diego Biurrun
1de53d006b h264: K&R formatting cosmetics for header files (part II/II) 2012-05-10 13:13:44 +02:00
Diego Biurrun
be545b8a34 h264: K&R formatting cosmetics for header files (part I/II) 2012-05-10 13:02:47 +02:00
Diego Biurrun
8ae1914327 vcr1enc: drop pointless empty encode_init() wrapper function 2012-05-09 23:47:37 +02:00
Diego Biurrun
eeeefd5001 vcr1: drop pointless write-only AVCodecContext member from VCR1Context 2012-05-09 23:24:07 +02:00
Diego Biurrun
51c4d87093 vcr1: group encoder code together to save #ifdefs 2012-05-09 23:24:07 +02:00
Diego Biurrun
db1e403cfb vcr1: cosmetics: K&R prettyprinting, typos, parentheses, dead code, comments 2012-05-09 23:24:06 +02:00
Diego Biurrun
c8b4a3999b libxvid: Give more suitable names to libxvid-related files. 2012-05-09 18:18:05 +02:00
Diego Biurrun
5b432d66ce libxvid: Separate libxvid encoder from libxvid rate control code.
This allows compiling the Xvid rate control code without the encoder.
2012-05-09 18:18:05 +02:00
Diego Biurrun
727af82a84 jpeglsdec: Remove write-only variable in ff_jpegls_decode_lse().
libavcodec/jpeglsdec.c:54:9: warning: variable ‘len’ set but not used
2012-05-09 18:12:28 +02:00
Anton Khirnov
c22953b8a3 lavc: check that extended_data is properly set in avcodec_encode_audio2(). 2012-05-09 17:47:11 +02:00
Anton Khirnov
a5117a2444 lavc: pad last audio frame with silence when needed. 2012-05-09 17:46:54 +02:00
Jordi Ortiz
38f06a1415 libschroedingerdec: Change AVPicture to AVFrame and use SchroTag to store pts
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-05-08 16:06:49 -07:00
Alex Converse
40f81769ae options_table: Add some missing #includes to fix "make checkheaders".
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-05-08 20:05:20 +02:00
Kostya Shishkov
464e9ab011 lagarith: add YUY2 decoding support
Unlike other variants, for YUY2 we need to use different prediction:
* on line 0 for luma we should left predict starting from the second pixel
* on line 1 we should left predict first 4 pixels for luma and 2 for chroma
* median prediction employed here is taken directly from HuffYUV
2012-05-08 07:24:31 +02:00
Carl Eugen Hoyos
58637a0b24 Support decoding unaligned rgb24 lagarith.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-05-08 07:23:44 +02:00
Diego Biurrun
520c1ec699 dv: Split profile handling code into a separate file. 2012-05-07 23:59:49 +02:00
Ronald S. Bultje
64953f67f9 qdm2: clip array indices returned by qdm2_get_vlc().
Prevents subsequent overreads when these numbers are used as indices
in arrays.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-05-07 13:08:36 -04:00
Justin Ruggles
f132248028 avcodec: do not needlessly set packet size to 0 in avcodec_encode_audio2()
It is already set to 0 by av_free_packet()
2012-05-07 12:14:05 -04:00
Justin Ruggles
74e10b6204 avcodec: for audio encoding, reset output packet when it is not valid 2012-05-07 12:14:05 -04:00
Justin Ruggles
fa0319b4fd avcodec: refactor avcodec_encode_audio2() to merge common branches 2012-05-07 12:14:05 -04:00
Justin Ruggles
b461cd4deb avcodec: remove fallbacks for AVCodec.encode() in avcodec_encode_audio2()
We no longer have any audio encoders using AVCodec.encode().
2012-05-07 12:14:04 -04:00
Diego Biurrun
fdc918632f libschroedinger: Switch to function names more in line with Libav style. 2012-05-07 14:31:59 +02:00
Diego Biurrun
9cef0669c4 Move code shared between libdirac and libschroedinger to libschroedinger.
This also involves making some function static and changing the name
prefixes of some functions and structures.
2012-05-07 14:31:59 +02:00
Diego Biurrun
10d2ea2604 h264: Remove a commented-out function pointer typedef. 2012-05-07 14:17:43 +02:00
Diego Biurrun
ea14050642 txd: Remove write-only variable in txd_decode_frame().
libavcodec/txd.c:49:60: warning: variable ‘mipmap_count’ set but not used
2012-05-07 14:17:42 +02:00
Diego Biurrun
246b050f51 mmvideo.c: Remove unused variable in mm_decode_pal().
libavcodec/mmvideo.c:87:9: warning: variable ‘i’ set but not used
2012-05-07 14:17:41 +02:00
Diego Biurrun
dbe6ba55a3 build: cosmetics: Add missing end-of-line backslashes to item lists. 2012-05-07 14:17:40 +02:00
Diego Biurrun
9eb83a56aa build: cosmetics: Split HEADERS/OBJS/PROGS lists into one entry per line. 2012-05-07 14:01:32 +02:00
Diego Biurrun
1f4f752117 libschroedinger: Move a function to avoid a forward declaration. 2012-05-07 10:35:25 +02:00
Sean McGovern
b68c4ac293 pthread: warn on high thread counts
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-05-07 10:35:01 +02:00
Anton Khirnov
828bd088f3 lavc: add sample rate and channel layout to AVFrame.
Rationale is the same as for video width/height etc.
2012-05-07 07:08:03 +02:00
Paul B Mahol
37f4a976b3 zerocodec: check if the previous frame is missing
ZeroCodec relies on the keyframe flag being set in the container, and
prev is the previously decoded frame. A keyframe flags incorrectly set
will lead to this condition.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-05-06 15:47:10 -07:00
Kostya Shishkov
fb5c1aaea6 dfa: use more meaningful return codes 2012-05-06 19:18:27 +02:00
Michael Niedermayer
71a3c59ed7 eatgv: check vector_bits
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-05-06 19:18:02 +02:00
Kostya Shishkov
a390aa0ea4 eatgv: check motion vectors 2012-05-06 19:17:32 +02:00
Diego Biurrun
30b1961c66 Mark a number of variables only used in av_dlog() calls as av_unused.
This fixes a number of unused-but-set gcc warnings.
2012-05-06 18:01:31 +02:00
Diego Biurrun
b2e92e946c dvdec: drop const qualifier from variable to eliminate a warning
libavcodec/dvdec.c:344:12: warning: assignment discards ‘const’ qualifier from pointer target type
2012-05-06 18:01:30 +02:00
Robert Nagy
ad0278661b avcodec: Improve comment for thread_safe_callbacks to avoid misinterpretation.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-05-06 18:00:29 +02:00
Kostya Shishkov
1fdb5649d9 lagarith: make offset array type unsigned
This is logical and also fixes checking for the fourth plane offset.
2012-05-06 09:32:08 +02:00
Kostya Shishkov
8099187e89 dfa: add some checks to ensure that decoder won't write past frame end 2012-05-06 09:31:52 +02:00
Mans Rullgard
96f7590efd aacps: NEON optimisations
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-05 22:04:21 +01:00
Mans Rullgard
47d18d5354 aacps: align some arrays
This is required for SIMD optimisations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-05 22:04:21 +01:00
Mans Rullgard
bf1945af30 aacps: move some loops to function pointers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-05 22:04:21 +01:00