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

17182 Commits

Author SHA1 Message Date
Christophe Gisquet
4f50646697 x86: sbrdsp: Implement SSE qmf_post_shuffle
255 to 174 cycles on Arrandale / Win64. Unrolling yields no gain.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-06 13:57:01 +01:00
Christophe Gisquet
44a0036d10 x86: sbrdsp: Implement SSE sum64x5
698 to 174 cycles on Arrandale. Unrolling is a 6 cycles gain.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-06 13:57:01 +01:00
Diego Biurrun
5b4dfbffc2 x86: ABS1: port to cpuflags 2013-01-06 13:57:01 +01:00
Anton Khirnov
de16f08e48 v210x: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov
6689474b91 v210x: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
39039f2405 r210dec: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
4324a3ce75 vb: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov
9dbbda235d vb: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
a0ffcee1ee ptx: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
b2a7b81b9c tiff: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
26a161a166 vqavideo: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
edfe05ddf1 mss2: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
f0547c9bd0 v210dec: return meaningful error codes 2013-01-06 13:31:40 +01:00
Anton Khirnov
c04c64c08e indeo2: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov
7b1fbd4729 indeo2: check decoding errors. 2013-01-06 13:31:40 +01:00
Anton Khirnov
6ea2c9a4cf indeo2: return meaningful error codes 2013-01-06 13:31:40 +01:00
Anton Khirnov
6781b5315e rl2: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov
3c6e5a840c rl2: use fixed-width integer types where appropriate 2013-01-06 13:31:40 +01:00
Anton Khirnov
126abaaaae rl2: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
7c8fceef6c cljr: return a meaningful error code. 2013-01-06 13:31:40 +01:00
Anton Khirnov
80344261aa fraps: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov
57d11e5e28 fraps: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
405486c28b kgv1dec: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
e1a7061d63 kmvc: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
f3fcb1a7b2 wnv1: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
0c19b23bd5 dpx: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
b61e0b99df truemotion1: return meaningful error codes 2013-01-06 13:31:40 +01:00
Anton Khirnov
380242ca50 pnm: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
84f2847de3 xl: return a meaningful error code. 2013-01-06 13:31:40 +01:00
Anton Khirnov
d47dabbac2 xan: return a meaningful error code. 2013-01-06 13:31:40 +01:00
Anton Khirnov
4aebb8d999 xxan: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
aaf208329f zmbv: return more meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
01b60883ea yop: use a meaningful error code. 2013-01-06 13:31:39 +01:00
Anton Khirnov
11c3f2047e c93: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
2b011a43e9 bmv: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
abcc235481 bmp: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
6a97ea65b6 bink: operate with pointers to AVFrames instead of whole structs.
This is more correct and avoids breaking extended_data.
2013-01-06 13:31:39 +01:00
Anton Khirnov
86d4e75422 bink: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
86e09b9e60 bfi: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
fc2a94c15e bethsoftvideo: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
e83c1e2d0b avs: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
620faee5d1 aura: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
38de3365ca asvdec: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
b3b17f7800 ansi: return a meaningful error code 2013-01-06 13:31:39 +01:00
Anton Khirnov
b622e2b540 anm: return meaningful error codes 2013-01-06 13:31:39 +01:00
Anton Khirnov
18009e60d2 aasc: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
313da47aa1 8bps: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
f7d15d2f42 4xm: operate with pointers to AVFrames instead of whole structs.
This is more correct and avoids breaking extended_data.
2013-01-06 13:31:39 +01:00
Anton Khirnov
85383d139a 4xm: eliminate a pointless indirection 2013-01-06 13:31:39 +01:00
Anton Khirnov
aa15afb7ce 4xm: simplify code with FFSWAP 2013-01-06 13:31:39 +01:00
Anton Khirnov
10c26e928a 4xm: return meaningful error codes 2013-01-06 13:31:39 +01:00
Clément Bœsch
3048fae63c build: Avoid detecting bogus components named 'x'
The function find_things() in configure is confused by component
registration calls as part of multiline macros defining combined
component registration.  Coalesce those macros into one line to
work around the issue.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:11:25 +02:00
Janne Grunau
9ac44ad9d0 h264: check SPS entries directly to detect pixel format changes
Comparing AVCodecContext.pix_fmt against the get_pixel_format() return
value has the side effect of calling the get_format() callback on each
slice. Users of the callback will probably handle hardware accelerator
initialization in the callback.
2013-01-03 11:09:00 +01:00
Diego Biurrun
117f79de2d truemotion2: Sanitize tm2_read_header()
Also give a variable a more sensible name.
2012-12-31 11:20:45 +01:00
Anton Khirnov
fb0cb11f09 cavsdec: export picture type in the output frame 2012-12-30 18:52:26 +01:00
Anton Khirnov
7d84826400 cavs: deMpegEncContextize
It does not use any of the mpegvideo infrastructure, just a few fields
from the context.

Fixes a segfault with the emu edge flag, since emu edge buffer is now
allocated as a part of the frame buffer allocation and cavs calls
ff_get_buffer() directly, it does not use mpegvideo buffer management.

Fixes a memleak of the last frame.
2012-12-30 18:48:11 +01:00
Anton Khirnov
64bb3fa6b7 cavs: cosmetics, reformat top part 2012-12-30 18:47:54 +01:00
Anton Khirnov
185c2ef849 cavsdec: cosmetics, reformat 2012-12-30 18:47:30 +01:00
Diego Biurrun
015da965a6 libavcodec/utils: Add braces to shut up gcc warnings
libavcodec/utils.c:1050:5: warning: missing braces around initializer [-Wmissing-braces]
libavcodec/utils.c:1314:5: warning: missing braces around initializer [-Wmissing-braces]
2012-12-30 01:52:04 +01:00
Luca Barbato
d615da60c1 snow: use VideoDSPContext
It was left over from the initial conversion.
2012-12-29 18:05:49 +01:00
Diego Biurrun
c73c87b412 cosmetics: Prettyprint codec/format/filter registration files 2012-12-28 19:18:13 +01:00
Janne Grunau
1f4ea4e068 mpegvideo: initialize videodsp with correct pixel depth
Fixes decoding of 9/10 bit per pixel h264 videos as reported in
https://bugzilla.libav.org/show_bug.cgi?id=404 .
2012-12-26 00:24:21 +01:00
Anton Khirnov
0a9132b84c wnv1: cosmetics, reformat 2012-12-24 09:18:19 +01:00
Anton Khirnov
51648da4dc xan: remove a trivially true if().
This function used to be shared with the xxan decoder, but that is not
true anymore.
2012-12-24 09:17:57 +01:00
Anton Khirnov
99e36ddd3e ansi: do not depend on get_buffer() initializing the frame.
The background changes from 128 (used by the default/cmdutils
get_buffer()) to 0. This looks more correct.
2012-12-24 09:17:45 +01:00
Anton Khirnov
261f0b14ed zerocodec: remove an unused variable. 2012-12-24 09:17:40 +01:00
Anton Khirnov
8adfacff5c zmbv: remove some pointless comments and empty lines 2012-12-24 09:17:34 +01:00
Anton Khirnov
c6303f8d70 yop: simplify/sanitize the decoding loop
Do not overwrite linesize set by get_buffer().

The last frame in the FATE test is not decoded anymore, since the file
is cut and a part of it is missing.
2012-12-24 09:16:51 +01:00
Anton Khirnov
f6e395e132 c93: set palette_has_changed. 2012-12-24 09:16:11 +01:00
Anton Khirnov
3eab600752 bmp: cosmetics, reformat 2012-12-24 09:15:30 +01:00
Martin Storsjö
0940580adb lavc: Correct the description of pkt_dts
The description as updated in 6e5c44b0f made it sound like it is
handled exactly like the pts, which it is not. Clarify that it
is the packet that triggered returning the frame instead of just
the last avpacket (in case of frame threading, it won't be the
dts of the last packet).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-23 20:52:21 +02:00
Diego Biurrun
f3298f1299 Return proper error code after av_log_ask_for_sample() 2012-12-23 18:56:56 +01:00
Anton Khirnov
b6d7d4efae 8bps: cosmetics
Remove some pointless comments and empty lines.
2012-12-23 11:17:53 +01:00
Anton Khirnov
c64cf2a37b aasc: cosmetics, reformat 2012-12-23 11:17:53 +01:00
Anton Khirnov
808b2227d7 ansi: remove an extra return 2012-12-23 11:17:53 +01:00
Anton Khirnov
c3a76c3dec asvdec: cosmetics, reformat 2012-12-23 11:17:53 +01:00
Anton Khirnov
bdfa24514e aura: cosmetics, reformat 2012-12-23 11:17:53 +01:00
Anton Khirnov
b047c68783 4xm: don't rely on get_buffer() initializing the frame. 2012-12-23 11:17:53 +01:00
Anton Khirnov
2ca5ca2957 huffyuv: split encoder and decoder into separate files. 2012-12-23 11:17:49 +01:00
Anton Khirnov
6e5c44b043 lavc: make pkt_{p,d}ts doxy less confusing 2012-12-23 10:35:32 +01:00
Anton Khirnov
418693bdc5 lavc: rewrite and extend AVFrame doxy 2012-12-23 10:35:27 +01:00
Justin Ruggles
5778299c7e ttadec: fix last frame handling when seeking
Using a frame count, as is done currently, does not work at all with
seeking. Instead, when the number of samples in the final frame has
been decoded, we check if only the 32-bit CRC is remaining. If so, we
assume that it is the final frame.

There is no longer a need to keep total_frames in TTAContext.
2012-12-22 14:45:35 -05:00
Justin Ruggles
68a04b0cce alacdec: do not be too strict about the extradata size
Sometimes the extradata has duplicate atoms, but that shouldn't prevent
decoding. Just ensure that it is at least 36 bytes as a sanity check.

CC: libav-stable@libav.org
2012-12-22 12:18:41 -05:00
Justin Ruggles
aef5150719 flac: only set channel layout if not previously set or on channel count change
Fixes Bug 402
2012-12-22 01:35:28 -05:00
Diego Biurrun
511cf612ac miscellaneous typo fixes 2012-12-21 00:18:34 +01:00
Luca Barbato
6906b19346 lavc: add missing files for arm
Across the many retouches those did not make the main commit.
2012-12-20 14:07:23 +01:00
Ronald S. Bultje
8c53d39e7f lavc: introduce VideoDSPContext
Move some functions from dsputil. The idea is that videodsp contains
functions that are useful for a large and varied set of video decoders.
Currently, it contains emulated_edge_mc() and prefetch().

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-20 13:40:45 +01:00
Anton Khirnov
5823686261 mpeg12: do not decode extradata more than once.
Fixes CVE-2012-2803.

CC: libav-stable@libav.org
2012-12-19 22:32:54 +01:00
Victor Lopez
1c8bf3bfed h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles
Fixes bug 396.

CC: libav-stable@libav.org
2012-12-19 13:40:48 +01:00
Janne Grunau
45635885e4 mpegvideo: increase edge_emu_buffer size for VC1
The VC1 decoder uses edge_emu_buffer simultaneously for luma and chroma
and needs more space. That was not a problem before f1d8763a02
since the size for edge_emu_buffer was always calculated with 2 byte per
pixel since the linesize was not known.

Fixes occasionally fate errors in vc1_sa10143.
2012-12-19 07:57:22 +01:00
Janne Grunau
acb571c89a avcodec: bump minor for adaptive h264 frame-mt
Also adds forgotten Changelog entry.
2012-12-18 20:26:53 +01:00
Janne Grunau
9e696d2e5f h264: support frame parameter changes during frame-mt
Fixes CVE-2012-2782.
2012-12-18 19:55:10 +01:00
Janne Grunau
f1d8763a02 mpegvideo: allocate scratch buffers after linesize is known
Since we can't know which stride a custom get_buffer() implementation is
going to use we have to allocate this scratch buffers after the linesize
is known. It was pretty safe for 8 bit per pixel pixel formats since we
always allocated memory for up to 16 bits per pixel. It broke hoever
with cmdutis.c's alloc_buffer() and high pixel bit depth since it
allocated larger edges than mpegvideo expected.

Fixes fuzzed sample nasa-8s2.ts_s244342.
2012-12-18 19:48:30 +01:00
Michael Niedermayer
ed2d7d5868 ff_h264_direct_ref_list_init: fix B slice check.
Fixes null pointer dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-12-18 19:44:22 +01:00
Janne Grunau
73ad2c2fa7 h264: increase dist_scale_factor for up to 32 references
Compute dist_scale_factor_field only for MBAFF since that is the only
case in which it is used.
2012-12-18 19:36:58 +01:00
Diego Biurrun
523c7bd23c misc typo, style and wording fixes 2012-12-18 13:36:51 +01:00
Michael Niedermayer
c9aab8a123 h264: use mbaff ref indices in fill_colmap() only for mbaff references
Prevents writing beyond array bounds.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-12-18 11:02:23 +01:00
Janne Grunau
61c6eef545 h264: prevent decoding of slice NALs in extradata
It is not posible to call get_buffer during frame-mt codec
initialization. Libavformat might pass huge amounts of data as
extradata after parsing broken files. The 'extradata' for the fuzzed
sample sample_varPAR_s5374_r001-02.avi is 2.8M large and contains
multiple slices.
2012-12-18 11:01:14 +01:00
Diego Biurrun
81c7c817a4 cosmetics: Use consistent names for multiple inclusion guards. 2012-12-17 17:02:22 +01:00
Janne Grunau
a421bbfe83 h264: fix memleak on error during SPS parsing
Introduced in d7d6efe42b.
2012-12-15 19:16:39 +01:00
Janne Grunau
27c8337e59 h264-mt: handle NAL_DPAs before calling ff_thread_finish_setup
Since a NAL_DPA can start a new frame it has to be handled before
ff_thread_finish_setup is called.
2012-12-15 19:06:37 +01:00
Luca Barbato
f33b5ba63e vp56: release frames on error
Fixes CVE-2012-2783

CC: libav-stable@libav.org
2012-12-14 13:21:59 +01:00
Luca Barbato
bb675d3ac6 vp56: make parse_header return standard error codes
Returning 0 for failure is misleading.

CC: libav-stable@libav.org
2012-12-14 13:21:59 +01:00
Anton Khirnov
deabb52ab4 ivi_common: check that scan pattern is set before using it.
Fixes CVE-2012-2791.

CC: libav-stable@libav.org
2012-12-14 07:10:53 +01:00
Anton Khirnov
07acdd651d ivi_common: use proper logging context in ivi_decode_blocks(). 2012-12-14 07:10:48 +01:00
Anton Khirnov
8ab42021f2 ivi_common: make some functions and tables static. 2012-12-14 07:08:38 +01:00
Janne Grunau
0eae920c3c h264: initialize frame-mt context copies properly 2012-12-13 21:02:42 +01:00
Janne Grunau
6a27ae28f9 mpegvideo: treat delayed pictures as used
This requires to move the avcodec_default_free_buffers() call to
ff_MPV_common_end() since otherwise delayed pictures would get freed
during a size change.
2012-12-13 21:02:42 +01:00
Janne Grunau
bd255f9feb lavc: set frame parameters after decoding only if necessary
Direct rendering capable decoders call get_buffer() which will set the
frame parameters.

Prevents frames with wrong parameters when a decoder outputs delayed
frames after a resolution or pixel format change.
2012-12-13 21:02:42 +01:00
Janne Grunau
072be3e896 h264: set parameters from SPS whenever it changes
Fixes a crash in the fuzzed sample sample_varPAR.avi_s26638 with
alternating bit depths.
2012-12-13 21:02:42 +01:00
Luca Barbato
be75fed975 vp6: properly fail on unsupported feature
Interlacing is not supported at all and mismanaged down the normal
codepaths causing possible buffer management issues.

CC: libav-stable@libav.org
2012-12-13 17:05:45 +01:00
Alex Converse
6d5b009267 aacdec: Fix an off-by-one overwrite when switching to LTP profile from MAIN.
Found-by: pawlkt
CC: libav-stable@libav.org
2012-12-12 13:22:10 -08:00
Martin Storsjö
48238fd00b svq1: Fix building with -DDEBUG
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 12:17:52 +02:00
Anton Khirnov
c4182d72c9 svq1: return meaningful error codes. 2012-12-12 10:00:08 +01:00
Anton Khirnov
998fdcff41 lavc: replace some forgotten instances of PixelFormat with AVPixelFormat 2012-12-12 09:59:58 +01:00
Anton Khirnov
84a0806680 svq1: unmacroify macros used only once. 2012-12-12 09:59:41 +01:00
Anton Khirnov
95baf701db svq1: deMpegEncContextize
This decoder is quite simple and none of the MpegEncContext complexity
is actually needed.
2012-12-12 09:57:21 +01:00
Ronald S. Bultje
6f40e9f070 x86inc: support stack mem allocation and re-alignment in PROLOGUE
Use this in VP8/H264-8bit loopfilter functions so they can be used if
there is no aligned stack (e.g. MSVC 32bit or ICC 10.x).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-12 05:23:46 +01:00
Mans Rullgard
02823f6d71 Make LOCAL_ALIGNED syntactically similar on all systems
This changes the LOCAL_ALIGNED definition on systems where
DECLARE_ALIGNED is used so it matches the manual alignment
case, ensuring invalid use will not compile on x86 only to
fail on everything else.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-11 11:59:15 +00:00
Carl Eugen Hoyos
2ddf7c88d1 ZeroCodec: Flip output
The initial testing of the VFW binary codec was flawed,
likely due to an AviSynth bug.

Re-testing using VirtualDub and various professional editing
applications has revealed it should have been flipped.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-12-10 11:19:42 -05:00
Mans Rullgard
f9e493c6f5 sh4: dsputil: remove duplicate of ff_gmc_c()
This function is an exact duplicate of the generic one.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-10 09:53:58 +00:00
Mans Rullgard
2dd95bd7cf dsputil: remove unused macro WRAPPER8_16
This macro has never been used.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-09 22:21:04 +00:00
Martin Storsjö
774e6fc9ed libvpxenc: Support forcing keyframes
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-09 20:28:08 +02:00
Mans Rullgard
ec5da7aee2 ac3dec: decode directly into output buffers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-09 15:52:01 +00:00
Mans Rullgard
30b3916425 ac3dec: make downmix() take array of pointers to channel data 2012-12-09 15:52:01 +00:00
Mans Rullgard
b8f3ab8e6a ac3dec: output planar float only
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-09 15:52:01 +00:00
Janne Grunau
288bb3da16 svq3: make slice type value unsigned to match svq3_get_ue_golomb return type 2012-12-09 15:51:45 +01:00
Diego Biurrun
ba0c898120 cosmetics: Fix dropable --> droppable typo 2012-12-09 13:36:11 +01:00
Janne Grunau
6a1aa5cb26 mjpeg: initialize input padding after unescaped buffer to zero
Fixes valgrind --undef-value-errors=yes warnings caused by valid
overreads in the fate vsynth jpegls, cover-art-ape and cover-art-wv
tests.
2012-12-08 17:05:45 +01:00
Ronald S. Bultje
ddd7559ad9 h264: check for invalid zeros_left before writing
Prevent an invalid write into coeffs[scantable[-1]] if zeros_left
itself was an invalid VLC code (and thus -1).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-08 17:04:22 +01:00
Janne Grunau
9a2e79116d golomb: use unsigned arithmetics in svq3_get_ue_golomb()
This prevents undefined behaviour of signed left shift if the coded
value is larger than 2^31. Large values are most likely invalid and
caused errors or by feeding random.

Validate every use of svq3_get_ue_golomb() and changed the place there
the return value was compared with negative numbers. dirac.c was clean,
fixed rv30 and svq3.
2012-12-08 12:55:10 +01:00
Josh Allmann
b3deec3253 takdec: fix initialisation of LOCAL_ALIGNED array
When LOCAL_ALIGNED uses manual alignment initialisation is not
possible.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-12-08 00:00:30 +01:00
Mans Rullgard
cd71af90a9 takdec: fix initialisation of LOCAL_ALIGNED array
When LOCAL_ALIGNED uses manual alignment initialisation is not
possible.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 22:13:57 +00:00
Paul B Mahol
57231e4d5b tak: demuxer, parser, and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Michael Niedermayer
096abfa150 parser: fix large overreads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Michael Niedermayer
41540b36a1 bitstream: add get_bits64() to support reading more than 32 bits at once
Also remove a duplicate function in the MPEG-TS demuxer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Mans Rullgard
b326755989 arm: rename ARMVFP config symbol to VFP
This is consistent with usual ARM nomenclature as well as with the
VFPV3 and NEON symbols which both lack the ARM prefix.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:04 +00:00
Mans Rullgard
a7831d509f arm: use HAVE*_INLINE/EXTERNAL macros for conditional compilation
These macros reflect the actual capabilities required here.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
c29d49c1b3 dct-test: arm: indicate required cpu features for optimised funcs
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Anton Khirnov
380232fac3 snow: fix build after 594d4d5df3 2012-12-07 16:35:06 +01:00
Mans Rullgard
92dad6687f arm: fix use of uninitialised value in ff_fft_fixed_init_arm()
When initialising an FFTContext for a plain FFT, mdct_bits is not set
and can contain a garbage value.  Since nbits is always valid and for
MDCT operation is mdct_bits - 2 checking this instead avoids using an
uninitialised value while having the same effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 13:11:57 +00:00
Martin Storsjö
2c96392277 avpicture: Don't assume a valid pix fmt in avpicture_get_size
When called from the v4l2 input device, pix_fmt can be
AV_PIX_FMT_NONE (for jpeg formats). Before 50ba57e0, this wasn't
an issue for avpicture_get_size, but after that commit, this
lead to crashes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-07 14:28:47 +02:00
Janne Grunau
a394959bbe h264: add a pointer for weighted prediction temporary buffer
Reusing MpegEncContext's obmc_scratchpad for this becomes a mess with
adaptive frame-mt.
2012-12-07 11:43:28 +01:00
Janne Grunau
d7d6efe42b h264: check sps.log2_max_frame_num for validity
Fixes infinite or long taking loop in frame num gap code in
the fuzzed sample bipbop234.ts_s223302.

CC: libav-stable@libav.org
2012-12-07 11:43:28 +01:00
Janne Grunau
480be07a96 flac: change minimum and default of lpc_passes option to 1
Avoid use of uninitialized and uncomputed linear least square models
during ff_lpc_calc_coefs() for FF_LPC_TYPE_CHOLESKY. Fixes running
make fate-flac-16-lpc-cholesk with valgrind --undef-value-errors=yes.
2012-12-07 11:43:28 +01:00
Christophe Gisquet
2aef3d66c9 SBR DSP x86: implement SSE sbr_hf_gen
Start and end index are multiple of 2, therefore guaranteeing aligned access.
Also, this allows to generate 4 floats per loop, keeping the alignment all
along.

Timing:
- 32 bits: 326c -> 172c
- 64 bits: 323c -> 156c

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-12-07 11:04:26 +01:00
Christophe Gisquet
9a16359c38 AAC SBR: use AVFloatDSPContext's vector_fmul
Around 5% speedup on the code block using 'vector_fmul_add's.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-12-07 10:33:39 +01:00
Janne Grunau
5945c7b35d h264: slice-mt: check master context for valid current_picture_ptr
Fixes errors in slice based multithreading introduced in 0b300daad2.

CC: libav-stable@libav.org
2012-12-05 23:16:37 +01:00
Janne Grunau
a8cb1746c5 h264: slice-mt: get last_pic_dropable from master context
Fixes fate-h264-conformance-cvnlfi2_sony_h and smllwebdl.mkv from
https://github.com/OpenELEC/OpenELEC.tv/issues/1557 .

CC: libav-stable@libav.org
2012-12-05 23:16:37 +01:00
Justin Ruggles
5e1bbb8c7e alacenc: add support for multi-channel encoding 2012-12-05 16:13:37 -05:00