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

2852 Commits

Author SHA1 Message Date
Paul B Mahol
57231e4d5b tak: demuxer, parser, and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Clément Bœsch
710c4baf52 lavf: VobSub demuxer. 2012-12-07 21:18:06 +01:00
Mans Rullgard
b326755989 arm: rename ARMVFP config symbol to VFP
This is consistent with usual ARM nomenclature as well as with the
VFPV3 and NEON symbols which both lack the ARM prefix.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:04 +00:00
Mans Rullgard
b57c1da81e 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>
2012-12-07 16:54:04 +00:00
Mans Rullgard
637606de2d 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>
2012-12-07 16:54:03 +00:00
Mans Rullgard
7f2b3dcabd 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>
2012-12-07 16:54:03 +00:00
Mans Rullgard
c6ebc9faa2 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
accordingly.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
f0fe245bc3 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>
2012-12-07 16:54:03 +00:00
Mans Rullgard
1234c66a31 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.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
9ebd45c2d5 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>
2012-12-07 16:54:03 +00:00
Mans Rullgard
7fd90119bb 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>
2012-12-07 16:54:03 +00:00
Michael Niedermayer
dacd6202ec Merge remote-tracking branch 'qatar/master'
* 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>
2012-12-04 14:23:22 +01:00
Michael Niedermayer
400647f9ba configure: Fix ARM thumb detection
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>
2012-12-04 05:47:10 +01:00
Clément Bœsch
3313e46c4a lavfi: add subtitles filter. 2012-12-04 01:49:03 +01:00
Luca Barbato
1944d532a8 ppc: always use pic for shared libraries
CC: libav-stable@libav.org
2012-12-03 22:53:30 +01:00
Michael Niedermayer
d0b7e832fe Merge remote-tracking branch 'qatar/master'
* 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>
2012-12-03 15:28:35 +01:00
Martin Storsjö
eb7018d2fc configure: Strip ordinals from mingw generated def files
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>
2012-12-03 13:39:47 +02:00
Mans Rullgard
66371c2851 configure: arm: detect default thumb state of compiler
This makes configure honour the compiler default if thumb is not
explicitly enabled or disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-03 11:06:06 +00:00
Michael Niedermayer
b452c8a722 Merge remote-tracking branch 'qatar/master'
* 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>
2012-12-03 02:59:19 +01:00
Diego Biurrun
31f16dc1a1 build: Make the ISMV muxer select the MOV muxer
They share the same code, so building one w/o the other makes no sense.
2012-12-03 01:20:10 +01:00
Mans Rullgard
81dfa21ec9 configure: move arm arch extensions to a separate variable
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-03 00:15:19 +00:00
Diego Biurrun
d173ede1b7 configure: avplay now depends on avresample 2012-12-02 23:39:35 +01:00
Michael Niedermayer
8be18ffd6a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: fix indentation in option parsing loop

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-02 13:47:07 +01:00
Mans Rullgard
7e9e7cc236 configure: fix indentation in option parsing loop
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-01 23:16:23 +00:00
Michael Niedermayer
5473f6258c Merge remote-tracking branch 'qatar/master'
* 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>
2012-12-01 13:10:48 +01:00
Martin Storsjö
3bbe63d1a4 configure: Use headers in the check for _beginthreadex for w32threads
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>
2012-11-30 16:57:02 +02:00
Martin Storsjö
7e6a11bcf7 avutil: Use a configure check to enable windows console functions
Not all versions or API subsets of windows have these functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-30 16:56:57 +02:00
Michael Niedermayer
034a1afbd8 Merge remote-tracking branch 'qatar/master'
* 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>
2012-11-30 14:55:12 +01:00
Clément Bœsch
8119d8b01f configure: add lavfi avr dep to .pc when required. 2012-11-30 14:19:14 +01:00
Martin Storsjö
15caccb9be cmdutils: Use a configure check for enabling CommandLineToArgvW
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>
2012-11-29 18:19:36 +02:00
Martin Storsjö
54fd593a0e configure: Enable avconv filter dependencies automatically
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>
2012-11-27 17:05:01 +02:00
Michael Niedermayer
b4d4e51027 Merge commit '3c370f5abc55739a261534b9f9bdc739cedbbbb9'
* 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>
2012-11-27 14:10:05 +01:00
Michael Niedermayer
465becbc4f configure: check for access()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 05:03:23 +01:00
Diego Biurrun
d89f2fa970 configure: Add separate list for libraries and use where appropriate 2012-11-26 22:46:07 +01:00
Michael Niedermayer
bf2f93cdbf Merge commit '28c8e288fa0342fdef532a7522a4707bebf831cc'
* commit '28c8e288fa0342fdef532a7522a4707bebf831cc':
  x86: h264_chromamc: port to cpuflags
  yop: fix typo
  avconv: fix copying per-stream metadata.
  doc: avtools-common-opts: Fix terminology concerning metric prefixes
  configure: suncc: Add compiler arch support for Nehalem & Sandy Bridge
  riff: Make ff_riff_tags static and move under appropriate #ifdef

Conflicts:
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 00:43:45 +01:00
Stefano Sabatini
be2c0bc949 configure: prefer "resampling" in the libswresample pkg-config description 2012-11-25 15:01:33 +01:00
Sean McGovern
f2ce813e37 configure: suncc: Add compiler arch support for Nehalem & Sandy Bridge
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>
2012-11-25 14:15:30 +01:00
Michael Niedermayer
7ca97b6b3c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: sort cpuflags section by architecture

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 14:03:31 +01:00
Michael Niedermayer
d28467b62e Merge commit '457cc333b424994ecf80a82369325771e0397fd9'
* commit '457cc333b424994ecf80a82369325771e0397fd9':
  configure: properly support DEC/Compaq compiler

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 13:53:54 +01:00
Michael Niedermayer
25ca8aef54 Merge commit '4a606c830ae664013cea33800094d4d0f4ec62da'
* commit '4a606c830ae664013cea33800094d4d0f4ec62da':
  av_memcpy_backptr: optimise some special cases
  mpegvideo: simplify dxy calculation in hpel_motion()
  build: add rules to generate preprocessed source files

Conflicts:
	Makefile
	libavutil/mem.c
	library.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 13:30:51 +01:00
Mans Rullgard
33db40f8d3 configure: sort cpuflags section by architecture
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:07:23 +00:00
Mans Rullgard
457cc333b4 configure: properly support DEC/Compaq compiler
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:07:11 +00:00
Mans Rullgard
c262649291 build: add rules to generate preprocessed source files
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>
2012-11-23 12:03:32 +00:00
Michael Niedermayer
4116151a4b Merge commit '1c5805521c3e406886341d752ebf38f8d41e1d13'
* 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>
2012-11-19 14:05:41 +01:00
Michael Niedermayer
0c79a3d9cb Merge remote-tracking branch 'qatar/master'
* 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>
2012-11-18 13:35:15 +01:00
Diego Biurrun
3bd1eacd2a configure: Refactor CPPFLAGS settings for glibc/uclibc
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-18 12:00:18 +00:00
Mans Rullgard
5873b623a9 configure: add basic support for ARM AArch64
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-18 12:00:18 +00:00
Mans Rullgard
8f7b814f54 build: set -U__STRICT_ANSI__ for newlib
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>
2012-11-18 12:00:17 +00:00
Mans Rullgard
5af530f5a9 parisc: work around bug in gcc 4.3 and later
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>
2012-11-17 17:54:28 +00:00
Nicolas George
1ba2e589cc configure: add --fatal-warnings option. 2012-11-17 12:01:17 +01:00
Nicolas George
c551c3b18b configure: warn when en/disabling has no effect.
Print a warning for --enable- or --disable-something=pattern
does not match any component.
2012-11-17 11:57:17 +01:00
Michael Niedermayer
3db32ec119 Merge commit 'bf5f46b4cc47b7a4568119f224057d4ff91b6cdd'
* 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>
2012-11-16 13:07:10 +01:00
Martin Storsjö
9eded0fe41 configure: Check for -Werror parameters on clang
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-15 18:22:03 +02:00
Michael Niedermayer
4d941eac16 Merge commit '3b4296f41473a5b39e84d7a49d480624c9c60040'
* 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>
2012-11-15 11:12:25 +01:00
Diego Biurrun
e28b7553ae configure: Add option to disable all command line programs 2012-11-14 23:03:36 +01:00
Mans Rullgard
7f1fcaf0e6 ppc: do not pass redundant compiler flags
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>
2012-11-14 13:50:43 +00:00
Michael Niedermayer
7eb40d85f2 Merge commit 'ef1b23ad21e3f12fc4ff2a73a6d4d4cd9d630c4b'
* 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>
2012-11-13 10:55:07 +01:00
Mans Rullgard
9eda2a85c6 configure: remove support for -n flag in print_enabled()
This flag is no longer used.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-12 10:30:02 +00:00
Michael Niedermayer
da501ea857 Merge commit '802713c4e7b41bc2deed754d78649945c3442063'
* commit '802713c4e7b41bc2deed754d78649945c3442063':
  mss2: prevent potential uninitialized reads
  mss2: reindent after last commit
  mss2: fix handling of unmasked implicit WMV9 rectangles
  configure: add lavu dependency to lavr/lavfi .pc files
  x86inc: Set program_name outside of x86inc.asm

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 10:57:06 +01:00
Clément Bœsch
8eecbaf5e4 lavfi: add geq filter. 2012-11-11 23:12:54 +01:00
Diego Biurrun
b8e8a07c6c x86: Require an assembler able to cope with AVX instructions
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
2012-11-11 20:43:28 +01:00
Anton Khirnov
e5e1a06e44 configure: add lavu dependency to lavr/lavfi .pc files 2012-11-11 15:45:18 +01:00
James Zern
12776d5d2a libvpxenc: Allow enabling constrained quality (CQ) mode
The CQ mode was introduced in libvpx 0.9.6.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-08 00:01:54 +02:00
Alexis Ballier
1475815a1a Apply again [916352f282] that got lost in the merges.
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>
2012-11-02 00:28:25 +01:00
Clément Bœsch
fd6707ed0e lavfi/hue: add missing GPL dependency. 2012-10-31 19:28:02 +01:00
Mans Rullgard
674c4a11cb configure: fix print_config() with broke awks
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>
2012-10-30 19:26:07 +01:00
Michael Niedermayer
a201639a01 Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-30 17:47:36 +01:00
Michael Niedermayer
e79c3858b3 Merge commit '14f031d7ecfabba0ef02776d4516aa3dcb7c40d8'
* 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>
2012-10-30 14:40:22 +01:00
Mans Rullgard
d16c4aebba configure: fix print_config() with broke awks
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>
2012-10-30 13:33:29 +00:00
Mans Rullgard
f454e87923 configure: rewrite print_config() function using awk
This is much faster with slow shells and noticeably faster even
with bash on a fast Linux system.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-30 10:28:25 +00:00
Martin Storsjö
9b500b8f6c avcodec: Add a RFC 3389 comfort noise codec
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>
2012-10-29 22:00:43 +02:00
Michael Niedermayer
c73fcc8de3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  yuv4mpeg: reject unsupported codecs
  nutenc: K&R formatting cosmetics
  assdec: fix qsort() callback signature
  configure: detect sparc64 automatically
  vp8: fix memset() crossing array boundary
  h264: fix invalid pointer arithmetic
  amrwbdec: fix invalid pointer arithmetic

Conflicts:
	libavformat/nutenc.c
	libavformat/yuv4mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 14:24:27 +01:00
Mans Rullgard
4cd217c065 configure: detect sparc64 automatically
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 18:24:55 +01:00
Michael Niedermayer
95760b33e7 Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-27 15:02:35 +02:00
Mans Rullgard
1aa07aa21c configure: fix tests for 2-arg math functions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-26 22:50:42 +01:00
Michael Niedermayer
9aa630a520 Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-26 15:20:48 +02:00
Mans Rullgard
6aa93689ab configure: sanitise sparc vis check
It is wrong to force -mcpu=ultrasparc when checking for vis.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-26 12:29:03 +01:00
Michael Kostylev
eadfb0560a configure: recognise more sparc variants as --cpu argument
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-26 12:29:03 +01:00
Michael Niedermayer
aa604e8e33 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: Make LZO decoder code configure-time selectable
  avutil: Move memcpy_backptr() to mem.c
  configure: detect parisc64 automatically
  configure: detect ppc64 automatically
  configure: detect mips64 automatically
  configure: generalise 64-bit test
  smoothstreamingenc: Don't assume streams start from timestamp 0

Conflicts:
	configure
	libavutil/Makefile
	libavutil/lzo.c
	libavutil/lzo.h
	libavutil/mem.c
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 13:15:58 +02:00
Diego Biurrun
2a91ada828 avutil: Make LZO decoder code configure-time selectable 2012-10-25 11:49:49 +02:00
Mans Rullgard
a6e9d64977 configure: detect parisc64 automatically
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-24 16:26:51 +01:00
Mans Rullgard
56203596ae configure: detect ppc64 automatically
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-24 16:26:51 +01:00
Mans Rullgard
2acda282eb configure: detect mips64 automatically
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-24 16:26:51 +01:00
Mans Rullgard
d4c99513f4 configure: generalise 64-bit test
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-24 16:26:51 +01:00
Michael Niedermayer
f3b8096bc0 Merge commit '0c03cc68386443f1e96ab6fb358220faf67cd5ff'
* 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>
2012-10-24 13:42:58 +02:00
Michael Niedermayer
42ee9f3981 build: fix detection of math functions with 2 parameters.
The code from libav seems to have been entirely untested.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 13:15:42 +02:00
Michael Niedermayer
2dbc93455c Merge commit '80521c1997a23e148edf89e11b939ab8646297ca'
* 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>
2012-10-24 12:53:26 +02:00
Mans Rullgard
4ebc6a7410 build: Plan 9 support
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>
2012-10-23 12:01:18 +01:00
Mans Rullgard
80521c1997 build: allow targets to specify extra objects to link with executables
This allows targets to include special objects when linking
executables without including them in (shared) libraries.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:00:22 +01:00
Mans Rullgard
fab0a8b2c6 libm: add fallbacks for various single-precision functions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:00:21 +01:00
Mans Rullgard
c3e73100af network: use getservbyport() only if available
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>
2012-10-23 12:00:21 +01:00
Michael Niedermayer
6912e7a008 Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-20 13:18:59 +02:00
Diego Biurrun
79042ab376 configure: Group math functions into a separate variable
This avoids some duplication when listing and testing for the functions.
2012-10-20 02:34:29 +02:00
Diego Biurrun
4b587848ce configure: Disable Snow decoder and encoder by default
Snow has serious unfixed bugs and no real-world use.
2012-10-19 17:10:10 +02:00
jamal
9434ead2f3 fate: Handle lavf-fate tests in a makefile
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 14:20:11 +02:00
Michael Niedermayer
81ff0c24ef Merge commit '1cd432e167b1a80853760c89a33606e2b5f229c2'
* 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>
2012-10-19 13:58:14 +02:00
Michael Niedermayer
b0554fec04 Merge commit 'c0329748b04e1f175dad8c9c2ebf22a5e2dc5b72'
* 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>
2012-10-19 13:29:24 +02:00
Mans Rullgard
1cd432e167 configure: fix libcdio check
The compiler/linker flags passed to check_lib2 should not be quoted.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-19 01:02:58 +01:00
Martin Storsjö
d66c52c2b3 Add support for building shared libraries with MSVC
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>
2012-10-18 14:26:15 +03:00
Martin Storsjö
53e8cd68b7 configure: Split out msvc as a separate target OS
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>
2012-10-18 14:26:12 +03:00
Michael Niedermayer
3777e6b3bf Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-18 12:16:08 +02:00
Michael Niedermayer
9317b73f11 Merge commit '36ac9a16a19a365ce58cc871484c20cffe9b6401'
* 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>
2012-10-18 11:42:42 +02:00
Mans Rullgard
36ac9a16a1 fate: dependencies for seek tests
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Mans Rullgard
206a070dce fate: list lavfi tests in a makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Mans Rullgard
fa26335003 fate: handle lavf test dependencies entirely in make
This makes the lavf tests depend on all codecs and formats they use.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Alexis Ballier
916352f282 configure: do not quote arguments passed to filter{,_out} in check_ld.
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>
2012-10-17 23:28:50 +02:00
Michael Niedermayer
775d41b617 Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-17 15:53:42 +02:00
Derek Buitenhuis
c75848cd4c configure: Add support for Tilera processors
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-16 18:24:18 -04:00
Michael Niedermayer
5717562c78 Merge commit 'c1fcfdec75468009dc7de29a5d1c6adf3b2ef77d'
* 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>
2012-10-16 13:57:10 +02:00
Michael Niedermayer
d15be9108e Merge commit '66a1ccd7467ab1913cd8877114c6d4c2588bb12f'
* commit '66a1ccd7467ab1913cd8877114c6d4c2588bb12f':
  configure: simplify argument handling in check_ld

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 13:27:19 +02:00
Michael Niedermayer
9270a2b374 Merge commit '4c995fafd861f537360b3717901cdbed6a6844e7'
* 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>
2012-10-16 13:20:46 +02:00
Mans Rullgard
84e65c763d build: simplify enabling of compat objects
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>
2012-10-15 17:46:19 +01:00
Mans Rullgard
66a1ccd746 configure: simplify argument handling in check_ld
Use the existing filter functions instead of open-coding the
separation of general flags and libraries.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 17:46:18 +01:00
Mans Rullgard
4c995fafd8 configure: simplify get_version() function
awk alone can do this, no need for grep.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 17:46:18 +01:00
Luca Barbato
0fbb62a8e6 build: support asan and tsan toolchain shortcuts 2012-10-15 18:25:35 +02:00
Michael Niedermayer
ae237a117a Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-15 14:09:35 +02:00
Mans Rullgard
e98b02de5f configure: check for mprotect
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 02:39:49 +01:00
Michael Niedermayer
d6f6a7557c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: Do not make ff_ symbols globally visible.
  avutil: Rename ff_set_systematic_pal2() ---> avpriv_set_systematic_pal2()
  build: tms470: work around glibc math.h problems
  configure: improve tms470 compiler usage with glibc

Conflicts:
	libavcodec/bmpenc.c
	libavcodec/rawdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 15:11:34 +02:00
Michael Niedermayer
82c0055c5e Merge commit 'b5198a2637b7b45b0049a1d4b386a06f016f2520'
* 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>
2012-10-14 14:46:13 +02:00
Mans Rullgard
b5198a2637 configure: tms470: add mapping for -mfpu=vfpv3-d16 flag
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13 18:21:36 +01:00
Mans Rullgard
b6f8d635f2 build: tms470: work around glibc math.h problems
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>
2012-10-13 18:21:36 +01:00
Mans Rullgard
5ab432fa35 configure: improve tms470 compiler usage with glibc
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>
2012-10-13 18:21:36 +01:00
Michael Niedermayer
15ef1cfe64 Merge commit 'f5962229bfcb14c2879e69ccdf7f1a4934168609'
* 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>
2012-10-13 16:39:42 +02:00
Michael Niedermayer
85fe70b64c Merge commit 'ca411fc1d34329cd17b28627f697e391ae52073f'
* commit 'ca411fc1d34329cd17b28627f697e391ae52073f':
  avcodec: Remove broken MMI optimizations

Conflicts:
	arch.mak
	configure
	libavcodec/avcodec.h
	libavcodec/mips/Makefile
	libavcodec/mips/dsputil_mmi.c
	libavcodec/mips/idct_mmi.c
	libavcodec/mips/mmi.h
	libavcodec/mips/mpegvideo_mmi.c
	libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 15:25:11 +02:00
Mans Rullgard
741a8b724e configure: recognise Minix as OS
No special setup is required for Minix.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13 14:05:55 +01:00
Mans Rullgard
ac17ccf73a configure: work around bug in ash shell
The ash 'test' builtin misbehaves if the first operand of a binary
operator looks like a unary operator.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13 14:05:55 +01:00
Mans Rullgard
a77f01c725 configure: use utilities from /usr/xpg4/bin if it exists
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>
2012-10-12 23:57:01 +01:00
Diego Biurrun
ca411fc1d3 avcodec: Remove broken MMI optimizations
The code fails to compile and is broken beyond repair.
2012-10-12 20:56:54 +02:00
Michael Niedermayer
a33ed6bc74 Merge commit 'b7f1010c8fce09096057528f7cd29589ea1ae7df'
* 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>
2012-10-12 15:34:49 +02:00
Michael Niedermayer
43cce41267 Merge commit '0a75d1da23b8659ec49391469bb592da12760077'
* 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>
2012-10-12 14:15:33 +02:00
Mans Rullgard
fdd666094d build: add support for Tru64 (OSF/1)
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-12 02:17:54 +01:00
Martin Storsjö
1093383d6c random_seed: Support using CryptGenRandom on windows
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-11 18:49:34 +03:00
Stefano Sabatini
c4aaff8c02 Revert "configure: link flite against libasound"
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).
2012-10-11 11:19:18 +02:00
Stefano Sabatini
396648cc6a configure: link flite against libasound
libflite depends on libasound. Fix a linking failure when linking against
a static version of libflite.

Reported-by: Vladimir Kraljevic
2012-10-11 11:08:48 +02:00
Michael Niedermayer
ef9fe5bedd Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-09 13:06:04 +02:00
Diego Biurrun
a75b9a1804 mingw/cygwin: Stop adding -fno-common to gcc CFLAGS
This was done to work around toolchain bugs that have long been fixed.
2012-10-09 11:39:26 +02:00
Paul B Mahol
238e904df3 DTS-HD demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-09 08:59:09 +00:00
Michael Niedermayer
e73bac484f configure: add support to nicely enable ftrapv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 06:02:34 +02:00
Mans Rullgard
643933f51d build: add LTO support for PGI compiler
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-08 22:30:41 +01:00
Mans Rullgard
8f23907f3e build: add -Mdse to PGI optimisation flags
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>
2012-10-08 22:30:41 +01:00
Paul B Mahol
d7a4739265 TAK demuxer, decoder and parser
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-08 09:06:25 +00:00
Michael Niedermayer
293e5423c6 configure: enable -Werror=vla
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 14:03:32 +02:00
Michael Niedermayer
55c49afc42 Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-06 13:45:08 +02:00
Mans Rullgard
c07d56a684 build: error on variable-length arrays
With all the VLAs gone, make sure they never come back.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-05 22:33:32 +01:00
Carl Eugen Hoyos
d9dfe9a5ae Fix libcdio detection. 2012-10-05 21:45:02 +02:00
Carl Eugen Hoyos
4c5a9fd65a Fix showspectrum dependencies: Add rdft. 2012-10-05 20:13:02 +02:00
Paul B Mahol
0a7d4ea31b configure: dts demuxer needs dca_parser
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-05 17:22:20 +00:00
Michael Niedermayer
0ed023275f Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-05 17:04:15 +02:00
Michael Niedermayer
2a77d4f70b Merge commit '65d12900432ac880d764edbbd36818431484a76e'
* 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>
2012-10-05 16:52:13 +02:00
Diego Biurrun
f6fbce761e x86: Drop CPU detection intrinsics
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.
2012-10-04 19:29:14 +02:00
Mans Rullgard
65d1290043 configure: add --enable-lto option
This works with gcc.  Other compilers might need to have a flag
mapping added.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-04 18:21:49 +01:00
Diego Biurrun
1e164c0bcc build: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIO
A new hidden config variable is added for the codecs that depend on the
mpegaudio parts.
2012-10-04 17:58:42 +02:00
Michael Niedermayer
741f5b021a Merge commit '29abb04e73b0580ebe38703cadb988d26df6a76a'
* 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>
2012-10-04 12:30:25 +02:00
Diego Biurrun
fd712a5584 configure: Refactor HAVE_ options available on the command line 2012-10-03 18:08:25 +02:00
Michael Niedermayer
032ba74ed2 Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-02 19:48:54 +02:00
Michael Niedermayer
82db8ee321 Merge commit 'fd41cb43702498948ff14ba8c284fd5c15fc729d'
* commit 'fd41cb43702498948ff14ba8c284fd5c15fc729d':
  avconv: improve sample format negotiation for decoder request
  Opus encoder using libopus
  mpegts: Drop pointless casting of hex_dump_debug arguments
  avformat: const correctness for av_hex_dump / av_hex_dump_log
  wmadec: Adjust debug printf argument length modifier

Conflicts:
	Changelog
	ffmpeg.c
	libavcodec/libopusdec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 14:58:19 +02:00
Derek Buitenhuis
bd680c7b49 msvc: Fix detection of VFW & Avisynth required libs
It should be vfw32.lib with MSVC.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-01 16:39:40 -04:00
Clément Bœsch
d771b1d137 lavfi: EBU R.128 scanner. 2012-10-01 22:26:19 +02:00
Nathan Caldwell
6cb8c85409 Opus encoder using libopus
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-01 14:42:40 +02:00
jamal
062cd9acc1 fate: Fix --disable-zlib
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 16:09:05 +02:00
jamal
b75c3d2b8b swresample: Create version.h header
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:10:36 +02:00
jamal
ec87389183 postproc: Create version.h header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:06:26 +02:00
Nicolas George
44617d6ec9 Opus decoder using libopus
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-28 11:03:20 +02:00
Michael Niedermayer
4fefe91a33 configure: add missing dependancies for gpl tests
fixes fate without --enable-gpl

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 05:25:22 +02:00
Derek Buitenhuis
7133d25425 configure: Fix 10l in 5ae9fa13f5
Wrong version of the patch was pushed. MinGW32 supports vsnprint properly.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-25 18:21:53 -04:00
Derek Buitenhuis
5ae9fa13f5 MinGW: Use our snprintf/vsnprintf when MinGW's is broken
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>
2012-09-25 18:14:14 -04:00
Michael Niedermayer
c75b611a38 configure: enable runtime cpu detect by default.
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>
2012-09-24 13:17:29 +02:00
Sebastien Zwickert
f25d53d95f configure: disable VDA on ppc, fix build
Fixes Ticket1760

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 17:27:44 +02:00
Clément Bœsch
7bc70930dd lavf/movenc: add F4V flavor. 2012-09-21 15:14:11 +02:00
Michael Niedermayer
406cdddbdd Merge remote-tracking branch 'qatar/master'
* 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>
2012-09-21 14:44:32 +02:00
Clément Bœsch
2f39d7ff3f lavfi/select: make lavc dependency optional. 2012-09-20 18:45:47 +02:00
Mans Rullgard
0122118ec3 configure: update tms470 detection for latest version
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>
2012-09-20 14:56:56 +01:00
jamal
33f92a3ea2 configure: fix git domain check with out of tree build
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 12:54:09 +02:00
Michael Niedermayer
61ced71d79 Merge commit '581281e242609a222233a2e5538b89dfb88fb18e'
* 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>
2012-09-20 03:20:29 +02:00
Michael Niedermayer
161c6d1682 configure: Detect old git domain and inform the user about it.
Based on code by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 00:53:56 +02:00
Michael Niedermayer
67d501b4f1 Merge commit '1b3439b3055b083df51d7f7838ecc6b3f708b15c'
* 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>
2012-09-19 15:13:53 +02:00
Mans Rullgard
ac3a9b51f7 configure: msvc: default to 'lib' as 'ar' tool
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-19 14:09:50 +01:00
Mans Rullgard
3dbc777c7f build: support some non-standard ar variants
This adds support for the TI and Microsoft (lib.exe) variants of
the ar utility.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-19 14:09:50 +01:00
Mans Rullgard
aeeb782c2a configure: add --toolchain option
This allows creating canned shorthands for common combinations
of cc, ld etc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-18 23:43:05 +01:00
Carl Eugen Hoyos
9e208ce6dd Silence warning C4554 when compiling with msvc.
warning C4554: '>>' : check operator precedence for possible error; use parentheses to clarify precedence

Reviewed-by: Derek Buitenhuis
2012-09-18 18:38:16 +02:00
Martin Storsjö
e772f9faec configure: Make the smoothstreaming muxer enable the ismv muxer
This doesn't fix any build failure, but the smoothstreaming muxer
opens a chained ismv muxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-18 17:59:59 +03:00
Michael Niedermayer
4cdc337b5d Merge remote-tracking branch 'qatar/master'
* 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>
2012-09-18 15:06:43 +02:00
Mans Rullgard
2a8a860ae6 configure: include flags in nm variable
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>
2012-09-17 22:36:06 +01:00
Derek Buitenhuis
31fbdecce8 msvc: Disable stripping
MSVC-built binaries should not be stripped.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-15 19:44:54 -04:00
Mans Rullgard
692dd8ed26 configure: x86: improve ebp availability check
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>
2012-09-14 15:26:05 +01:00
Michael Niedermayer
e3e09f2bad Merge remote-tracking branch 'qatar/master'
* 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>
2012-09-13 15:35:50 +02:00
Martin Storsjö
ca6b544ac9 os_support: Choose between direct.h and io.h using a configure check
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 14:56:54 +03:00
Michael Niedermayer
ddc9bc7721 configure: try to support clang on netbsd
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>
2012-09-12 19:37:29 +02:00
Michael Niedermayer
ac0f1ae64b Merge remote-tracking branch 'qatar/master'
* 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>
2012-09-12 11:46:47 +02:00
Marton Balint
66532cbfdc configure: add crop filter as ffplay requirement
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-09-11 22:15:38 +02:00
Michael Niedermayer
ec7946853a Merge remote-tracking branch 'qatar/master'
* 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>
2012-09-11 15:24:22 +02:00
Martin Storsjö
6121a3ef7f configure: Only disable aligned stack on MSVC on 32 bit
On 64 bit, the stack seems to be aligned enough for our needs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-11 16:18:03 +03:00
Diego Biurrun
f69f51b3b2 configure: indentation cosmetics 2012-09-11 14:34:26 +02:00
Carl Eugen Hoyos
20361bcc26 The TrueHD decoder needs the MLP parser. 2012-09-11 12:19:09 +02:00
Martin Storsjö
5fa22ae346 configure: Adjust the xgetbv instrinsic check
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>
2012-09-10 19:46:06 +03:00
Diego Biurrun
afb5ed55d2 configure: Add --disable-inline-asm command line option
This can come in handy for testing and possibly other purposes.
2012-09-10 18:31:51 +02:00
Martin Storsjö
88a3569917 configure: Don't try to enable the log2 function on msvcrt
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>
2012-09-10 17:23:32 +03:00
Michael Niedermayer
77aedc77ab Merge remote-tracking branch 'qatar/master'
* 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>
2012-09-09 13:27:42 +02:00
Mans Rullgard
6a0200f24d configure: msvc: fix/simplify setting of flags for hostcc
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-08 15:09:13 +01:00
Derek Buitenhuis
d940b0a0f9 vf_mp: Do not build if inline assembly is not available
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>
2012-09-07 22:27:20 +02:00
Ronald S. Bultje
f3be359707 file: Only include unistd.h if it exists
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>
2012-09-07 18:41:23 +02:00
Michael Niedermayer
fa85118510 Merge remote-tracking branch 'qatar/master'
* 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>
2012-09-07 13:50:24 +02:00
Michael Niedermayer
40112e7b35 Merge remote-tracking branch 'qatar/master'
* 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>
2012-09-06 16:23:17 +02:00
Michael Niedermayer
2bb62455c8 Revert "lavu: add snprintf(), vsnprint() and strtod() replacements for MS runtime."
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>
2012-09-06 16:14:34 +02:00
Michael Niedermayer
376b16d7cc Merge commit '0db2d94280e260af5f3ad7993c5a6357462f17c9'
* 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>
2012-09-06 16:05:40 +02:00
Martin Storsjö
a224b2cb30 configure: Set the right cc_e flags for msvc
The default ones work, but outputs the preprocessed file on stdout
(into config.log).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-06 17:05:10 +03:00
Stefano Sabatini
29e972f67c lavu/parseutils: add av_small_strptime()
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.
2012-09-06 00:40:01 +02:00
Martin Storsjö
4a185ed2d4 configure: Disable some warnings in MSVC
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>
2012-09-05 23:20:24 +03:00
Ronald S. Bultje
dfa559bcbd configure: Add support for MSVC cl.exe/link.exe
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 17:07:40 +03:00
Ronald S. Bultje
4fa661a857 lavu: add snprintf(), vsnprint() and strtod() replacements for MS runtime.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 17:07:30 +03:00
Mans Rullgard
b797f3c4d0 configure: add section for libc-specific hacks
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 17:07:17 +03:00
Mans Rullgard
a3222470de build: disable ranlib on mingw
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>
2012-09-05 17:07:11 +03:00
Michael Niedermayer
b21b5b04cc Merge remote-tracking branch 'qatar/master'
* 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>
2012-09-05 15:02:17 +02:00
Diego Biurrun
6980453569 build: eamad: Add missing dependency on mpegvideo code 2012-09-05 11:50:30 +02:00
Diego Biurrun
aa66111365 build: utvideoenc: Add missing dependency on Huffman code 2012-09-05 11:50:30 +02:00
Michael Niedermayer
daa3c28895 configure: update sinks used by ffplay/ffmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 18:51:59 +02:00
Michael Niedermayer
9dcc4c30f9 Merge remote-tracking branch 'qatar/master'
* 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>
2012-09-04 17:04:51 +02:00
Diego Elio Pettenò
b36f87ff90 configure: add support for bdver1 and bdver2 CPU types.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-04 15:31:03 +02:00
jamal
c112b6b68f configure: Treat warnings as errors in check_yasm()
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>
2012-09-01 23:45:32 +02:00
Michael Niedermayer
42e78552c8 configure: add switch to enable debian/libav compatible ABI
needed for avcodec_find_best_pix_fmt2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 21:35:39 +02:00
Stefano Sabatini
fa838a0c0f configure: add decimate filter dependency on avcodec 2012-08-31 17:49:24 +02:00
Stefano Sabatini
9dd3d6c72a lavfi: port decimate libmpcodecs filter
This filter is based on the MPlayer decimate filter by Rich Felker.
2012-08-31 16:04:37 +02:00
Michael Niedermayer
c617bed34f Merge remote-tracking branch 'qatar/master'
* 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>
2012-08-31 13:34:32 +02:00
Michael Niedermayer
98298eb103 Merge commit 'ec36aa69448f20a78d8c4588265022e0b2272ab5'
* 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>
2012-08-31 13:01:30 +02:00
Alberto Delmás
ee769c6a7c MSS2 decoder
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-08-31 07:37:16 +02:00
Mans Rullgard
d96d6ba618 configure: handle --disable-asm before check_deps
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>
2012-08-31 01:59:23 +01:00
Diego Biurrun
43b73d59a8 configure: x86: Separate inline from standalone assembler capabilities 2012-08-31 01:53:25 +02:00
Diego Biurrun
50cd43f2cd configure: Add more fine-grained SSE CPU capabilities flags 2012-08-30 19:29:32 +02:00
Michael Niedermayer
e8e4c8bdde Merge remote-tracking branch 'qatar/master'
* 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>
2012-08-30 17:28:21 +02:00
Michael Niedermayer
8579d4b2f0 Merge remote-tracking branch 'qatar/master'
* 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>
2012-08-29 18:13:00 +02:00
Michael Niedermayer
1c66807636 Merge commit 'd488c3bcbaf7ddda42597e014deb661a7e9e2112'
* 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>
2012-08-29 18:04:34 +02:00
Mans Rullgard
8db73c61a7 build: allow non-standard variations of linker -l/-L flags
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>
2012-08-29 14:16:54 +01:00
Mans Rullgard
7baa115a33 build: export filtered -lz flag in config.mak
This is needed to link tools/cws2fws using a linker with non-standard
command line syntax.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-28 23:40:30 +01:00
Mans Rullgard
095792f253 build: add separate setting for host linker
This adds new HOSTLD and related settings for host linker allowing
it to be different from HOSTCC.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-28 23:40:30 +01:00
Mans Rullgard
2763587c83 configure: probe_cc: use separate variable for linker output flag
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>
2012-08-28 23:40:30 +01:00
Brad Smith
d488c3bcba configure: support Bitrig OS
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-29 00:14:52 +02:00
Jérémy Tran
316afee708 lavfi: add smartblur filter
This is a port of the MPlayer smartblur filter (libmpcodecs/vf_smartblur.c)
by Michael Niedermayer.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-28 19:48:16 +02:00
Ronald S. Bultje
ba53720280 lavu: add snprintf(), vsnprint() and strtod() replacements for MS runtime.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 17:52:03 +02:00
Michael Niedermayer
5a582bd3b5 huffman: add ff_huff_gen_len_table
The function will be used by utvideo as well.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-28 17:43:25 +02:00
Michael Niedermayer
416d2f7a12 Merge remote-tracking branch 'qatar/master'
* 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>
2012-08-28 16:28:48 +02:00
Michael Niedermayer
e3b87b355c configure: fix vda order
Found-by: compn
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 04:10:50 +02:00
Xidorn Quan
78cca74222 vdadec: implement vda decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 04:07:53 +02:00
Mans Rullgard
ae43c4c0c0 configure: use HOSTCC_C/O in check_host_cc
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-27 23:14:06 +01:00
Mans Rullgard
df0d634138 configure: use AS_O setting in check_as
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-27 23:14:06 +01:00
Mans Rullgard
29b64b6827 configure: use LD_O setting in check_ld()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-27 23:14:06 +01:00
Brad Smith
d5683aba5a configure: Fix shared library creation for OpenBSD
OpenBSD does not expect or require symlinked shared libraries with
just the major version in the name.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-27 20:37:47 +02:00
Michael Niedermayer
3f943fe681 huffman/huffyuv: move lorens huffman table generation code to huffman.c/h
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-22 16:52:07 +02:00
Michael Niedermayer
3699960690 Merge remote-tracking branch 'qatar/master'
* 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>
2012-08-22 14:37:03 +02:00
Diego Biurrun
66baa45801 configure: Drop fastdiv option
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.
2012-08-22 01:02:18 +02:00
Diego Biurrun
4264a0dd54 build: Make the E-AC-3 encoder select the AC-3 encoder
The E-AC-3 encoder depends on almost all of the code of the AC-3
encoder, so it makes no sense to enable one without the other.
2012-08-22 01:02:17 +02:00