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.
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.
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
AVAudioResampleContext.
The current matrix get/set functions are split between the public interface
and AudioMix private functions.
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.
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.
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.
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.
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.
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.
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.
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.
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
armcc.
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.
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.
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.
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.
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.