Commit Graph
100 Commits
Author SHA1 Message Date
Mans Rullgard ff1efc524c threads: allow thread count of zero
This moves setting the thread count to a minimum of 1 to
frame_thread_init(), allowing a value of zero to propagate
through to the codec if frame threading is not used.  This
makes auto-threads work in libx264.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-02 14:06:48 +00:00
Mans Rullgard 00ba041cb3 Use --sysroot flag for clang
Although not documented, clang does support the --sysroot flag, and it
does the right thing.  Use this flag intead of -isysroot which only
applies to header file searches, not the linker.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-28 02:55:50 +00:00
Mans Rullgard 0b32da90f8 ARM: VP8: fix build on systems with global symbol prefix
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-27 13:53:26 +00:00
Mans Rullgard 8b454c352f ARM: fix vp8 neon with pic enabled
The assembler emits literal pools too far from the load instructions,
so we must do it explicitly at a suitable location.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-27 13:53:21 +00:00
Mans Rullgard aa3805a486 fate: get samples location from env var if not explicitly set
Use the FATE_SAMPLES environment variable if samples location
is not set with the --samples configure option or on the make
command line.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-26 11:51:55 +00:00
Mans Rullgard 8997bb8807 bink: use LOCAL_ALIGNED for aligned stack data
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-25 19:50:14 +00:00
Mans Rullgard e0e46cae37 vp8: ppc: fix invalid reads in altivec epel mc
The 4-tap filters should only access one row/column before the
reference block.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-21 20:28:41 +00:00
Mans Rullgard 381efba0ec ppc: fix vc1 inverse transform, unbreak build
GCC 4.3 and later are more particular about signedness matching
in vector operations.  The operations under if(rangered) were
missing assignments and thus had no effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-21 20:28:37 +00:00
Mans Rullgard 08df7f8666 Makefile: include deps from tools directory
This ensures the tools are rebuilt when necessary.  Specifically,
lavfi-showfiltfmts was sometimes not rebuilt causing spurious test
failures.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-20 18:04:52 +00:00
Mans Rullgard 1efa772e20 amrnb: use correct size when copying lsf_r array
lsf_r is an array of int16_t, not float.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-20 17:31:48 +00:00
Mans Rullgard ef66953875 x86: use raw opcode for xgetbv instruction
This allows the CPU detection to work with assemblers not supporting
the xgetbv mnemonic.  These include clang and some BSD versions.

All AVX code will be written for yasm, where the main assembler
is not involved.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-20 17:31:23 +00:00
Mans Rullgard 87f1355f9b x86: check for AVX support
This adds configure and runtime checks for AVX support on x86 CPUs.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-20 13:20:42 +00:00
Mans Rullgard 8ed4cc65a1 APIchanges: update for 55bad0c: vbv_delay
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-15 14:20:53 +00:00
Mans Rullgard 2dd1ee4bfe mpegtsenc: whitespace cosmetics
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-14 23:18:26 +00:00
Mans Rullgard 935ee1b9bb apichanges: update for 24a83bd: add AV_DISPOSITION_CLEAN_EFFECTS flag
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-14 23:17:37 +00:00
Mans Rullgard 08a459f096 Update APIchanges for 910b5b8
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-14 13:08:23 +00:00
Mans Rullgard aabc2682fc asfdec: fix build for big endian targets
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-13 22:10:45 +00:00
Mans Rullgard 3ad464bfc7 configure: fix non-standard regex used with expr
The colon operator of expr always anchors the pattern at the start
of the string.  An explicit ^ in the pattern has unspecified
behaviour, so remove it.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-13 21:00:03 +00:00
Mans Rullgard 5d57846bba configure: report full gcc version string
This makes the cc_ident value, which is used in FATE reports, include
all interesting parts of the gcc version string.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-13 16:22:14 +00:00
Mans Rullgard bb7a22b584 configure: add cleanws() function
This function removes leading and trailing spaces and collapses
multiple spaces into one.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-13 16:22:14 +00:00
Mans Rullgard f344903ca5 Fix MMX rgb24 to yuv conversion with gcc 4.6
When built with gcc 4.6, the MMX rgb24 to yuv conversion gives
wrong output.  The compiler produces this warning:

libswscale/swscale_template.c:1885:5: warning: use of memory input without lvalue in asm operand 4 is deprecated

Changing the memory operand to a register makes it work.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-13 01:42:32 +00:00
Mans Rullgard 4b884207eb configure: remove early check_deps $ARCH_EXT_LIST
The early disabling of irrelevant arch extensions is no longer
required, and removing it makes dependencies involving these
work as expected.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-11 18:45:21 +00:00
Mans Rullgard a7878c9f73 VP8: ARM optimised decode_block_coeffs_internal
Approximately 5% faster on Cortex-A8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-11 15:48:11 +00:00
Mans Rullgard 7da48fd011 ARM optimised vp56_rac_get_prob()
Approximately 3% faster on Cortex-A8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-11 15:48:10 +00:00
Mans Rullgard 44adbebe17 Remove final semicolon from some macros
This avoids double semicolons after macro expansion.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 21:45:17 +00:00
Mans Rullgard b4668274b9 Remove incorrect return statement from avcodec_thread_free()
The function return type is void, so a return statement with an
expression is forbidden (and pointless).

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 14:17:24 +00:00
Mans Rullgard dbb09ec23f ivi_dsp: remove semicolons after function definitions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 14:17:24 +00:00
Mans Rullgard 628b16f45f mov: remove stray semicolon
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 14:17:24 +00:00
Mans Rullgard 9a77a92c2b Fix build with threading disabled
The avcodec_thread_free() compatibility wrapper calls ff_thread_free(),
which is not defined when threading is disabled.  Make this call
conditional.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-09 20:52:28 +00:00
Mans Rullgard aef669cdfd w32thread: add missing #include thread.h
This should fix building with win32 threads.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-09 20:52:28 +00:00
Mans Rullgard a1c1d3c003 VP8: ARM NEON optimisations for dsp functions
This adds NEON optimised versions of all functions in VP8DSPContext.
Based on initial work by Rob Clark.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-07 16:08:23 +00:00
Mans Rullgard b9a639ddd6 ARM: add helper macro for declaring constant data
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-02 11:35:51 +00:00
Mans Rullgard f3619680a7 Makefile: remove unused variable ALLHTMLPAGES
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-01 12:33:13 +00:00
Mans Rullgard 7f939f55bb Makefile: build docs only for enabled tools; fix docs dependencies
This makes "make documentation" build the man/html pages only for
the tools enabled in the build.  It also fixes the dependency
tracking for the built man pages.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-01 12:33:09 +00:00
Mans Rullgard a0f9c8ce37 Auto-generate dependencies for documentation
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-01 00:10:00 +00:00
Mans Rullgard 740ad0d14d mpegtsenc: fix PMT PID calculation
445996aa51 caused the PMT PID to be
off by one.  This corrects it.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 16:58:23 +00:00
Mans Rullgard 365e3c7878 Rename attribute_used to av_used and move it to attributes.h
This is consistent with most of the other attribute macros.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 16:01:26 +00:00
Mans Rullgard d33ed7b367 Enable native build on QNX/x86 2011-01-30 01:05:39 +00:00
Mans Rullgard d461a47317 Rearrange MpegEncContext to simplify access from asm
This moves the fields needed by asm near the top, before any
structs or other members which complicate the offset calculation.
Modifying other structs will no longer require updating the offsets,
and the asm code is slightly simpler due to the smaller offsets.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-29 17:14:29 +00:00
Mans Rullgard 0745116c10 ARM: update MpegEncContext offsets 2011-01-29 04:39:39 +00:00
Mans Rullgard 362d8f7d9e os_support: make poll() fallbacks conditional on CONFIG_NETWORK
poll() is only used by networking code, so the fallback should
only be built if networking is enabled.  Also remove CONFIG_FFSERVER
condition from the declarations.

This should fix building on systems without poll(), broken
by a8475bbdb6.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-28 17:23:19 +00:00
Mans Rullgard 79dca23dc2 Update mpegts test reference
The output was changed by a7827a17c6.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-28 17:02:54 +00:00
Mans Rullgard c4f8765ac5 Revert "mov: simplify mov_read_chapters() by using avio_get_str16be"
This reverts commit c34461b35b.
The wrong version of the patch was committed.
2011-01-26 22:03:21 +00:00
Mans Rullgard d0f0f6287c armcc: filter out non-gcc options from ASFLAGS
This allows passing armcc-specific flags with --extra-cflags without
choking the assembler.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 20:32:08 +00:00
Mans Rullgard 9d201b2606 configure: add filter_out() function
This adds a function to filter out words matching a pattern
from a list.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 20:32:08 +00:00
Mans Rullgard e781c4e6ff intfloat_readwrite: include "mathematics.h" for fallback macros
This allows this file to build on systems lacking NAN or INFINITY
in math.h.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 15:57:53 +00:00
Mans Rullgard 1e48cdaac3 tty: remove superflous #include <strings.h>
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 15:57:53 +00:00
Mans Rullgard 21c900129c ac3: remove ff_ac3_critical_band_size_tab[] external declaration
This fixes compilation broken by 6ed3b504f9

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 15:50:51 +00:00
Mans Rullgard 3d157bf31f Makefile: fix cleaning of tools in tests directory
The variable TESTPROGS is reset by the library makefiles,
use another name.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 13:43:54 +00:00
Mans Rullgard e153e9a53a latm: remove superflous #includes
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 03:35:10 +00:00
Mans Rullgard 6081f8c4e2 avidec: make print_tag() a macro and remove related ifdefs
The dprintf macro is a no-op if DEBUG is not defined, so there
is no need to guard it here.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 02:43:28 +00:00
Mans Rullgard aa61e39eac Make denoise_dct_c() and dct_quantize_trellis_c() static in definitions
1d4da6a460 added static to the
prototypes for these fuctions.  Adding it to the definitions
as well.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 01:02:19 +00:00
Mans Rullgard 80944df720 x86: fix overflow in h264 8x8 planar prediction
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-24 23:24:28 +00:00
Mans Rullgard e63dd5fb04 fate: add h264 test for extreme cases in planar prediction
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-24 22:26:13 +00:00
Mans Rullgard efa6ce9982 ffserver: put gcc attribute under proper ifdef 2011-01-24 22:09:37 +00:00
Mans Rullgard 78f318be59 ARM: NEON: fix overflow in h264 16x16 planar pred
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-24 14:59:46 +00:00
Mans Rullgard 5f3b8314a4 Add CFLAGS needed by PathScale compiler
The PathScale compiler miscompiles wrapping arithmetic without
these flags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-24 01:59:15 +00:00
Mans Rullgard a1e4b3f6d3 Disable symbol versioning on some BSDs
Dragonfly, NetBSD, and OpenBSD do not support symbol versioning
although our link test passes.  Disable it explicitly for these
systems.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-23 21:33:31 +00:00
Mans Rullgard 7a5a168abe MIPS: use inline asm only when supported by compiler 2011-01-23 19:05:08 +00:00
Mans Rullgard f162e988aa Remove redundant checks against MIN_CACHE_BITS
With the removal of the libmpeg2 bitstream reader, MIN_CACHE_BITS
is always >= 25, so tests against smaller values can be removed.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-23 16:41:04 +00:00
Mans Rullgard 611a6f59ce get_bits: move tracing macros to end of file
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-23 16:40:53 +00:00
Mans Rullgard fb5c841d5f Sanitise get_bits macros, part 2
These whitespace changes improve the readability of the get_bits
macros.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-23 13:57:56 +00:00
Mans Rullgard bf5f9b528b Sanitise get_bits macros, part 1
Some of the macros in get_bits.h include a final semicolon,
some do not.  This removes these or adds do {} while(0) around
the macros as appropriate and adds semicolons where needed in
calling code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-23 13:57:56 +00:00
Mans Rullgard 938f72e199 Remove "libmpeg2" bitstream reader
Using the libmpeg2 reader causes errors in a multitude of places,
including MPEG and H264 codecs.  As the advantage of this reader
is questionable, removing it seems the sensible course of action,
especially considering the simplifications this allows elsewhere
with the bit cache size increasing from 17 to 25 bits as minimum.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-23 13:57:56 +00:00
Mans Rullgard 2b39962eb6 Makefile: simplify test tools handling
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-23 13:55:35 +00:00
Mans Rullgard 96aad41e81 Make LOCAL_ALIGNED macro fully C99 compatible
C99 variadic macros require more arguments than there are named
parameters in the definition.  This means we must use an extra
indirection to avoid having two different macros for arrays with
one resp more than one dimension.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 16:18:45 +00:00
Mans Rullgard 76edf2c137 fate: add lossless h264 test
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 03:08:21 +00:00
Mans Rullgard f4b1e21a63 fate: make lavfi tests output only md5
Instead of saving huge raw files, use the md5: output pseudo-protocol
to calculate the checksum of the file directly.  This is especially
useful when testing on remote targets as it avoids transferring 3.6GB
over the network.
2011-01-22 00:30:12 +00:00
Mans Rullgard 4ad66441c9 Fix libavformat version extraction in configure
This fixes shared library builds broken by
50196a982b

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 21:51:06 +00:00
Mans Rullgard a210bce298 configure: better test for mktemp
Some variants of mktemp require a template, so provide one when
checking for the command.  We already supply a template in the
subsequent uses of mktemp.

Thanks to Michael Kostylev.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 20:54:03 +00:00
Mans Rullgard 93bb9ff08e configure: simplify exit traps
This does the same thing and also fixes the trapping in
some (possibly broken) shells.

Suggested by Michael Kostylev.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 20:47:58 +00:00
Mans Rullgard c2dd0e9eba Make demuxers auto-select parsers they need
This makes configure --disable-everything --enable-demuxer=foo
work as expected.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 18:36:13 +00:00
Mans Rullgard 583fcb528c Makefile: simplify setting of some variables
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 15:36:05 +00:00
Mans Rullgard 2611e52088 dca: pretty-print some tables
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 10:37:21 +00:00
Mans Rullgard f0f54c297f Make PNG test depend on PNG codec
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-20 18:01:03 +00:00
Mans Rullgard 09a5c2452c configure: fix mktemp test and fallback function 2011-01-18 22:17:10 +00:00
Mans Rullgard 44caaa560b ARM: improve VFP ABI check
Recent gcc versions define __ARM_PCS or __ARM_PCS_VFP to indicate the
VFP ABI in use, and ARM RVCT defines __SOFTFP__ when using this ABI.
If none of these are defined, check $cross_prefix and $cc for the
substring "hardfloat", and finally fall back to a linker test.  This
gives the correct result in most configurations.
2011-01-18 20:48:25 +00:00
Mans Rullgard b0c1b66a4b armcc: suppress warning about hardfp compatibility 2011-01-18 20:48:25 +00:00
Mans Rullgard 5a92140b6e armcc: suppress 'assignment in condition' warning 2011-01-18 20:48:24 +00:00
Mans Rullgard 3240b371f8 fate: simplify vp8 rules 2011-01-18 20:48:24 +00:00
Mans Rullgard a6e5d231e9 a64enc: make PixelFormat arrays const 2011-01-18 20:48:24 +00:00
Mans Rullgard ef4a65149d Replace ASMALIGN() with .p2align
This macro has unconditionally used .p2align for a long time and
serves no useful purpose.
2011-01-18 20:48:24 +00:00
Mans Rullgard ac3c9d0169 x86: remove VLA in ac3_downmix_sse 2011-01-18 20:48:24 +00:00
Mans Rullgard ee6184a8d9 regtest: add openssl to md5 alternatives 2011-01-18 20:48:24 +00:00
Mans Rullgard fb3c4ffc4b configure: make $TMPE executable
This is required on systems where the linker does not change
the permissions of an existing output file.
2011-01-18 20:48:24 +00:00
Mans Rullgard ec5f57192a cpu-test: include stdio.h only for test prog 2011-01-18 20:48:24 +00:00
Mans Rullgard fef2d66166 Use -Bsymbolic for shared libs only, not executables
Some linkers fail if this flag is used when creating an executable file.
Since the flag is meaningful only for shared libraries, dropping it from
the main link flags is correct.
2011-01-18 20:48:24 +00:00
Mans Rullgard 324e7ee260 Use INFINITY and NAN macros instead of 1/0 and 0/0 2011-01-18 20:48:23 +00:00
Mans Rullgard f318ee3e37 Fix quoting in version.sh 2011-01-18 20:48:23 +00:00
Mans Rullgard daed21a17e avfilter: remove stray semicolon 2011-01-18 20:48:23 +00:00
Mans Rullgard 69c92320d7 Update git-howto with ffmpeg.org URLs 2011-01-18 20:48:23 +00:00
Måns Rullgård 0795b86174 avassert: add missing #include <stdlib.h>
Originally committed as revision 25286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 13:55:20 +00:00
Måns Rullgård f23ceeb84d avassert: prettify macro
Originally committed as revision 25285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 13:55:16 +00:00
Måns Rullgård b64b4134d5 Rename libavutil/assert.h to avassert.h
This avoids conflicts with the system assert.h.

Originally committed as revision 25284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 13:55:13 +00:00
Måns Rullgård 483480b5ae Fix out of tree builds with vf_yadif and mmx
Originally committed as revision 25237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 22:10:39 +00:00
Måns Rullgård 536e229ae2 yadif: remove unnecessary #include
Originally committed as revision 25215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 22:37:45 +00:00
Måns Rullgård b6c0689456 configure: detect nasm vs yasm and set flags correspondingly
Originally committed as revision 25213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 21:01:24 +00:00
Måns Rullgård 3288177150 ARM: change return type of AV_RN16() to unsigned
This prevents gcc inserting useless UXTH instructions, at least
in some cases.

Originally committed as revision 25212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 21:01:20 +00:00
Måns Rullgård 8c067b5dfd Update rv20 seek test reference
Originally committed as revision 25204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 09:02:51 +00:00
Måns Rullgård 2c1da681b8 Create libavfilter/$arch when building outside source tree
Originally committed as revision 25200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 17:13:29 +00:00