* qatar/master:
configure: enable pic for shared libs on AArch64
zmbv: Reset the decoder on keyframe errors
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is a port of virtual dub's histogram equalization filter by Donald
A. Graft. Based on the work by Jérémy Tran <tran.jeremy.av@gmail.com>,
done for SOCIS 2012.
This is a port of the kerndeint filter (libmpcodecs/vf_kerndeint) by
Donal A. Graft (original avisynth plugin author), and is based on the
work by Jérémy Tran <tran.jeremy.av@gmail.com> done for SOCIS 2012.
Also fixes linking in various configs with only individual parts enabled
because the RTP muxer chaining code depends on the general RTP code,
which is now accounted for.
Ported from MPlayer. Original author is A'rpi, with various
contributions from Michael Niedermayer. The original documentation was
mostly written by Diego Biurrun. See the MPlayer history for full
credits.
The filter is under GPL like the original filter, even if it differs
quite a lot. There is not much point in making it LGPL since pp is under
GPL.
Beginning with version 1.5.1 openjpeg defaults to install its headers to
/usr/include/openjpeg-${major}.${minor} instead of /usr/include without
providing a compatibility symlink making the old test fail.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
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>
* qatar/master:
configure: formatting cosmetics
h264: use mbaff ref indices in fill_colmap() only for mbaff references
Conflicts:
libavcodec/h264_direct.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b8f3ab8e6a7ce3627764da53b809628c828d4047':
ac3dec: output planar float only
svq3: make slice type value unsigned to match svq3_get_ue_golomb return type
configure: Have protocols select network code instead of depending on it
Conflicts:
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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>
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>
* commit '096abfa15052977eed93f0b5e01afd2d47c53c1f':
parser: fix large overreads
bitstream: add get_bits64() to support reading more than 32 bits at once
arm: detect cpu features at runtime on Linux
Conflicts:
libavcodec/parser.c
libavformat/mpegts.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7f2b3dcabd108926bde819ad574017f4161d1546':
configure: arm: check inline and external asm support for extensions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c6ebc9faa2210d7f36a3036c357f6f199520f575':
configure: add check_insn function
configure: clean up check_inline_asm and check_as functions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f0fe245bc31cf4fa3b3ed0240cd1ab6f0d5043ea':
configure: arm: set fast_clz and fast_unaligned in cpuflags section
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9ebd45c2d58ad9241ad09718679f0cf7fb57da52':
configure: do not bypass cpuflags section if --cpu not given
dct-test: arm: indicate required cpu features for optimised funcs
snow: fix build after 594d4d5df3
arm: fix use of uninitialised value in ff_fft_fixed_init_arm()
avpicture: Don't assume a valid pix fmt in avpicture_get_size
Conflicts:
libavcodec/avpicture.c
libavcodec/snow.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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>
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>
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>
The check_insn function tests an instruction in both inline asm and
standalone assembly, and sets _external/_inline config properties
accordingly.
Signed-off-by: Mans Rullgard <mans@mansr.com>
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>
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.
Signed-off-by: Mans Rullgard <mans@mansr.com>
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>
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>
* qatar/master:
ppc: always use pic for shared libraries
build: cosmetics: Move CONFIG_RTPDEC entry to a more suitable place
fate: ea, h264: prettyprinting and ordering cosmetics
Conflicts:
tests/fate/ea.mak
tests/fate/h264.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The detection detects the default but not if it even works.
Check building a simple piece of code and disable thumb if it fails
This fixes a compile failure
If someone has a better idea, just replace this by it!
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: Strip ordinals from mingw generated def files
configure: arm: detect default thumb state of compiler
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The def files are used for generating import libraries for
other toolchains (in particular, for generating import libraries
for MSVC for DLLs built with mingw).
The def files produced by mingw/gcc contains ordinals for each
exported function. When MSVC tools generate import libraries
from such a def file, MSVC links to the DLL by the ordinals
instead of linking by name.
Since the def files aren't maintained by hand, the ordinal
numbers are assigned (more or less) randomly and any caller
linking to the libs by ordinals will break as soon as the libraries
export more/fewer functions.
Therefore, strip out the ordinals from the generated def files,
to make users link to the libraries by name.
Callers linking to the DLLs using the gcc provided import library
link by name as they should.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
fate: fft: Fix libavcodec dependency
build: Make the ISMV muxer select the MOV muxer
configure: move arm arch extensions to a separate variable
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: Use headers in the check for _beginthreadex for w32threads
avutil: Use a configure check to enable windows console functions
avutil: Include io.h with a separate condition from windows console functions
Conflicts:
libavutil/log.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
When targeting the metro API subset, this function still exists in
the link libraries, but is excluded from the headers. This makes
sure w32threads is automatically disabled when targeting this API
subset (since not all the necessary functions for it are available).
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
avutil: Include io.h with a separate condition from MapViewOfFile
cmdutils: Use a configure check for enabling CommandLineToArgvW
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This simplifies the condition to avoid hardcoding the systems
where the function exists. This also simplifies support for
newer Windows API subsets where this function doesn't exist,
such as Windows Phone 8 and the "metro" API subset of Windows 8.
Signed-off-by: Martin Storsjö <martin@martin.st>
This makes sure minimal configurations such as
"--disable-everything --enable-avconv" will enable the filters
necessary for running avconv, instead of just keeping avconv
disabled (even if the user specified "--enable-avconv").
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '3c370f5abc55739a261534b9f9bdc739cedbbbb9':
riff: only warn on a bad INFO chunk code size instead of failing
configure: Add separate list for libraries and use where appropriate
x86: float_dsp: add SSE version of vector_fmul_scalar()
Conflicts:
configure
libavformat/riff.c
libavutil/x86/float_dsp.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
GCC does not appear to have a -march= string for Westmere, which is a
bit surprising as it has a few more instructions than a Nehalem, but
a few less than a Sandy Bridge.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
This is useful for debugging. Dependencies for these files are not
generated due to limitations in many compilers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit '1c5805521c3e406886341d752ebf38f8d41e1d13':
PGS subtitles: Set AVSubtitle pts value
configure: Refactor CPPFLAGS settings for glibc/uclibc
configure: add basic support for ARM AArch64
build: set -U__STRICT_ANSI__ for newlib
Conflicts:
configure
libavcodec/pgssubdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
x86: lavr: fix stack allocation for 7 and 8 channel downmixing on x86-32
lavr: fix the decision for writing directly to the output buffer
parisc: work around bug in gcc 4.3 and later
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is (erroneously) required to enable various things in the
newlib headers. As cygwin uses newlib, it is covered by this.
Signed-off-by: Mans Rullgard <mans@mansr.com>
A bug in tail call optimisation in gcc 4.3 and later on parisc causes
numerous tests to fail. Disabling this optimisation gives a working
build. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55023
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit 'bf5f46b4cc47b7a4568119f224057d4ff91b6cdd':
APIChanges: add entry for av_read_packet deprecation
mxfdec: fix typo in mxf_read_seek()
avserver: use freopen to redirect stdin/out/err to /dev/null
avserver: remove daemon mode
configure: Check for -Werror parameters on clang
doxygen: remove obsolete options from Doxyfile
configure: Add option to disable all command line programs
Conflicts:
Changelog
configure
doc/APIchanges
doc/ffserver.conf
doc/ffserver.texi
ffserver.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3b4296f41473a5b39e84d7a49d480624c9c60040':
avformat: clarify stream id for muxing
fate: Add dependencies for aac, alac, amrnb, amrwb, atrac tests
ppc: do not pass redundant compiler flags
avutil: change GET_UTF8 to not use av_log2()
segment: fix NULL pointer dereference in seg_write_header()
Conflicts:
tests/fate/aac.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The -mpowerpc64 and -mpowerpc-gfxopt flags are implicitly set by
-mcpu as needed. Passing them explicitly is redundant and can
conflict with user-supplied flags.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit 'ef1b23ad21e3f12fc4ff2a73a6d4d4cd9d630c4b': (21 commits)
jvdec: set channel layout
iss: set channel layout
ipmovie: set channel layout
iff: set channel layout
idroqdec: set channel layout
gxfdec: set channel layout when applicable
gsmdec: set channel layout
flvdec: set channel layout
dv: set channel layout
dsicin: set channel layout
daud: set channel layout
cdxl: set channel layout
bmv: set channel layout
bink: set channel layout
bfi: set channel layout
bethsoftvid: set channel layout
apc: set channel layout
amr: set channel_layout
ppc: replace pointer casting with AV_COPY32
ppc: fix some unused variable warnings
...
Conflicts:
libavformat/amr.c
libavformat/iff.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
All modern assemblers have this capability. Older NASM versions
that lack the capability produce code that crashes at runtime,
so it's better to error out during the build process instead.
CC: libav-stable@libav.org
Do not quote second argument to filter{,_out} in check_ld. We want to keep/remove all the space-separated words matching the -l* pattern, not keep everything if the whole argument begins with -l and remove it otherwise.
This also fixes errors like:
./configure: eval: line 418: syntax error near unexpected token `-l*'
./configure: eval: line 418: `case in -l*) ;; *) echo ;; esac'
when run with ./configure --enable-openal
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Some awk versions do not treat the result of unary + on a (numeric)
string as numeric, giving wrong results when used in a boolean context
Using unary - instead is logically equivalent works as expected.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
pixfmt: support more yuva formats
swscale: support gray to 9bit and 10bit formats
configure: rewrite print_config() function using awk
FATE: fix (AD)PCM test dependencies broken in e519990
Use ptrdiff_t instead of int for intra pred "stride" function parameter.
x86: use PRED4x4/8x8/8x8L/16x16 macros to declare intrapred prototypes.
Conflicts:
libavcodec/h264pred.c
libavcodec/h264pred_template.c
libavutil/pixfmt.h
libswscale/swscale_unscaled.c
tests/ref/lavfi/pixdesc
tests/ref/lavfi/pixfmts_copy
tests/ref/lavfi/pixfmts_null
tests/ref/lavfi/pixfmts_scale
tests/ref/lavfi/pixfmts_vflip
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '14f031d7ecfabba0ef02776d4516aa3dcb7c40d8':
dv: use AVStream.index instead of abusing AVStream.id
lavfi: add ashowinfo filter
avcodec: Add a RFC 3389 comfort noise codec
lpc: Add a function for calculating reflection coefficients from samples
lpc: Add a function for calculating reflection coefficients from autocorrelation coefficients
lavr: document upper bound on number of output samples.
lavr: add general API usage doxy
indeo3: remove duplicate capabilities line.
fate: ac3: Add dependencies
Conflicts:
Changelog
doc/filters.texi
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/codec_desc.c
libavcodec/version.h
libavfilter/Makefile
libavfilter/af_ashowinfo.c
libavfilter/allfilters.c
libavfilter/version.h
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some awk versions do not treat the result of unary + on a (numeric)
string as numeric, giving wrong results when used in a boolean context
Using unary - instead is logically equivalent works as expected.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This isn't too useful as a normal codec, but can be used in
voip style applications. The decoder updates the noise
generator parameters when a packet is given to it for decoding,
but if called with an empty packet, it generates more noise
according to the last parameters.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
configure: fix tests for 2-arg math functions
doc: git-howto: Clarify comment about pushing series of commits
ivi_common: Drop unused function parameter from decode_band()
cook: Remove some silly Doxygen comments
cook: Remove senseless maybe_reformat_buffer32() function
cook: cosmetics: Better names for joint_decode() function parameters
cook: cosmetics: Better name for ccpl COOKSubpacket member
doxygen: Add av_alloc_size to list of predefined macros
doxygen: Drop some pointless entries from PREDEFINED macros list
h263: avoid memcpys over array bound in motion vector caching for obmc
Conflicts:
configure
doc/git-howto.texi
libavcodec/cook.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: sanitise sparc vis check
configure: recognise more sparc variants as --cpu argument
build: Include HEADERS-yes in the HEADERS variable
pcm: change references to raw to pcm
ffv1: set the range coder state in decode_slice_header
pcmdec: change default of channels parameter to 1
Conflicts:
libavformat/pcmdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0c03cc68386443f1e96ab6fb358220faf67cd5ff':
mp3: exit on parsing error in mp_decode_frame
rtmppkt: Avoid unescaped backslash in Doxygen comment
fate-lavfi: replace sed/grep/cut combos with awk
build: Plan 9 support
Conflicts:
configure
tests/lavfi-regression.sh
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '80521c1997a23e148edf89e11b939ab8646297ca':
build: allow targets to specify extra objects to link with executables
swscale: avoid pointless use of compound literals
libm: add fallbacks for various single-precision functions
network: use getservbyport() only if available
network: add fallbacks for INADDR_LOOPBACK and INET_ADDRSTRLEN
Include sys/time.h before sys/resource.h
Conflicts:
Makefile
configure
libavutil/libm.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This adds support for building on Plan 9 x86-32. The compat/plan9
directory contains these items:
- replacements for the 'head' and 'printf' shell commands
- wrapper for main() to disable FPU exceptions
Larger required changes to the system are described in the
documentation.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This allows targets to include special objects when linking
executables without including them in (shared) libraries.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The absence of this function will only give a less informative
string back from our fallback implementation of getnameinfo().
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
configure: Group math functions into a separate variable
avutil/mem: K&R formatting cosmetics
avutil/lzo: K&R formatting cosmetics
Conflicts:
configure
libavutil/mem.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '1cd432e167b1a80853760c89a33606e2b5f229c2':
configure: fix libcdio check
rtsp: Allow setting the reordering buffer size via an AVOption
rtsp: Vertically align a constant definition
rtp: Update the check for distinguishing between RTP and RTCP
aac: fix build with hardcoded tables
fate: dependencies for screen codec tests
riff: Move functions around to be covered by appropriate #ifdefs
Conflicts:
configure
tests/fate/screen.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c0329748b04e1f175dad8c9c2ebf22a5e2dc5b72':
fate: add a dependency helper macro
Add support for building shared libraries with MSVC
avcodec: Rename avpriv_frame_rate_tab to ff_mpeg12_frame_rate_tab
gxf: Add a local copy of the relevant parts of the frame rate table
configure: Split out msvc as a separate target OS
aviobuf: Remove a senseless ifdef in avio_seek
Conflicts:
configure
libavcodec/dirac.c
libavcodec/mpeg12data.h
libavcodec/mpeg12enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This requires the makedef perl script by Derek, from the
c89-to-c99 repo. That scripts produces a .def file, listing
the symbols to be exported, based on the gcc version scripts
and the built object files.
To properly load non-function symbols from DLL files, the
data symbol declarations need to have the attribute
__declspec(dllimport) when building the calling code. (On mingw,
the linker can fix this up automatically, which is why it has not
been an issue so far. If this attribute is omitted, linking
actually succeeds, but reads from the table will not produce the
desired results at runtime.)
MSVC seems to manage to link DLLs (and run properly) even if
this attribute is present while building the library itself
(which normally isn't recommended) - other object files in the
same library manage to link to the symbol (with a small warning
at link time, like "warning LNK4049: locally defined symbol
_avpriv_mpa_bitrate_tab imported" - it doesn't seem to be possible
to squelch this warning), and the definition of the tables
themselves produce a warning that can be squelched ("warning C4273:
'avpriv_mpa_bitrate_tab' : inconsistent dll linkage, see previous
definition of 'avpriv_mpa_bitrate_tab').
In this setup, mingw isn't able to link object files that refer to
data symbols with __declspec(dllimport) without those symbols
actually being linked via a DLL (linking avcodec.dll ends up with
errors like "undefined reference to `__imp__avpriv_mpa_freq_tab'").
The dllimport declspec isn't needed at all in mingw, so we simply
choose not to declare it for other compilers than MSVC that requires
it. (If ICL support later requires it, the condition can be extended
later to include both of them.)
This also implies that code that is built to link to a certain
library as a DLL can't link to the same library as a static library.
Therefore, we only allow building either static or shared but not
both at the same time. (That is, static libraries as such can be,
and actually are, built - this is used for linking the test tools to
internal symbols in the libraries - but e.g. libavformat built to
link to libavcodec as a DLL cannot link statically to libavcodec.)
Also, linking to DLLs is slightly different from linking to shared
libraries on other platforms. DLLs use a thing called import
libraries, which is basically a stub library allowing the linker
to know which symbols exist in the DLL and what name the DLL will
have at runtime.
In mingw/gcc, the import library is usually named libfoo.dll.a,
which goes next to a static library named libfoo.a. This allows
gcc to pick the dynamic one, if available, from the normal -lfoo
switches, just as it does for libfoo.a vs libfoo.so on Unix. On
MSVC however, you need to literally specify the name of the import
library instead of the static library.
Signed-off-by: Martin Storsjö <martin@martin.st>
The name mingw32 as target OS is both misleading, and very little
of the target OS specific settings actually match.
Since the target OS default is set based on uname, the default
(which on MSYS is set to mingw) is overridden by --toolchain=msvc.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
mips64: mark hi/lo registers clobbered in MAC64/MLS64 macros
fate: list lavfi tests in a makefile
Conflicts:
configure
tests/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '36ac9a16a19a365ce58cc871484c20cffe9b6401':
fate: dependencies for seek tests
fate: handle lavf test dependencies entirely in make
Conflicts:
configure
tests/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This fixes the following error:
./configure: eval: line 417: syntax error near unexpected token `-lcdio_cdda'
[...]
Broken by 66a1ccd74 when doing, e.g., ./configure --enable-gpl --enable-libcdio.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: Add support for Tilera processors
wavdec: check size before reading the data, not after.
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c1fcfdec75468009dc7de29a5d1c6adf3b2ef77d':
rangecoder-test: Return in case of an error
build: simplify enabling of compat objects
Conflicts:
configure
libavutil/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '4c995fafd861f537360b3717901cdbed6a6844e7':
configure: simplify get_version() function
build: support asan and tsan toolchain shortcuts
rmdec: Move SIPR code shared with Matroska demuxer to a separate file
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Add a configure function to pull in a compat object and set up
redirects in one operation. This avoids duplicating conditions
across configure and makefiles.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
swscale: try to use mmap only if available
configure: check for mprotect
wmapro: use planar sample format
wmalossless: output in planar sample format
wmadec: use float planar sample format output
shorten: use planar sample format
lavc: update documentation for AVFrame.extended_data
Conflicts:
libavcodec/shorten.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b5198a2637b7b45b0049a1d4b386a06f016f2520':
configure: tms470: add mapping for -mfpu=vfpv3-d16 flag
configure: recognise Minix as OS
configure: work around bug in ash shell
eval-test: make table static const
lavr: handle clipping in the float to s32 conversion
nut: support pcm codecs not mapped in avi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The glibc definitions of INFINITY and NAN do not work with the
tms470 compiler, nor do our usual fallbacks.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Apply flags to work around glibc quirks only if glibc is detected,
and add a few more such flags.
Do not mess with as/ld settings in probe_cc. This is not the
proper place.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit 'f5962229bfcb14c2879e69ccdf7f1a4934168609':
avplay: use audio parameters from the decoded frame instead of AVCodecContext
dca: allocate a secondary buffer for extra channels when downmixing
configure: use utilities from /usr/xpg4/bin if it exists
avstring-test: fix memory leaks
Conflicts:
ffplay.c
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Solaris defaults to non-standard utilities (grep, sed, ...) with
proper ones being in /usr/xpg4/bin. Prefixing PATH with this
directory when it exists ensures we get correct variants.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit 'b7f1010c8fce09096057528f7cd29589ea1ae7df':
tools: do not use av_pix_fmt_descriptors directly.
pixdesc: add functions for accessing pixel format descriptors.
build: add support for Tru64 (OSF/1)
md5: Allocate a normal private context for the opaque md5 context pointer
Conflicts:
cmdutils.c
doc/APIchanges
ffprobe.c
libavformat/md5enc.c
libavutil/version.h
tools/graph2dot.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0a75d1da23b8659ec49391469bb592da12760077':
options_table: refs option is not snow-only
random_seed: Support using CryptGenRandom on windows
doc: update the faq entry about custom I/O
Conflicts:
doc/faq.texi
libavcodec/options_table.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This reverts commit 396648cc6a.
The commit made impossible to build against libflite if libasound is not
available (e.g. on Windows). Thus remove the -lasound flag. In case of
libflite static linking the workaround is to enable
--extra-ldflags=-lasound (or disable the ALSA output device in libflite).
* qatar/master:
mingw/cygwin: Stop adding -fno-common to gcc CFLAGS
Restructure av_log_missing_feature message
rtp: Support packetization/depacketization of opus
file: Set the return value type for lseek to int64_t.
ppc: fix Altivec build with old compilers
build: add LTO support for PGI compiler
build: add -Mdse to PGI optimisation flags
rtpenc_vp8: Update the packetizer to the latest spec version
rtpdec_vp8: Make the depacketizer implement the latest spec draft
doc: allow building with old texi2html versions
avutil: skip old_pix_fmts.h since it is just a list
Conflicts:
libavcodec/aacdec.c
libavcodec/h264.c
libavcodec/ppc/fmtconvert_altivec.c
libavcodec/utils.c
libavformat/file.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Enable dead store elimination. The last few releases work no worse
with this flag than without. Older versions failed to build some
source files when using this flag.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
yuv4mpeg: return proper error codes.
Give all anonymously typedeffed structs in headers a name
fate: Add parseutils test
parseutils-test: Drop random colors from parsing test
vf_pad/scale: use double precision for aspect ratios.
build: error on variable-length arrays
ppc: swscale: rework yuv2planeX_altivec()
ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec()
x86: dsputil: kill VLA in gmc_mmx()
libspeexenc: Updated commentary to reflect recent changes
libspeexenc: Add an option for enabling DTX
doc/APIchanges: fill in missing dates and hashes.
lavr: bump major to 1 and declare it stable.
lavr: change the type of the data buffers to uint8_t**.
lavc: deprecate the audio resampling API.
Conflicts:
cmdutils.h
configure
doc/APIchanges
ffplay.c
libavcodec/dwt.h
libavcodec/libspeexenc.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavformat/asf.h
tests/fate/libavutil.mak
tests/ref/fate/parseutils
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
h264: don't touch H264Context->ref_count[] during MB decoding
x86: get_cpu_flags: add necessary ifdefs around function body
x86: Drop CPU detection intrinsics
x86: Add YASM implementations of cpuid and xgetbv from x264
Conflicts:
configure
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '65d12900432ac880d764edbbd36818431484a76e':
configure: add --enable-lto option
x86: cpu: Break out test for cpuid capabilities into separate function
x86: ff_get_cpu_flags_x86(): Avoid a pointless variable indirection
build: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIO
segment: Add comments about calls that only are relevant for some muxers
segment: Add an option for omitting the first header and final trailer
Conflicts:
configure
libavcodec/Makefile
libavformat/segment.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Now that there is CPU detection in YASM, there will always be one of
inline or external assembly enabled, which obviates the need to fall
back on CPU detection through compiler intrinsics.
* commit '29abb04e73b0580ebe38703cadb988d26df6a76a':
libspeexdec: If the channel count is not valid, decode as stereo.
libspeexdec: improve setting of Speex mode and sample rate
libspeex: Add a private option for enabling VAD
xtea: Test inplace decryption
xtea: Fix CBC decryption when src==dst
xtea: Factorize testing into a separate function
configure: Refactor HAVE_ options available on the command line
avconv/avprobe: Add missing 'void' to exit_program() definition
Allow use of strncpy()
blowfish: Add more tests
blowfish: Fix CBC decryption with dst==src
blowfish: Factorize testing into a separate function
Conflicts:
configure
libavcodec/libspeexdec.c
libavutil/xtea.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
ARM: fix Thumb PIC on Apple
nut: add do {} while (0) to GET_V
tiffenc: Check av_malloc() results.
tiffenc: Simplify pixel format setup using AVPixFmtDescriptor.
Use atexit() instead of defining a custom exit_program() interface.
msvc: Fix detection of VFW & Avisynth required libs
Conflicts:
ffmpeg.c
ffmpeg_opt.c
ffplay.c
ffprobe.c
ffserver.c
libavcodec/tiffenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
All versions of MinGW-w64 prior to version 3, as well as
all versions of MinGW32 have broken implementations of
vsnprintf.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
with the exception of libpostproc runtime_cpudetect = no is not
supported thus having no as default really is quite odd, it results in
a libpostproc where HAVE_MMX* have very different meaning from the
rest of ffmpeg and it breaks any x86 cpu that doesnt support mmx2
because mmx2 is hardcoded as a result
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
libx264: add forgotten ;
matroskadec: fix a sanity check.
matroskadec: only return corrupt packets that actually contain data
lavf: zero data/size of the packet passed to read_packet().
ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code
ARM: align PIC offset pools to 4 bytes
ARM: swap source operands in some add instructions
configure: update tms470 detection for latest version
lavf probe: prevent codec probe with no data at all seen
motion_est: fix use of inline on extern functions
Conflicts:
libavcodec/motion_est_template.c
libavformat/matroskadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
v5.0 of the TI ARM compiler changes the version string.
This updates the detection to check for both the old and
the new strings.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit '581281e242609a222233a2e5538b89dfb88fb18e':
matroskadec: check realloc in lzo encoding
matroska: honor error_recognition on unknown doctypes
tiffdec: Add support for GRAY16LE.
tiffenc: Add support for little endian RGB48 and GRAY16
mpeg4: support frame parameter changes with frame-mt
mpegvideo: check ff_find_unused_picture() return value for errors
mpegvideo: release frame buffers before freeing them
configure: msvc: default to 'lib' as 'ar' tool
build: support some non-standard ar variants
Conflicts:
libavcodec/h263dec.c
libavcodec/mpegvideo.c
libavcodec/tiff.c
libavcodec/tiffenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '1b3439b3055b083df51d7f7838ecc6b3f708b15c':
mpegvideo: move frame size dependent memory management to separate functions
configure: add --toolchain option
configure: Make the smoothstreaming muxer enable the ismv muxer
smoothstreaming: Export the mp4 codec tags
mov: check for EOF in long lasting loops
avcodec: cleanup utils.c
binkaudio: remove unneeded GET_BITS_SAFE macro
binkaudio: use float sample format
binkaudio: use a different value for the coefficient scale for the DCT codec
Conflicts:
configure
libavcodec/mpegvideo.c
libavcodec/utils.c
libavformat/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
flvenc: silence bogus warning
configure: include flags in nm variable
alsdec: fix misplaced parentheses.
alsdec: check return values.
alsdec: fix number of decoded samples in first sub-block in BGMC mode.
alsdec: Fix out of ltp_gain_values read.
alsdec: Check that quantized parcor coeffs are within range.
alsdec: check opt_order.
Conflicts:
configure
libavcodec/alsdec.c
libavformat/flvenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This simplifies ensuring proper flags are used when the default
is overridden by the system or on the command line.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Some compilers are extra strict about register usage in main(),
disallowing ebp in inline asm there while allowing it elsewhere.
This change makes the test better reflect actual usage.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
os_support: Choose between direct.h and io.h using a configure check
os_support: Include io.h instead of direct.h on mingw32ce
x86: ac3dsp: Only refer to the ac3_downmix_sse symbol if it has been declared
swscale: Remove two bogus asserts
ac3: move ac3_downmix() from dsputil to ac3dsp
lavr/audio_mix_matrix: acknowledge the existence of LFE2.
mlp_parser: avoid mapping multiple disctinct TrueHD channels to the same Libav channel.
lavu/audioconvert: add a second low frequency channel.
Conflicts:
doc/APIchanges
libavcodec/ac3dsp.c
libavcodec/ac3dsp.h
libavcodec/mlp_parser.c
libavutil/audioconvert.c
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The headers on netbsd are not fully C99 compatible which leads to multiple
definitions of symbols in clang bit not with gcc.
AFAIK this has been fixed in netbsd trunk (didnt check though)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
utvideoenc: Add missing AV_ prefix to codec ID
avserver: Add missing #include for av_gettime()
configure: Only disable aligned stack on MSVC on 32 bit
configure: indentation cosmetics
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
rtpdec_jpeg: Add support for default quantizers
x86: dsputil: Move specific optimization settings out of global init function
avplay: get rid of ugly casts in the options table
avplay: fix prototypes for option callbacks.
flvdec: always set AVFMTCTX_NOHEADER.
file: Use a normal private context for storing the file descriptor
configure: Adjust the xgetbv instrinsic check
configure: Add --disable-inline-asm command line option
configure: Don't try to enable the log2 function on msvcrt
Conflicts:
configure
ffplay.c
libavcodec/x86/dsputil_mmx.c
libavformat/file.c
libavformat/flvdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The 64 bit cl.exe version 16.00.30319.01 crashes with an internal
compiler error on the current check (and thus deduces it isn't
supported, even if the actual usage in libavuil/x86/cpu.c works
fine), but by assigning the value from the intrinsic to a variable,
or returning it, it works fine.
This error is fixed in cl.exe version 16.00.40219.01.
Signed-off-by: Martin Storsjö <martin@martin.st>
Some msvcrt versions (the static 64 bit libc in MSVC 10) have
a log2 function, but there is no declaration for it in the headers.
Therefore, the normal configure check might find it, but it can fail
during build or at runtime, depending on whether implicit function
declarations are an error or not.
Therefore simply ignore this function on this platform.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
swscale: Provide the right alignment for external mmx asm
x86: Replace checks for CPU extensions and flags by convenience macros
configure: msvc: fix/simplify setting of flags for hostcc
x86: mlpdsp: mlp_filter_channel_x86 requires inline asm
Conflicts:
libavcodec/x86/fft_init.c
libavcodec/x86/h264_intrapred_init.c
libavcodec/x86/h264dsp_init.c
libavcodec/x86/mpegaudiodec.c
libavcodec/x86/proresdsp_init.c
libavutil/x86/float_dsp_init.c
libswscale/utils.c
libswscale/x86/swscale.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Rather than modify the mplayer filter sources, just disable
vf_mp if inline assembly is not available.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
It is included for the open/read/write/close functions. On
MSVC, where this header does not exist, the same functions
are provided by io.h, which is already included.
On windows, these functions are provided by io.h. Make sure
io.h is included if it exists, regardless of the setmode
function.
Signed-off-by: Martin Storsjö <martin@martin.st>
Conflicts:
configure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
mov_chan: Pass a separate AVIOContext for reading
af_asyncts: check return value from lavr when flushing.
mss2: simplify loop in decode_rle()
mss12: avoid unnecessary division in arith*_get_bit()
mss2: do not try to read too many palette entries
mpegvideo: set AVFrame fields to NULL after freeing the base memory
configure: Set the right cc_e flags for msvc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: Allow setting the ld parameter from the config file
x86: dsputil: Do not redundantly check for CPU caps before calling init funcs
configure: Disable some warnings in MSVC
x86: vp56: cmov version of vp56_rac_get_prob requires inline asm
avopt: fix examples to match the same style about default values as the actual code.
configure: Add support for MSVC cl.exe/link.exe
lavu: add snprintf(), vsnprint() and strtod() replacements for MS runtime.
Conflicts:
libavutil/opt.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This reverts commit ba53720280.
A better implementation has been commited by the same author to qatar
Conflicts:
configure
Found-by: jamal <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0db2d94280e260af5f3ad7993c5a6357462f17c9':
dsputil: workaround __VA_ARGS__ missing tokenization for MSVC
configure: add section for libc-specific hacks
build: disable ranlib on mingw
parser: Don't use pc as context for av_dlog
h264: Remove an assert on current_picture_ptr being null
Conflicts:
configure
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Make internal small_strptime() function public, and use it in place of
strptime().
This allows to avoid a dependency on strptime() on systems which do not
support it.
In particular, fix trac ticket #992.
This disables the following warnings:
C4100: unreferenced formal parameter
(1035 occurrances)
C4214: nonstandard extension used : bit field types other than int
(609 occurances)
C4996: 'avpriv_snprintf': This function or variable may be unsafe.
Consider using _snprintf_s instead. To disable deprecation,
use _CRT_SECURE_NO_WARNINGS. See online help for details.
(351 occurrances)
Signed-off-by: Martin Storsjö <martin@martin.st>
Using ranlib is not required but prevents using the libraries with
msvc.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
build: eamad: Add missing dependency on mpegvideo code
build: utvideoenc: Add missing dependency on Huffman code
avopt: Reorder the default_val struct, making i64 the first field
Conflicts:
configure
doc/APIchanges
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: add support for bdver1 and bdver2 CPU types.
avio: make avio_close NULL the freed buffer
pixdesc: cosmetics
proresenc: Don't free a buffer not owned by the codec
proresenc: Write the full value in one put_bits call
adpcmenc: Calculate the IMA_QT predictor without overflow
x86: Add convenience macros to check for CPU extensions and flags
x86: h264dsp: drop some unnecessary ifdefs around prototype declarations
mss12: merge decode_pixel() and decode_top_left_pixel()
mss12: reduce SliceContext size from 1067 to 164 KB
mss12: move SliceContexts out of the common context into the codec contexts
Conflicts:
libavformat/aviobuf.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
yasm generates a warning instead of an error when "CPU amdnop" is not supported, so the check always succeeds.
HAVE_CPUNOP as true when the available yasm version doesn't support amdnop doesn't make sense.
Check http://fate.ffmpeg.org/log.cgi?time=20120901143315&log=compile&slot=x86_64-archlinux-gcc-oldyasm to see the amount of warnings it generates.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
MSS1 and MSS2: set final pixel format after common stuff has been initialised
MSS2 decoder
configure: handle --disable-asm before check_deps
x86: Split inline and external assembly #ifdefs
configure: x86: Separate inline from standalone assembler capabilities
pktdumper: Use a custom define instead of PATH_MAX for buffers
pktdumper: Use av_strlcpy instead of strncpy
pktdumper: Use sizeof(variable) instead of the direct buffer length
Conflicts:
Changelog
configure
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/codec_desc.c
libavcodec/dct-test.c
libavcodec/imgconvert.c
libavcodec/mss12.c
libavcodec/version.h
libavfilter/x86/gradfun.c
libswscale/x86/yuv2rgb.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ec36aa69448f20a78d8c4588265022e0b2272ab5':
x86: Fix linking with some or all of yasm, mmx, optimizations disabled
configure: Add more fine-grained SSE CPU capabilities flags
avfilter: x86: Use more precise compile template names
x86: cosmetics: Comment some #endifs for better readability
g723_1: add comfort noise generation
utvideoenc: Switch to dsputils' median prediction
utvideoenc: Avoid writing into the input picture
avtools: remove the distinction between func_arg and func2_arg.
avconv: make the -passlogfile option per-stream.
avconv: make the -pass option per-stream.
cmdutils: make -codecs print lossy/lossless flags.
lavc: add lossy/lossless codec properties.
Conflicts:
Changelog
cmdutils.c
configure
doc/APIchanges
ffmpeg.h
ffmpeg_opt.c
ffprobe.c
libavcodec/codec_desc.c
libavcodec/g723_1.c
libavcodec/utvideoenc.c
libavcodec/version.h
libavcodec/x86/mpegaudiodec.c
libavcodec/x86/rv40dsp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is necessary to avoid spuriously enabling _external or _inline
variants of arch extensions when they should be disabled.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
build: allow non-standard variations of linker -l/-L flags
Add reminders to update the codec descriptor list with new codec IDs.
Conflicts:
Makefile
configure
libavcodec/avcodec.h
libavformat/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
build: export filtered -lz flag in config.mak
build: add separate setting for host linker
configure: probe_cc: use separate variable for linker output flag
x86: Always compile files with functions that are called unconditionally
x86: mpegvideoenc: fix linking with --disable-mmx
x86: mpegvideoenc: Do not abuse HAVE_ variables for template instantiation
Conflicts:
Makefile
configure
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd488c3bcbaf7ddda42597e014deb661a7e9e2112':
configure: support Bitrig OS
yuv2rgb: handle line widths that are not a multiple of 4.
graph2dot: Use the fallback getopt implementation if needed
tools: Include io.h for open/read/write/close if unistd.h doesn't exist
testprogs: Remove unused includes
qt-faststart: Use other seek/tell functions on MSVC than on mingw
ismindex: Include direct.h for _mkdir on windows
sdp: Use static const char arrays instead of pointers to strings
x86: avcodec: Drop silly "_mmx" suffixes from filenames
x86: avcodec: Drop silly "_sse" suffixes from filenames
sdp: Include profile-level-id for H264
utvideoenc: use ff_huff_gen_len_table
huffman: add ff_huff_gen_len_table
cllc: simplify/fix swapped data buffer allocation.
rtpdec_h264: Don't set the pixel format
h264: Check that the codec isn't null before accessing it
audio_frame_queue: Define af_queue_log_state before using it
Conflicts:
libavcodec/audio_frame_queue.c
libavcodec/h264.c
libavcodec/huffman.h
libavcodec/huffyuv.c
libavcodec/utvideoenc.c
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This enables replacing the -l and -L flags used to specify the
just-built libraries when linking the tools and shared libs with
non-standard syntaxes. System library flags are already handled
by the filtering mechanism in configure.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Some tools use different command line syntax for specifying output
when compiling and linking. To accomodate these, separate variables
must be used. No currently supported compilers/linkers are affected
by the change.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This is a port of the MPlayer smartblur filter (libmpcodecs/vf_smartblur.c)
by Michael Niedermayer.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* qatar/master:
vc1: export some functions
configure: use HOSTCC_C/O in check_host_cc
configure: use AS_O setting in check_as
configure: use LD_O setting in check_ld()
Revert "dsputil: make {add/put/put_signed}_pixels_clamped() non-static."
build: Restore dependency of acelp_filters.o on celp_math.o
celp_math: Replace duplicate ff_dot_productf() by ff_scalarproduct_c()
celp_math: Move ff_cos() to the only place it is used
build: Use portable abstraction for linker/hostcc output file syntax
configure: Fix shared library creation for OpenBSD
vp56: Don't use DECLARE_ALIGN on a typedef name
mss1: move code that will be reused by MSS2 decoder into separate file
mss1: merge decode_intra() and decode_inter()
avprobe: Get rid of ugly casts in the options table
vf_hqdn3d: Remove a duplicate inline declaration
Conflicts:
Makefile
configure
ffprobe.c
libavcodec/Makefile
libavcodec/amrnbdec.c
libavcodec/amrwbdec.c
libavcodec/celp_math.c
libavcodec/celp_math.h
libavcodec/dsputil.c
libavcodec/lsp.c
libavcodec/mss1.c
libavcodec/ra288.c
libavcodec/vc1dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
build: x86: Only compile mpegvideo optimizations when necessary
configure: Drop fastdiv option
build: Make the E-AC-3 encoder select the AC-3 encoder
fate: flac: Only run tests requiring samples when samples are available
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
There is no point in having the user disable any fastdiv macros.
Besides the condition implementation was broken and only disabled
the C implementation, but no platform specific assembly versions.
For some compilers ISA older than mips32r2 is set as default.
Because of them assembler flag "-mips32r2" needs to be added
for CPUs that support mips32r2 ISA in part of configure script
where ISA capabilities are checked.
"-mhard-float" assembler flag is also added for CPUs that have FPU.
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
libvpxenc: use the default bitrate if not set
utvideo: Rename utvideo.c to utvideodec.c
doc: Fix syntax errors in sample Emacs config
mjpegdec: more meaningful return values
configure: clean up Altivec detection
getopt: Remove an unnecessary define
rtmp: Use int instead of ssize_t
getopt: Add missing includes
rtmp: Add support for receiving incoming streams
Add missing includes for code relying on external libraries
Conflicts:
libavcodec/libopenjpegenc.c
libavcodec/libvpxenc.c
libavcodec/mjpegdec.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
There used to be one test for Altivec intrinsics support and a
separate test to determine which of two possible syntaxes to use
for vector literals. Since 2008, we only support the more common
of these so the split test no longer makes sense.
This combines the tests into one and also changes the hard error on
failure to a warning. The test can reasonably fail if no --cpu flag
is provided (or is provided with an unknown CPU) and the compiler
default target does not support Altivec. Aborting in this case is
probably over-reacting.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
Fix even more missing includes after the common.h removal
build: Factor out rangecoder dependencies to CONFIG_RANGECODER
build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE
x86: avcodec: Consistently name all init files
Add more missing includes after removing the implicit common.h
Add some more missing includes after removing the implicit common.h
Don't include common.h from avutil.h
rtmp: Automatically compute the hash for SWFVerification
Conflicts:
configure
doc/APIchanges
doc/examples/decoding_encoding.c
libavcodec/Makefile
libavcodec/assdec.c
libavcodec/audio_frame_queue.c
libavcodec/avpacket.c
libavcodec/dv_profile.c
libavcodec/dwt.c
libavcodec/libtheoraenc.c
libavcodec/rawdec.c
libavcodec/rv40dsp.c
libavcodec/tiff.c
libavcodec/tiffenc.c
libavcodec/v210dec.h
libavcodec/vc1dsp.c
libavcodec/x86/Makefile
libavfilter/asrc_anullsrc.c
libavfilter/avfilter.c
libavfilter/buffer.c
libavfilter/formats.c
libavfilter/vf_ass.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_select.c
libavfilter/video.c
libavfilter/vsrc_testsrc.c
libavformat/version.h
libavutil/audioconvert.c
libavutil/error.h
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Allow to select specific documentation components, and reliably check for
component dependencies.
In particular, check for perl presence on the system.
* qatar/master:
lavf: Detect discontinuities in timestamps for framerate/analyzeduration calculation
lavf: Initialize the stream info timestamps in avformat_new_stream
id3v2: Match PIC mimetype/format case-insensitively
configure: Rename check_asm() to more fitting check_inline_asm()
fate: Only test enabled filters
avresample: De-doxygenize some comments where Doxygen is not appropriate
rtmp: split chunk_size var into in_chunk_size and out_chunk_size
rtmp: Factorize the code by adding find_tracked_method
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
g723.1: fix addition overflow
g723.1: simplify and fix multiplication overflow
g723.1: deobfuscate an expression
g723.1: remove unused #includes
ARM: add missing "cc" clobber in av_clipl_int32_arm()
rtmp: Factorize the code by adding handle_invoke_error
rtmp: Factorize the code by adding handle_invoke_status
rtmp: Factorize the code by adding handle_invoke_result
libavutil: remove unused av_abort() macro
ffmenc: replace if/abort with assert()
libavutil: drop offsetof() fallback definition
libavutil: drop fallback definitions of INTxx_MIN/MAX
configure: Check for a sctp struct instead of just the header
configure: suncc: Add -xc99 to dependency flags, required on Solaris
doxygen: Fix function parameter names to match the code
doc: Drop obsolete shared libs cflags hint to workaround Cygwin gcc bugs
swf: Move shared table out of the header file
swf: Move swf_audio_codec_tags table to the only place it is used
fate: add G.723.1 decoder tests
Conflicts:
configure
doc/platform.texi
libavformat/Makefile
libavutil/arm/intmath.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This fixes build failures on debian/kfreebsd, which has the
sctp.h header, but it is currently broken (a cpp test succeeds,
but a compile test fails), see http://bugs.debian.org/684330 for
details.
Also remove the checked item from HAVE_LIST, since the corresponding
HAVE_* define isn't used by the source code.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
mpegvideo: reduce excessive inlining of mpeg_motion()
mpegvideo: convert mpegvideo_common.h to a .c file
build: factor out mpegvideo.o dependencies to CONFIG_MPEGVIDEO
Move MASK_ABS macro to libavcodec/mathops.h
x86: move MANGLE() and related macros to libavutil/x86/asm.h
x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
aacdec: Don't fall back to the old output configuration when no old configuration is present.
rtmp: Add message tracking
rtsp: Support mpegts in raw udp packets
rtsp: Support receiving plain data over UDP without any RTP encapsulation
rtpdec: Remove an unused include
rtpenc: Remove an av_abort() that depends on user-supplied data
vsrc_movie: discourage its use with avconv.
avconv: allow no input files.
avconv: prevent invalid reads in transcode_init()
avconv: rename OutputStream.is_past_recording_time to finished.
Conflicts:
configure
doc/filters.texi
ffmpeg.c
ffmpeg.h
libavcodec/Makefile
libavcodec/aacdec.c
libavcodec/mpegvideo.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This adds a hidden config variable for the mpegvideo.o dependency
and selects from the codecs which require it.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master: (23 commits)
build: cosmetics: Reorder some lists in a more logical fashion
x86: pngdsp: Fix assembly for OS/2
fate: add test for RTjpeg in nuv with frameheader
rtmp: send check_bw as notification
g723_1: clip argument for 15-bit version of normalize_bits()
g723_1: use all LPC vectors in formant postfilter
id3v2: Support v2.2 PIC
avplay: fix build with lavfi disabled.
avconv: split configuring filter configuration to a separate file.
avconv: split option parsing into a separate file.
mpc8: do not leave padding after last frame in buffer for the next decode call
mpegaudioenc: list supported channel layouts.
mpegaudiodec: don't print an error on > 1 frame in a packet.
api-example: update to new audio encoding API.
configure: add --enable/disable-random option
doc: cygwin: Update list of FATE package requirements
build: Remove all installed headers and header directories on uninstall
build: change checkheaders to use regular build rules
rtmp: Add a new option 'rtmp_subscribe'
rtmp: Add support for subscribing live streams
...
Conflicts:
Makefile
common.mak
configure
doc/examples/decoding_encoding.c
ffmpeg.c
libavcodec/g723_1.c
libavcodec/mpegaudiodec.c
libavcodec/x86/pngdsp.asm
libavformat/version.h
library.mak
tests/fate/video.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
x86: fix build with nasm 2.08
x86: use nop cpu directives only if supported
x86: fix rNmp macros with nasm
build: add trailing / to yasm/nasm -I flags
x86: use 32-bit source registers with movd instruction
x86: add colons after labels
Conflicts:
Makefile
libavutil/x86/x86inc.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some compilers do not support the Q/R modifiers used to access
the low/high parts of a 64-bit register pair. Check for this
and disable all uses of it when not supported.
Fixes bug #337.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit 'f5d2c597e99af218b0d4d1cf9737c7e68ee934e4':
build: fix library installation on cygwin
mpc8: add a flush function
mpc8: set packet duration and stream start time instead of tracking frames
Conflicts:
libavformat/mpc8.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
nasm does not support 'CPU foonop' directives. This adds a configure
test for the directive and uses it only if supported.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This installs libraries using the proper names and locations,
generates an import lib for the DLL, and drops no longer needed
linker flags.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This simplifies adding extra flags for individual programs
and also allows more than one object file per program.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Running lib.exe without parameters will always result in an error,
and failing the check.
Using the -list paramter results in a success if lib.exe is present.
* qatar/master:
lavr: fix handling of custom mix matrices
fate: force pix_fmt in lagarith-rgb32 test
fate: add tests for lagarith lossless video codec.
ARMv6: vp8: fix stack allocation with Apple's assembler
ARM: vp56: allow inline asm to build with clang
fft: 3dnow: fix register name typo in DECL_IMDCT macro
x86: dct32: port to cpuflags
x86: build: replace mmx2 by mmxext
Revert "wmapro: prevent division by zero when sample rate is unspecified"
wmapro: prevent division by zero when sample rate is unspecified
lagarith: fix color plane inversion for YUY2 output.
lagarith: pad RGB buffer by 1 byte.
dsputil: make add_hfyu_left_prediction_sse4() support unaligned src.
Conflicts:
doc/APIchanges
libavcodec/lagarith.c
libavfilter/x86/gradfun.c
libavutil/cpu.h
libavutil/version.h
libswscale/utils.c
libswscale/version.h
libswscale/x86/yuv2rgb.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Refactoring mmx2/mmxext YASM code with cpuflags will force renames.
So switching to a consistent naming scheme beforehand is sensible.
The name "mmxext" is more official and widespread and also the name
of the CPU flag, as reported e.g. by the Linux kernel.
* qatar/master:
avformat: Drop pointless "format" from container long names
swscale: bury one more piece of inline asm under HAVE_INLINE_ASM.
wv: K&R formatting cosmetics
configure: Add missing descriptions to help output
h264_ps: declare array of colorspace strings on its own line.
fate: amix: specify f32 sample format for comparison
tiny_psnr: support 32-bit float samples
eamad/eatgq/eatqi: call special EA IDCT directly
eamad: remove use of MpegEncContext
mpegvideo: remove unnecessary inclusions of faandct.h
af_asyncts: avoid overflow in out_size with large delta values
af_asyncts: add first_pts option
Conflicts:
configure
libavcodec/eamad.c
libavcodec/h264_ps.c
libavformat/crcenc.c
libavformat/ffmdec.c
libavformat/ffmenc.c
libavformat/framecrcenc.c
libavformat/md5enc.c
libavformat/nutdec.c
libavformat/rawenc.c
libavformat/yuv4mpeg.c
tests/tiny_psnr.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (35 commits)
h264_idct_10bit: port x86 assembly to cpuflags.
x86inc: clip num_args to 7 on x86-32.
x86inc: sync to latest version from x264.
fft: rename "z" to "zc" to prevent name collision.
wv: return meaningful error codes.
wv: return AVERROR_EOF on EOF, not EIO.
mp3dec: forward errors for av_get_packet().
mp3dec: remove a pointless local variable.
mp3dec: remove commented out cruft.
lavfi: bump minor to mark stabilizing the ABI.
FATE: add tests for yadif.
FATE: add a test for delogo video filter.
FATE: add a test for amix audio filter.
audiogen: allow specifying random seed as a commandline parameter.
vc1dec: Override invalid macroblock quantizer
vc1: avoid reading beyond the last line in vc1_draw_sprites()
vc1dec: check that coded slice positions and interlacing match.
vc1dec: Do not ignore ff_vc1_parse_frame_header_adv return value
configure: Move parts that should not be user-selectable to CONFIG_EXTRA
lavf: remove commented out cruft in avformat_find_stream_info()
...
Conflicts:
Makefile
configure
libavcodec/vc1dec.c
libavcodec/x86/h264_deblock.asm
libavcodec/x86/h264_deblock_10bit.asm
libavcodec/x86/h264dsp_mmx.c
libavfilter/version.h
libavformat/mp3dec.c
libavformat/utils.c
libavformat/wv.c
libavutil/x86/x86inc.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This allows non-standard replacements for the -c compiler flag.
Some compilers use other flags or no flag at all in place of
the usual one.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This allows using non-standard flags for running the C preprocessor.
The -o flag must be included in this setting due to strange syntax
required by some compilers.
Set the correct flags for tms470.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
proresdsp: port x86 assembly to cpuflags.
lavr: x86: improve non-SSE4 version of S16_TO_S32_SX macro
lavfi: better channel layout negotiation
alac: check for truncated packets
alac: reverse lpc coeff order, simplify filter
lavr: add x86-optimized mixing functions
x86: add support for fmaddps fma4 instruction with abstraction to avx/sse
tscc2: fix typo in array index
build: use COMPILE template for HOSTOBJS
build: do full flag handling for all compiler-type tools
eval: fix printing of NaN in eval fate test.
build: Rename aandct component to more descriptive aandcttables
mpegaudio: bury inline asm under HAVE_INLINE_ASM.
x86inc: automatically insert vzeroupper for YMM functions.
rtmp: Check the buffer length of ping packets
rtmp: Allow having more unknown data at the end of a chunk size packet without failing
rtmp: Prevent reading outside of an allocate buffer when receiving server bandwidth packets
Conflicts:
Makefile
configure
libavcodec/x86/proresdsp.asm
libavutil/eval.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This adds a full identification probe of CC, AS, LD and HOSTCC,
and sets up correct flags and dependency tracking for each.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The rtmpts protocol uses https implicitly, via the ffrtmphttp
protocol, but the ffrtmphttp protocol is also useable for plain
rtmpt without https, so the dependency needs to be added here instead.
Signed-off-by: Martin Storsjö <martin@martin.st>
The rtmpts protocol uses https implicitly, via the ffrtmphttp
protocol, but the ffrtmphttp protocol is also useable for plain
rtmpt without https, so the dependency needs to be added here instead.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
v410dec: Implement explode mode support
zerocodec: fix direct rendering.
wav: init st to NULL to avoid a false-positive warning.
wavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bit
h264: refactor NAL decode loop
RTMPTE protocol support
RTMPE protocol support
rtmp: Add ff_rtmp_calc_digest_pos()
rtmp: Rename rtmp_calc_digest to ff_rtmp_calc_digest and make it global
swscale: add missing HAVE_INLINE_ASM check.
lavfi: place x86 inline assembly under HAVE_INLINE_ASM.
vc1: Add a test for interlaced field pictures
swscale: Mark all init functions as av_cold
swscale: x86: Drop pointless _mmx suffix from filenames
lavf: use conditional notation for default codec in muxer declarations.
swscale: place inline assembly bilinear scaler under HAVE_INLINE_ASM.
dsputil: ppc: cosmetics: pretty-print
dsputil: x86: add SHUFFLE_MASK_W macro
configure: respect CC_O setting in check_cc
Conflicts:
Changelog
configure
libavcodec/v410dec.c
libavcodec/zerocodec.c
libavformat/asfenc.c
libavformat/version.h
libswscale/utils.c
libswscale/x86/swscale.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This adds two protocols, but one of them is an internal implementation
detail just used as an abstraction layer/generalization in the code. The
RTMPE protocol implementation uses ffrtmpcrypt:// as an alternative to the
tcp:// protocol. This allows moving most of the lower level logic out
from the higher level generic rtmp code.
Signed-off-by: Martin Storsjö <martin@martin.st>
Use compiler-specific replacements for the -o flag in check_cc.
This makes tests work properly with compilers using non-standard
flags.
The tms470 flags are updated to work with this scheme.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
x86: swscale: Place inline assembly code under appropriate #ifdefs
rtsp: remove terminal comma in FF_RTP_FLAG_OPTS macro.
configure: Remove redundant RTMPT/RTMPTS dependencies
configure: add filtering of host cflags/ldflags
configure: initialise all flag filters at the same place
configure: add filtering of linker flags
configure: name some variables more consistently
configure: remove filter_cppflags
configure: set icc_version where it is needed
mpegenc: remove disabled code
Conflicts:
configure
libavformat/movenc.c
libswscale/x86/swscale_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The incompatibility with librtmp is already expressed in the ffrtmphttp
protocol dependency declaration, which both RTMPT and RTMPTS depend on.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
This allows filtering of linker flags the same was as already
supported for CFLAGS. The filter must be initialised to 'echo'
early since it is invoked by --extra-ldflags.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This is not used and the current design would not work properly
if mixing tools needing different filters.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
Print full compiler identification, not only version number
flacdec: reverse lpc coeff order, simplify filter
x86: dsputil: drop some unused CPU flag debug code
Conflicts:
cmdutils.c
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
ppc: fix build with altivec disabled
vp3: move idct and loop filter pointers to new vp3dsp context
build: add CONFIG_VP3DSP, reduce repetition in OBJS lists
tscc2: do not add/subtract 128 bias during DCT
tscc2: fix typo in DCT
configure: clarify external library section of help output
configure: mark libfdk-aac as nonfree
configure: cosmetics: drop some unnecessary backslashes
os_support: K&R formatting cosmetics
Conflicts:
configure
libavcodec/vp3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
libopenjpeg: introduce encoding support
libopenjpeg: rename decoder source file.
RTMPTS protocol support
RTMPS protocol support
avconv: print an error message when demuxing fails.
tscc2: DCT output should not be clipped
rtmp: Rename rtmphttp to ffrtmphttp
Conflicts:
Changelog
configure
doc/general.texi
libavcodec/libopenjpegenc.c
libavcodec/version.h
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
rtmp: rtmp_parse_result() add case for video and audio packets to avoid undesired debug output.
configure: Move the getaddrinfo function check into the network block
configure: Remove an unused 'have' item
mpeg: remove disabled code
libfdk-aac: Check if cutoff value is valid
network: Always use our version of gai_strerror on windows
network: Undefine existing gai_strerror definitions
network: Extend the fallback gai_strerror implementation to handle more error codes
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: Check for CommandLineToArgvW
vc1dec: Do not use random pred_flag if motion vector data is skipped
vp8: Enclose pthread function calls in ifdefs
snow: refactor code to work around a compiler bug in MSVC.
vp8: Include the thread headers before using the pthread types
configure: Check for getaddrinfo in ws2tcpip.h, too
vp8: implement sliced threading
vp8: move data from VP8Context->VP8Macroblock
vp8: refactor decoding a single mb_row
doc: update api changes with the right commit hashes
mem: introduce av_malloc_array and av_mallocz_array
Conflicts:
configure
doc/APIchanges
libavcodec/vp8.c
libavutil/mem.h
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is only used for checking for a certain library, but the code
doesn't need to know whether the function was found.
Signed-off-by: Martin Storsjö <martin@martin.st>
The actual result of the check isn't used anywhere (since we
use this function unconditionally within #ifdef _WIN32), but it
makes sure we explicitly link to shell32 (which is linked in
implictly on mingw).
Signed-off-by: Martin Storsjö <martin@martin.st>
This function is only available in the headers if unconditionally
targeting a version >= XP. It is not strictly necessary, since we
try loading these functions dynamically at runtime on windows in
the fallback, but this makes things a bit faster and more
straightforward.
On mingw32, this function isn't visible by default, while it is
on mingw64 (on both 32 and 64 bit).
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
build: Fix Ogg demuxer dependencies
build: Fix FLAC demuxer dependencies
flac: Move flac functions shared between libraries to flac common code
build: Fix CAF demuxer dependencies
build: Fix MP2 muxer dependencies
build: Add missing build rules for the ISMV muxer
configure: Drop redundant mxf_d10 test dependency declaration
Support AAC encoding via the external library fdk-aac
libavcodec: Add more AAC profiles
dct/fft-test: use a replacement getopt() if the system has none present.
Conflicts:
Changelog
libavcodec/Makefile
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The old files were scattered in several directories,
with an unusual name, but dependencies to the usual name,
and relative paths.
The new files are regrouped in a singled directory
(doc/examples/pc-uninstalled) with their usual name
and more absolute paths.
With this change, it becomes possible to compile the examples
with the ffmpeg build tree by setting the environment variable:
PKG_CONFIG_PATH=pc-uninstalled
* qatar/master:
configure: Check for the math function rint
TechSmith Screen Codec 2 decoder
rtsp: Add listen mode
rtsp: Make rtsp_open_transport_ctx() non-static
rtsp: Move rtsp_read_close
rtsp: Parse the mode=receive/record parameter in transport lines
Conflicts:
Changelog
libavcodec/avcodec.h
libavcodec/version.h
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This allows compiling and running these tests on systems lacking a built-
in version of getopt(), such as MSVC.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master:
mss1: fix decoding masked regions in interframes
mxfdec: fix off by one error.
mxfdec: only parse next partition pack if parsing forward
mxfdec: let pkt->pts = mxf->current_edit_unit if intra-only
mxfdec: fix frame height vs field height confusion
mxfdec: Add intra_only flag to MXFTrack
mxfdec: fix Avid AirSpeed files being misinterpreted as OP1a
mxfdec: truncate packets that extend past the next edit unit
mxfdec: set pixel format for cdci picture formats
mxfdec: detect uncomp pictures using essence container ul
mxfdec: set track edit rate num/den in expected order
x86/cpu: implement get/set_eflags using intrinsics
x86/cpu: implement support for cpuid through intrinsics
x86/cpu: implement support for xgetbv through intrinsics
lavu: use intrinsics for emms on systems lacking inline asm support
mem: Don't abort on av_malloc(0) in debug mode
Conflicts:
configure
libavformat/mxf.h
libavformat/mxfdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
cmutils: include shellapi.h on Win32 (for CommandLineToArgvW).
x86/timer: implement an intrinsic-based version for rdtsc (AV_READ_TIME).
id3v2: add a mimetype for bmp pictures.
flacdec: be less strict when parsing attached pictures.
flacdec: don't create an attached picture stream until we have all information.
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: add functions for testing code fragments
af_amix: avoid spurious EAGAIN.
af_amix: return AVERROR(EAGAIN) when request_frame didn't produce output.
af_amix: only consider negative return codes as errors.
avconv: use only meaningful timestamps in start time check.
avconv: fix the check for -ss as an output option.
mss3: add forgotten 'static' qualifier for private table
lavc: options: add planar names for request_sample_fmt
flacdec: add planar output support
flvdec: Treat all nellymoser versions as the same codec
Conflicts:
ffmpeg.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This simplifies testing arbitrary code fragments within a function
body.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* qatar/master: (29 commits)
lavfi: reclassify showfiltfmts as a TESTPROG
graph2dot: fix printf format specifier
swscale: yuv2planeX 8bit >=sse2 functions need aligned stack on x86-32.
vp8: loopfilter >=sse2 functions need aligned stack on x86-32.
amr: remove shift out of the AMR_BIT() macro.
dsputilenc: group yasm and inline asm function pointer assignment.
mov: use forward declaration of a function instead of a table.
Clarify Doxygen comment for FF_API_* #defines.
configure: simplify get_version()
Create version.h headers for libraries that lack them
gitignore: Use full path instead of relative path to specify patterns
mpegvideo: remove VLAs
Add XTEA encryption support in libavutil
Add Blowfish encryption support in libavutil
eval: Add the isinf() function and tests for it
flacdec: move lpc filter to flacdsp
flacdec: split off channel decorrelation as flacdsp
avplay: Add an option for not limiting the input buffer size
FATE: add a test for WMA cover art.
FATE: add a test for apetag cover art
...
Conflicts:
.gitignore
configure
ffplay.c
libavcodec/Makefile
libavcodec/error_resilience.c
libavcodec/mpegvideo.c
libavcodec/ratecontrol.c
libavdevice/avdevice.h
libavfilter/Makefile
libavfilter/filtfmts.c
libavfilter/version.h
libavformat/mov.c
libavformat/version.h
libavutil/Makefile
libavutil/avutil.h
libavutil/version.h
libswscale/swscale.h
libswscale/x86/swscale_mmx.c
tests/fate/libavutil.mak
tests/lavfi-regression.sh
tools/graph2dot.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
cosmetics: Consistently use C-style comments with multiple inclusion guards
anm: fix a few Doxygen comments
misc typo and wording fixes
attributes: add av_noreturn
attributes: drop pointless define guards
configure: do not disable av_always_inline with --enable-small
flvdec: initial stream switch support
avplay: fix write on freed memory for rawvideo
snow: remove a VLA used for edge emulation
x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
snow: remove the runs[] VLA.
snow: Check mallocs at init
flacdec: remove redundant setting of avctx->sample_fmt
Conflicts:
ffplay.c
libavcodec/h264.c
libavcodec/snow.c
libavcodec/snow.h
libavcodec/snowdec.c
libavcodec/snowenc.c
libavformat/flvdec.c
libavutil/attributes.h
tools/patcheck
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Currently, --enable-small turns av_always_inline into plain inline,
which is more or less ignored by the compiler. While the intent of
this is probably to reduce code size by avoiding some inlining, it
has more far-reaching effects.
We use av_always_inline in two situations:
1. The body of a function is smaller than the call overhead.
Instances of these are abundant in libavutil, the bswap.h
functions being good examples.
2. The function is a template relying on constant propagation
through inlined calls for sane code generation. These are
often found in motion compensation code.
Both of these types of functions should be inlined even if targeting
small code size.
Although GCC has heuristics for detecting the first of these types,
it is not always reliable, especially when the function uses inline
assembler, which is often the reason for having those functions in
the first place, so making it explicit is generally a good idea.
The size increase from inlining template-type functions is usually
much smaller than it seems due to different branches being mutually
exclusive between the different invocations. The dead branches can,
however, only be removed after inlining and constant propagation have
been performed, which means the initial cost estimate for inlining
these is much higher than is actually the case, resulting in GCC
often making bad choices if left to its own devices.
Furthermore, the GCC inliner limits how much it allows a function to
grow due to automatic inlining of calls, and this appears to not take
call overhead into account. When nested inlining is used, the limit
may be hit before the innermost level is reached. In some cases, this
has prevented inlining of type 1 functions as defined above, resulting
in significant performance loss.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
dsputilenc_mmx: split assignment of ff_sse16_sse2 to SSE2 section.
dnxhdenc: add space between function argument type and comment.
x86: fmtconvert: add special asm for float_to_int16_interleave_misc_*
attributes: Add a definition of av_always_inline for MSVC
cmdutils: Pass the actual chosen encoder to filter_codec_opts
os_support: Add fallback definitions for stat flags
os_support: Rename the poll fallback function to ff_poll
network: Check for struct pollfd
os_support: Don't compare a negative number against socket descriptors
os_support: Include all the necessary headers for the win32 open function
x86: vc1: fix and enable optimised loop filter
Conflicts:
cmdutils.c
cmdutils.h
ffmpeg.c
ffplay.c
libavformat/os_support.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
We need to include winsock2.h here, to make sure we have the
real pollfd struct definition, if one exists, before defining the
fallback poll function.
Signed-off-by: Martin Storsjö <martin@martin.st>
It is included for the open/read/write/close functions. On
MSVC, where this header does not exist, the same functions
are provided by io.h, which is already included.
On windows, these functions are provided by io.h. Make sure
io.h is included if it exists, regardless of the setmode
function.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
mss1: validate number of changeable palette entries
mss1: report palette changed when some additional colours were decoded
x86: fft: replace call to memcpy by a loop
udp: Support IGMPv3 source specific multicast and source blocking
dxva2: include dxva.h if found
libm: Provide fallback definitions for isnan() and isinf()
tcp: Pass NULL as hostname to getaddrinfo if the string is empty
tcp: Set AI_PASSIVE when the socket will be used for listening
Conflicts:
configure
libavcodec/mss1.c
libavformat/udp.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Apparently, some build environments require dxva.h even for dxva2,
while others lack this header entirely. Including it conditionally
allows building in both cases.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
avconv: add an assert to silence an uninitialized variable warning.
avconv: shut up an uninitialized variable warning.
avfiltergraph: shut up uninitialized variable warning.
af_join: initialize a variable to shut up gcc warning.
amix: fix format specifier for AVFilterLink.sample_rate.
lavfi: make filters less verbose.
mpc8: read APE tags.
lavr: x86: fix ff_conv_fltp_to_flt_6ch function prototypes
libm: provide fallback definition for cbrtf() using powf()
network: Don't redefine error codes if they already exist in errno.h
configure: Check for sys/time.h
network: Include unistd.h from network.h
avconv: don't include vsrc_buffer.h, which doesn't exist anymore
lavfi: reorder AVFilterLink fields.
lavfi: reorder AVFilterContext fields.
lavfi: reorder AVFilter fields.
lavfi: reorder AVFilterBufferRef fields.
lavfi: reorder AVFilterBuffer fields.
Conflicts:
configure
libavcodec/v210dec.h
libavfilter/asrc_anullsrc.c
libavfilter/avfilter.h
libavfilter/buffersrc.c
libavfilter/src_movie.c
libavfilter/vf_aspect.c
libavfilter/vf_crop.c
libavfilter/vf_drawbox.c
libavfilter/vf_fade.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vsrc_color.c
libavformat/network.h
libavutil/libm.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This adds a fallback for cbrtf() using powf(x, 1/3). Since
powf() with a non-integer exponent requires a non-negative
base, special handling of negative inputs is needed.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Apparently this include is needed on some systems for building the
poll fallback (for the timeval struct for select?), but it isn't
available on all systems. Thus only include it if it exists.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
libspeexenc: add supported sample rates and channel layouts.
Replace usleep() calls with av_usleep()
lavu: add av_usleep() function
utvideo: mark interlaced frames as such
utvideo: Fix interlaced prediction for RGB utvideo.
cosmetics: do not use full path for local headers
lavu/file: include unistd.h only when available
configure: check for unistd.h
log: include unistd.h only when needed
lavf: include libavutil/time.h instead of redeclaring av_gettime()
Conflicts:
configure
doc/APIchanges
ffmpeg.c
ffplay.c
libavcodec/utvideo.c
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This function implements a delay using the first available
of the following functions:
- nanosleep()
- usleep()
- Sleep() (Windows)
The conditional #includes in time.c are simplified by including
unistd.h and windows.h whenever they are available rather than
having these lines triggered by specific functions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
fix hardcoded tables compililation caused by missing math constants
lavf: Make codec_tag arrays constant
twinvq: give massive struct a name.
lavf, lavu: version bumps and APIchanges for av_gettime() move
lavfi/audio: don't set cur_buf in ff_filter_samples().
lavfi/fifo: add audio version of the fifo filter.
fifo: fix parenthesis placement.
lavfi: rename vf_fifo.c -> fifo.c
lavc: remove stats_in from AVCodecContext options table.
Conflicts:
doc/APIchanges
libavfilter/Makefile
libavfilter/allfilters.c
libavfilter/audio.c
libavfilter/fifo.c
libavformat/version.h
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
MS Screen 1 decoder
aacdec: Fix popping channel layouts.
av_gettime: support Win32 without gettimeofday()
Use av_gettime() in various places
Move av_gettime() to libavutil
dct-test: use emms_c() from libavutil instead of duplicating it
mov: fix operator precedence bug
mathematics.h: remove a couple of math defines
Remove unnecessary inclusions of [sys/]time.h
lavf: remove unnecessary inclusions of unistd.h
bfin: libswscale: add const where appropriate to fix warnings
bfin: libswscale: remove unnecessary #includes
udp: Properly check for invalid sockets
tcp: Check the return value from getsockopt
network: Use av_strerror for getting error messages
udp: Properly print error from getnameinfo
mmst: Use AVUNERROR() to convert error codes to the right range for strerror
network: Pass pointers of the right type to get/setsockopt/ioctlsocket on windows
rtmp: Reduce the number of idle posts sent by sleeping 50ms
Conflicts:
Changelog
configure
libavcodec/aacdec.c
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/dct-test.c
libavcodec/version.h
libavformat/riff.c
libavformat/udp.c
libavutil/Makefile
libswscale/bfin/yuv2rgb_bfin.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (24 commits)
flvdec: remove incomplete, disabled seeking code
mem: add support for _aligned_malloc() as found on Windows
lavc: Extend the documentation for avcodec_init_packet
flvdec: remove incomplete, disabled seeking code
http: replace atoll() with strtoll()
mpegts: remove unused/incomplete/broken seeking code
af_amix: allow float planar sample format as input
af_amix: use AVFloatDSPContext.vector_fmac_scalar()
float_dsp: add x86-optimized functions for vector_fmac_scalar()
float_dsp: Move vector_fmac_scalar() from libavcodec to libavutil
lavr: Add x86-optimized function for flt to s32 conversion
lavr: Add x86-optimized function for flt to s16 conversion
lavr: Add x86-optimized functions for s32 to flt conversion
lavr: Add x86-optimized functions for s32 to s16 conversion
lavr: Add x86-optimized functions for s16 to flt conversion
lavr: Add x86-optimized function for s16 to s32 conversion
rtpenc: Support packetizing iLBC
rtpdec: Add a depacketizer for iLBC
Implement the iLBC storage file format
mov: Support muxing/demuxing iLBC
...
Conflicts:
Changelog
configure
libavcodec/avcodec.h
libavcodec/dsputil.c
libavcodec/version.h
libavformat/movenc.c
libavformat/mpegts.c
libavformat/version.h
libavutil/mem.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The check uses check_func_header, since this function is
conditionally available depending on the targeted MSVCRT
version.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
lavr: add x86-optimized functions for mixing 1-to-2 s16p with flt coeffs
lavr: add x86-optimized functions for mixing 1-to-2 fltp with flt coeffs
Add Dolby/DPLII downmix support to libavresample
vorbisdec: replace div/mod in loop with a counter
fate: vorbis: add 5.1 surround test
rtpenc: Allow requesting H264 RTP packetization mode 0
configure: Sort the library listings in the help text alphabetically
dwt: remove variable-length arrays
RTMPT protocol support
http: Properly handle chunked transfer-encoding for replies to post data
http: Fail reading if the connection has gone away
amr: Mark an array const
amr: More space cleanup
rtpenc: Fix memory leaks in the muxer open function
Conflicts:
Changelog
configure
doc/APIchanges
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This adds two protocols, but one of them is an internal implementation
detail just used as an abstraction layer/generalization in the code. The
RTMPT protocol implementation uses rtmphttp:// as an alternative to the
tcp:// protocol. This allows moving most of the lower level logic out
from the higher level generic rtmp code.
Signed-off-by: Martin Storsjö <martin@martin.st>
Add atempo audio filter for adjusting audio tempo without affecting
pitch. This filter implements WSOLA algorithm with fast cross
correlation calculation in frequency domain.
Signed-off-by: Pavel Koshevoy <pavel@homestead.aragog.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>