8 years agocosmetics: Use consistent names for multiple inclusion guards.
Diego Biurrun [Sun, 9 Dec 2012 12:35:21 +0000 (13:35 +0100)]
cosmetics: Use consistent names for multiple inclusion guards.

8 years agoavresample: use valid log context in mixing functions
Hendrik Leppkes [Sun, 16 Dec 2012 08:52:35 +0000 (09:52 +0100)]
avresample: use valid log context in mixing functions

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agolavr: remove automatic context close/open for resampling compensation
Justin Ruggles [Fri, 30 Nov 2012 01:58:05 +0000 (20:58 -0500)]
lavr: remove automatic context close/open for resampling compensation

It adds unnecessary complication for insignificant usability improvement.
The user really should know if they'll need resampling compensation before
opening the context.

Note that only the documentation has changed. The current functionality will
still work until the next major bump.

8 years agolavr: only save/restore the mixing matrix if mixing is being done
Justin Ruggles [Fri, 30 Nov 2012 01:49:36 +0000 (20:49 -0500)]
lavr: only save/restore the mixing matrix if mixing is being done

8 years agortpdec_vp8: Cosmetics: Fix bad alignment/indentation
Martin Storsjö [Wed, 12 Dec 2012 14:59:45 +0000 (16:59 +0200)]
rtpdec_vp8: Cosmetics: Fix bad alignment/indentation

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpenc: Allow including a SDES/CNAME block in RTCP SR packets
Martin Storsjö [Fri, 3 Apr 2009 15:08:07 +0000 (18:08 +0300)]
rtpenc: Allow including a SDES/CNAME block in RTCP SR packets

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpenc_vp8: Include the picture number in VP8 packets
Martin Storsjö [Sun, 9 Dec 2012 23:10:42 +0000 (01:10 +0200)]
rtpenc_vp8: Include the picture number in VP8 packets

This makes it easier for receivers to decide what to do if data
is lost.

Refactor calculating the max payload size, to avoid hardcoding the
header size in too many places, reducing the number of lines that
have to be touched if the header is adjusted further.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoh264: fix memleak on error during SPS parsing
Janne Grunau [Fri, 14 Dec 2012 20:08:24 +0000 (21:08 +0100)]
h264: fix memleak on error during SPS parsing

Introduced in d7d6efe42b0d.

8 years agoh264-mt: handle NAL_DPAs before calling ff_thread_finish_setup
Janne Grunau [Fri, 14 Dec 2012 22:22:55 +0000 (23:22 +0100)]
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.

8 years agolavr: move AudioMix struct definition to audio_mix.c
Justin Ruggles [Fri, 14 Dec 2012 02:18:15 +0000 (21:18 -0500)]
lavr: move AudioMix struct definition to audio_mix.c

8 years agovp56: release frames on error
Luca Barbato [Fri, 14 Dec 2012 08:55:04 +0000 (09:55 +0100)]
vp56: release frames on error

Fixes CVE-2012-2783

CC: libav-stable@libav.org
8 years agovp56: make parse_header return standard error codes
Luca Barbato [Fri, 14 Dec 2012 07:22:06 +0000 (08:22 +0100)]
vp56: make parse_header return standard error codes

Returning 0 for failure is misleading.

CC: libav-stable@libav.org
8 years agoivi_common: check that scan pattern is set before using it.
Anton Khirnov [Thu, 13 Dec 2012 18:38:20 +0000 (19:38 +0100)]
ivi_common: check that scan pattern is set before using it.

Fixes CVE-2012-2791.

CC: libav-stable@libav.org
8 years agoivi_common: use proper logging context in ivi_decode_blocks().
Anton Khirnov [Thu, 13 Dec 2012 18:31:42 +0000 (19:31 +0100)]
ivi_common: use proper logging context in ivi_decode_blocks().

8 years agoivi_common: make some functions and tables static.
Anton Khirnov [Thu, 13 Dec 2012 18:25:52 +0000 (19:25 +0100)]
ivi_common: make some functions and tables static.

8 years agoasyncts: ignore min_delta only if first_pts is set
Justin Ruggles [Thu, 13 Dec 2012 23:30:20 +0000 (18:30 -0500)]
asyncts: ignore min_delta only if first_pts is set

8 years agoasyncts: merge two conditions
Justin Ruggles [Thu, 13 Dec 2012 18:20:51 +0000 (13:20 -0500)]
asyncts: merge two conditions

8 years agox86inc: fully concatenate tokens to fix macro expansion for nasm
Janne Grunau [Thu, 13 Dec 2012 21:42:11 +0000 (22:42 +0100)]
x86inc: fully concatenate tokens to fix macro expansion for nasm

Fixes build errors with nasm introduced in 6f40e9f070f7 for stack
memory alignment. Noticed by BugMaster.

8 years agoh264: initialize frame-mt context copies properly
Janne Grunau [Sun, 9 Dec 2012 18:19:51 +0000 (19:19 +0100)]
h264: initialize frame-mt context copies properly

8 years agompegvideo: treat delayed pictures as used
Janne Grunau [Wed, 12 Dec 2012 15:42:05 +0000 (16:42 +0100)]
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.

8 years agolavc: set frame parameters after decoding only if necessary
Janne Grunau [Wed, 12 Dec 2012 15:36:20 +0000 (16:36 +0100)]
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.

8 years agoh264: set parameters from SPS whenever it changes
Janne Grunau [Fri, 16 Nov 2012 00:12:40 +0000 (01:12 +0100)]
h264: set parameters from SPS whenever it changes

Fixes a crash in the fuzzed sample sample_varPAR.avi_s26638 with
alternating bit depths.

8 years agoasyncts: cosmetics: reindent
Justin Ruggles [Thu, 13 Dec 2012 16:55:40 +0000 (11:55 -0500)]
asyncts: cosmetics: reindent

8 years agodoc: improve documentation for the asyncts filter first_pts option
Justin Ruggles [Wed, 12 Dec 2012 18:19:16 +0000 (13:19 -0500)]
doc: improve documentation for the asyncts filter first_pts option

Note the time base for the option. Add an additional example description.

8 years agoasyncts: fix the asyncts behavior when using the first_pts option
Justin Ruggles [Tue, 11 Dec 2012 22:36:09 +0000 (17:36 -0500)]
asyncts: fix the asyncts behavior when using the first_pts option

Currently it will do padding, but it does not properly handle
start-of-stream trimming as documented.

8 years agoasyncts: use clipped delta value when setting resample compensation
Justin Ruggles [Wed, 12 Dec 2012 18:26:57 +0000 (13:26 -0500)]
asyncts: use clipped delta value when setting resample compensation

The max_comp option is supposed to limit maximum compensation, but
currently the clipped value is not actually used.

8 years agoasyncts: fix flushing of final samples at EOF
Justin Ruggles [Wed, 12 Dec 2012 18:10:13 +0000 (13:10 -0500)]
asyncts: fix flushing of final samples at EOF

8 years agovp6: properly fail on unsupported feature
Luca Barbato [Thu, 13 Dec 2012 15:20:19 +0000 (16:20 +0100)]
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
8 years agoaacdec: Fix an off-by-one overwrite when switching to LTP profile from MAIN.
Alex Converse [Wed, 12 Dec 2012 01:26:10 +0000 (17:26 -0800)]
aacdec: Fix an off-by-one overwrite when switching to LTP profile from MAIN.

Found-by: pawlkt
CC: libav-stable@libav.org
8 years agox86inc: fix stack alignment on win64
Ronald S. Bultje [Wed, 12 Dec 2012 19:00:22 +0000 (20:00 +0100)]
x86inc: fix stack alignment on win64

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpproto: Remove unused defines
Martin Storsjö [Tue, 11 Dec 2012 22:01:29 +0000 (00:01 +0200)]
rtpproto: Remove unused defines

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpdec_mpeg4: Cosmetic cleanup
Martin Storsjö [Tue, 11 Dec 2012 19:42:32 +0000 (21:42 +0200)]
rtpdec_mpeg4: Cosmetic cleanup

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpdec: Cosmetic cleanup of the header
Martin Storsjö [Tue, 11 Dec 2012 18:23:50 +0000 (20:23 +0200)]
rtpdec: Cosmetic cleanup of the header

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpdec: Get rid of a useless _s suffix on a struct name
Martin Storsjö [Tue, 11 Dec 2012 16:24:46 +0000 (18:24 +0200)]
rtpdec: Get rid of a useless _s suffix on a struct name

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpdec/enc: Remove outdated/useless/misleading comments
Martin Storsjö [Tue, 11 Dec 2012 16:50:10 +0000 (18:50 +0200)]
rtpdec/enc: Remove outdated/useless/misleading comments

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpdec: Improve some comments
Martin Storsjö [Tue, 11 Dec 2012 17:57:18 +0000 (19:57 +0200)]
rtpdec: Improve some comments

The previous comment about the buffer was wildly inaccurate and

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpdec: Remove unused context variables
Martin Storsjö [Tue, 11 Dec 2012 17:35:03 +0000 (19:35 +0200)]
rtpdec: Remove unused context variables

These stem from back when both the rtp muxer and rtp depacketizing
shared the same struct.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpdec: Limit writing to the buffer size
Martin Storsjö [Tue, 11 Dec 2012 16:58:59 +0000 (18:58 +0200)]
rtpdec: Limit writing to the buffer size

This fixes potential buffer overwrites.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agosvq1: Fix building with -DDEBUG
Martin Storsjö [Wed, 12 Dec 2012 09:27:03 +0000 (11:27 +0200)]
svq1: Fix building with -DDEBUG

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agosvq1: return meaningful error codes.
Anton Khirnov [Sat, 8 Dec 2012 09:11:13 +0000 (10:11 +0100)]
svq1: return meaningful error codes.

8 years agolavc: replace some forgotten instances of PixelFormat with AVPixelFormat
Anton Khirnov [Sat, 8 Dec 2012 09:04:56 +0000 (10:04 +0100)]
lavc: replace some forgotten instances of PixelFormat with AVPixelFormat

8 years agosvq1: unmacroify macros used only once.
Anton Khirnov [Fri, 7 Dec 2012 18:58:20 +0000 (19:58 +0100)]
svq1: unmacroify macros used only once.

8 years agosvq1: deMpegEncContextize
Anton Khirnov [Fri, 7 Dec 2012 16:10:01 +0000 (17:10 +0100)]
svq1: deMpegEncContextize

This decoder is quite simple and none of the MpegEncContext complexity
is actually needed.

8 years agolavr: fix segfault due to overlooked change needed in 14758e3
Justin Ruggles [Tue, 11 Dec 2012 20:56:17 +0000 (15:56 -0500)]
lavr: fix segfault due to overlooked change needed in 14758e3

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agox86inc: support stack mem allocation and re-alignment in PROLOGUE
Ronald S. Bultje [Sun, 9 Dec 2012 00:12:38 +0000 (16:12 -0800)]
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>
8 years agolavr: temporarily store custom matrix in AVAudioResampleContext
Justin Ruggles [Thu, 29 Nov 2012 19:53:04 +0000 (14:53 -0500)]
lavr: temporarily store custom matrix in AVAudioResampleContext

This allows AudioMix to be treated the same way as other conversion contexts
and removes the requirement to allocate it at the same time as the

The current matrix get/set functions are split between the public interface
and AudioMix private functions.

8 years agolavr: clarify documentation for avresample_get/set_matrix()
Justin Ruggles [Thu, 29 Nov 2012 19:59:19 +0000 (14:59 -0500)]
lavr: clarify documentation for avresample_get/set_matrix()

8 years agoswfdec: cosmetics: fix indentation
Justin Ruggles [Mon, 10 Dec 2012 17:48:18 +0000 (12:48 -0500)]
swfdec: cosmetics: fix indentation

8 years agoswfdec: do better validation of tag length
Justin Ruggles [Mon, 10 Dec 2012 17:44:09 +0000 (12:44 -0500)]
swfdec: do better validation of tag length

Avoids trying to read a packet with 0 or negative size.
Avoids a potential infinite loop due to seeking backwards.

Partially based on a patch by Michael Niedermayer.

8 years agoMake LOCAL_ALIGNED syntactically similar on all systems
Mans Rullgard [Fri, 7 Dec 2012 23:03:01 +0000 (23:03 +0000)]
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>
8 years agobuild: fix 'clean' target
Mans Rullgard [Mon, 10 Dec 2012 14:55:28 +0000 (14:55 +0000)]
build: fix 'clean' target

This fixes removal of TOOLS as well as HOSTPROGS declared in the
top-level Makefile.  The clean target in common.mak needs to be
eval'd since the variables used within are reset for each library.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoZeroCodec: Flip output
Carl Eugen Hoyos [Sun, 9 Dec 2012 09:24:16 +0000 (10:24 +0100)]
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>
8 years agortpdec: Remove an outdated todo comment
Martin Storsjö [Sun, 9 Dec 2012 19:00:12 +0000 (21:00 +0200)]
rtpdec: Remove an outdated todo comment

This comment was added in e309128f, in 2002, and has been brought
along since then more or less unmodified.

The first point of the todo was implemented in dbf30963 in 2006,
the second one is not relevant to rtpdec.c (brought along from
rtp.c in 8eb793c4 in 2008) but would be more relevant to the
rtp muxer, although it isn't a good idea anyway.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpdec: Rename a static variable to normal naming conventions
Martin Storsjö [Sun, 9 Dec 2012 18:45:27 +0000 (20:45 +0200)]
rtpdec: Rename a static variable to normal naming conventions

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agosh4: dsputil: remove duplicate of ff_gmc_c()
Mans Rullgard [Sun, 9 Dec 2012 20:39:42 +0000 (20:39 +0000)]
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>
8 years agodsputil: remove unused macro WRAPPER8_16
Mans Rullgard [Sun, 9 Dec 2012 13:28:44 +0000 (13:28 +0000)]
dsputil: remove unused macro WRAPPER8_16

This macro has never been used.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: fix automatic processing of _extralibs in check_deps
Mans Rullgard [Sun, 9 Dec 2012 17:34:14 +0000 (17:34 +0000)]
configure: fix automatic processing of _extralibs in check_deps

This fixes the automatic use of $foo_extralibs when feature foo
is enabled indirectly through a _select or _suggest.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agolibvpxenc: Support forcing keyframes
Martin Storsjö [Wed, 5 Dec 2012 15:17:20 +0000 (17:17 +0200)]
libvpxenc: Support forcing keyframes

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoac3dec: decode directly into output buffers
Mans Rullgard [Thu, 13 Sep 2012 18:40:03 +0000 (19:40 +0100)]
ac3dec: decode directly into output buffers

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoac3dec: make downmix() take array of pointers to channel data
Mans Rullgard [Thu, 13 Sep 2012 18:35:18 +0000 (19:35 +0100)]
ac3dec: make downmix() take array of pointers to channel data

8 years agoac3dec: output planar float only
Mans Rullgard [Tue, 11 Sep 2012 16:25:05 +0000 (17:25 +0100)]
ac3dec: output planar float only

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agosvq3: make slice type value unsigned to match svq3_get_ue_golomb return type
Janne Grunau [Sat, 8 Dec 2012 12:36:28 +0000 (13:36 +0100)]
svq3: make slice type value unsigned to match svq3_get_ue_golomb return type

8 years agoconfigure: Have protocols select network code instead of depending on it
Diego Biurrun [Fri, 7 Dec 2012 14:03:40 +0000 (15:03 +0100)]
configure: Have protocols select network code instead of depending on it

8 years agortpdec: K&R formatting and spelling cosmetics
Martin Storsjö [Fri, 7 Dec 2012 13:50:17 +0000 (15:50 +0200)]
rtpdec: K&R formatting and spelling cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years agocosmetics: Fix dropable --> droppable typo
Diego Biurrun [Fri, 7 Dec 2012 09:25:27 +0000 (10:25 +0100)]
cosmetics: Fix dropable --> droppable typo

8 years agoavio: K&R cosmetic formatting
Luca Barbato [Sun, 9 Dec 2012 03:15:45 +0000 (04:15 +0100)]
avio: K&R cosmetic formatting

8 years agolavf: fix arithmetic overflows in avformat_seek_file()
Mans Rullgard [Fri, 7 Dec 2012 13:53:56 +0000 (13:53 +0000)]
lavf: fix arithmetic overflows in avformat_seek_file()

The values compared here can be more than INT64_MAX apart.  Since the
difference is always positive, converting to uint64_t before subtracting
gives the correct result without overflows.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agomjpeg: initialize input padding after unescaped buffer to zero
Janne Grunau [Sat, 8 Dec 2012 15:20:18 +0000 (16:20 +0100)]
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

8 years agoimg2: document the options available
Luca Barbato [Sat, 8 Dec 2012 04:49:37 +0000 (05:49 +0100)]
img2: document the options available

8 years agohls: improve options description
Luca Barbato [Sat, 8 Dec 2012 05:14:41 +0000 (06:14 +0100)]
hls: improve options description

8 years agohls: use a meaningful long name
Luca Barbato [Sat, 8 Dec 2012 05:00:46 +0000 (06:00 +0100)]
hls: use a meaningful long name

8 years agohls: add start_number option
Luca Barbato [Sat, 8 Dec 2012 04:32:00 +0000 (05:32 +0100)]
hls: add start_number option

8 years agoh264: check for invalid zeros_left before writing
Ronald S. Bultje [Fri, 7 Dec 2012 21:09:20 +0000 (13:09 -0800)]
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>
8 years agogolomb: use unsigned arithmetics in svq3_get_ue_golomb()
Janne Grunau [Fri, 30 Nov 2012 14:00:47 +0000 (15:00 +0100)]
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.

8 years agox86: float_dsp: fix loading of the len parameter on x86-32
Justin Ruggles [Wed, 5 Dec 2012 17:51:34 +0000 (12:51 -0500)]
x86: float_dsp: fix loading of the len parameter on x86-32

8 years agotakdec: fix initialisation of LOCAL_ALIGNED array
Josh Allmann [Fri, 7 Dec 2012 23:00:30 +0000 (00:00 +0100)]
takdec: fix initialisation of LOCAL_ALIGNED array

When LOCAL_ALIGNED uses manual alignment initialisation is not

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
8 years agotakdec: fix initialisation of LOCAL_ALIGNED array
Mans Rullgard [Fri, 7 Dec 2012 22:13:57 +0000 (22:13 +0000)]
takdec: fix initialisation of LOCAL_ALIGNED array

When LOCAL_ALIGNED uses manual alignment initialisation is not

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agotak: demuxer, parser, and decoder
Paul B Mahol [Tue, 2 Oct 2012 13:43:19 +0000 (13:43 +0000)]
tak: demuxer, parser, and decoder

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoparser: fix large overreads
Michael Niedermayer [Wed, 3 Oct 2012 14:06:23 +0000 (16:06 +0200)]
parser: fix large overreads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agobitstream: add get_bits64() to support reading more than 32 bits at once
Michael Niedermayer [Sun, 30 Sep 2012 00:39:55 +0000 (02:39 +0200)]
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>
8 years agoarm: detect cpu features at runtime on Linux
Mans Rullgard [Wed, 5 Dec 2012 02:11:22 +0000 (02:11 +0000)]
arm: detect cpu features at runtime on Linux

This allows compiling optimised functions for features not enabled
in the core build and selecting these at runtime if the system has
the necessary support.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoarm: rename ARMVFP config symbol to VFP
Mans Rullgard [Tue, 4 Dec 2012 23:29:34 +0000 (23:29 +0000)]
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>
8 years agoconfigure: arm: make _inline arch ext symbols depend on inline_asm
Mans Rullgard [Mon, 3 Dec 2012 01:36:49 +0000 (01:36 +0000)]
configure: arm: make _inline arch ext symbols depend on inline_asm

This makes --disable-inline-asm work as expected.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoarm: use HAVE*_INLINE/EXTERNAL macros for conditional compilation
Mans Rullgard [Sat, 1 Dec 2012 16:41:39 +0000 (16:41 +0000)]
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>
8 years agoconfigure: arm: check inline and external asm support for extensions
Mans Rullgard [Sat, 1 Dec 2012 15:19:10 +0000 (15:19 +0000)]
configure: arm: check inline and external asm support for extensions

This tests instruction set support in both inline and external asm.
If both fail, the base config option is disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: add check_insn function
Mans Rullgard [Sat, 1 Dec 2012 15:06:56 +0000 (15:06 +0000)]
configure: add check_insn function

The check_insn function tests an instruction in both inline asm and
standalone assembly, and sets _external/_inline config properties

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: clean up check_inline_asm and check_as functions
Mans Rullgard [Sat, 1 Dec 2012 13:19:05 +0000 (13:19 +0000)]
configure: clean up check_inline_asm and check_as functions

The check_inline_asm function should check the actual C compiler,
not the one used for assembly files.  Usually these are the same,
but they might be different, typically when using a compiler other
than gcc.

The check_as should, as its name suggests, test the type of input
the AS command is used with, i.e. a standalond assembly (.S) file.

Finally, check for gnu assembler using the modified check_as as
this reflects actual usage.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: arm: set fast_clz and fast_unaligned in cpuflags section
Mans Rullgard [Mon, 3 Dec 2012 21:47:17 +0000 (21:47 +0000)]
configure: arm: set fast_clz and fast_unaligned in cpuflags section

These are properties of the targeted core and do not depend on
specific assembly support in the toolchain which if missing will
render the controlling options here disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: arm: detect toolchain default arch version
Mans Rullgard [Fri, 30 Nov 2012 21:14:25 +0000 (21:14 +0000)]
configure: arm: detect toolchain default arch version

Probe for the toolchain default architecture version if no --cpu flag
is present or an unknown cpu is specified.  Works with gcc, clang and

This allows configuring based on the arch version even if it is not
explicitly specified to configure.  It also causes an explicit -march
flag to be added to CFLAGS and ASFLAGS, which in turn lets us do
proper instruction set tests with the assembler.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: do not bypass cpuflags section if --cpu not given
Mans Rullgard [Mon, 3 Dec 2012 19:21:42 +0000 (19:21 +0000)]
configure: do not bypass cpuflags section if --cpu not given

This will allow arch-specific ways of determining the target
variant when none is specified on the command line.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agodct-test: arm: indicate required cpu features for optimised funcs
Mans Rullgard [Sat, 1 Dec 2012 23:08:41 +0000 (23:08 +0000)]
dct-test: arm: indicate required cpu features for optimised funcs

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agosnow: fix build after 594d4d5df3c70404168701dd5c90b7e6e5587793
Anton Khirnov [Wed, 5 Dec 2012 05:34:02 +0000 (06:34 +0100)]
snow: fix build after 594d4d5df3c70404168701dd5c90b7e6e5587793

8 years agoarm: fix use of uninitialised value in ff_fft_fixed_init_arm()
Mans Rullgard [Thu, 6 Dec 2012 23:51:01 +0000 (23:51 +0000)]
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>
8 years agoavpicture: Don't assume a valid pix fmt in avpicture_get_size
Martin Storsjö [Thu, 6 Dec 2012 21:42:36 +0000 (23:42 +0200)]
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>
8 years agoh264: add a pointer for weighted prediction temporary buffer
Janne Grunau [Tue, 27 Nov 2012 18:12:45 +0000 (19:12 +0100)]
h264: add a pointer for weighted prediction temporary buffer

Reusing MpegEncContext's obmc_scratchpad for this becomes a mess with
adaptive frame-mt.

8 years agoh264: check sps.log2_max_frame_num for validity
Janne Grunau [Sun, 25 Nov 2012 11:56:04 +0000 (12:56 +0100)]
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
8 years agomov: validate number of DataReferenceBox entries against box size
Janne Grunau [Mon, 26 Nov 2012 21:18:31 +0000 (22:18 +0100)]
mov: validate number of DataReferenceBox entries against box size

Avoids a 2G memory allocation and parsing of random data in
mov_read_dref(). The fuzzed sample sample.mp4_s224424 triggers this.

8 years agomov: compute avg_frame_rate only if duration is known
Janne Grunau [Fri, 23 Nov 2012 15:33:36 +0000 (16:33 +0100)]
mov: compute avg_frame_rate only if duration is known

Fixes an assert in fuzzed sample sample.mp4_s265930.

8 years agoflac: change minimum and default of lpc_passes option to 1
Janne Grunau [Fri, 7 Dec 2012 00:21:06 +0000 (01:21 +0100)]
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.

8 years agofate: dpcm: Add dependencies
Diego Biurrun [Wed, 28 Nov 2012 18:34:17 +0000 (19:34 +0100)]
fate: dpcm: Add dependencies