Commit Graph

181 Commits

Author SHA1 Message Date
Michael Niedermayer b5875b9111 Add libswresample.
Similar to libswscale this does resampling and format convertion, just for audio
instead of video.
changing sampling rate, sample formats, channel layouts and sample packing all
in one with a very simple public interface.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-19 07:04:17 +02:00
Michael Niedermayer 15240feb99 Merge remote-tracking branch 'hexene/scratchpad'
* hexene/scratchpad:
  Move & Rename buildscript, remove tabs
  Fix regular build
  Support (H/W accelerated) H.264 decoding on Android via Stagefright
  Add build-script for Android
  C++ Support ;)

Conflicts:
	Changelog
	Makefile
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-14 01:23:16 +02:00
Michael Niedermayer 1a34478b71 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fix NASM include directive
  dsputil_mmx: Honor HAVE_AMD3DNOW
  lavf,lavd: remove all usage of AVFormatParameters from demuxers.
  jack: add 'channels' private option.
  VC-1: fix reading of custom PAR.
  Remove redundant and dubious video codec detection by its extradata
  mpeg12: remove repeat-field code disabled since May 2002
  patch checklist: suggest fate instead of regression tests
  Turn on resampling on sudden size change instead of bailing out during recode.
  avtools: reinitialise filter chain when input video stream changes dimensions

Conflicts:
	Makefile
	avconv.c
	doc/developer.texi
	ffplay.c
	libavcodec/x86/dsputil_mmx.c
	libavdevice/libdc1394.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15 23:35:53 +02:00
Michael Niedermayer f93f6963ba Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv30: return AVERROR(EINVAL) instead of EINVAL
  build: add -L flags before existing LDFLAGS
  simple_idct: whitespace cosmetics
  simple_idct: make repeated code a macro
  dsputil: remove huge #if 0 block
  simple_idct: change 10-bit add/put stride from pixels to bytes
  dsputil: allow 9/10-bit functions for non-h264 codecs
  dnxhd: rename some data tables
  dnxhdenc: remove inline from function only called through pointer
  dnxhdenc: whitespace cosmetics
  swscale: mark YUV422P10(LE,BE) as supported for output
  configure: add -xc99 to LDFLAGS for Sun CC
  Remove unused and non-compiling vestigial g729 decoder
  Remove unused code under G729_BITEXACT #ifdef.
  mpegvideo: fix invalid picture unreferencing.
  dsputil: Remove extra blank line at end.
  dsputil: Replace a LONG_MAX check with HAVE_FAST_64BIT.
  simple_idct: add 10-bit version

Conflicts:
	Makefile
	libavcodec/g729data.h
	libavcodec/g729dec.c
	libavcodec/rv30.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>
2011-07-21 16:28:53 +02:00
Michael Niedermayer e10979ff56 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  changelog: misc typo and wording fixes
  H.264: add filter_mb_fast support for >8-bit decoding
  doc: Remove outdated comments about gcc 2.95 and gcc 3.3 support.
  lls: use av_lfg instead of rand() in test program
  build: remove unnecessary dependency on libs from 'all' target
  H.264: avoid redundant alpha/beta calculations in loopfilter
  H.264: optimize intra/inter loopfilter decision
  mpegts: fix Continuity Counter error detection
  build: remove unnecessary FFLDFLAGS variable
  vp8/mt: flush worker thread, not application thread context, on seek.
  mt: proper locking around release_buffer calls.
  DxVA2: unbreak build after [657ccb5ac7]
  hwaccel: unbreak build
  Eliminate FF_COMMON_FRAME macro.

Conflicts:
	Changelog
	Makefile
	doc/developer.texi
	libavcodec/avcodec.h
	libavcodec/h264.c
	libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-12 01:42:32 +02:00
Mans Rullgard ca9036155d build: remove unnecessary FFLDFLAGS variable
This variable is set to the same value for all directories.
Adding the -L flags directly to LDFLAGS is simpler and achieves
the same thing.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-11 11:39:04 +01:00
Michael Niedermayer 3602ad7ee6 Merge commit '142e76f1055de5dde44696e71a5f63f2cb11dedf'
* commit '142e76f1055de5dde44696e71a5f63f2cb11dedf':
  swscale: fix crash with dithering due incorrect offset calculation.
  matroskadec: fix stupid typo (!= -> ==)
  build: remove duplicates from order-only directory prerequisite list
  build: rework rules for things in the tools dir
  configure: fix --cpu=host with gcc 4.6
  ARM: use const macro to define constant data in asm
  bitdepth: simplify FUNC/FUNCC macros
  dsputil: remove ff_emulated_edge_mc macro used in one place
  9/10-bit: simplify clipping macros
  matroskadec: reindent
  matroskadec: defer parsing of cues element until we seek.
  lavc: add support for codec-specific defaults.
  lavc: make avcodec_alloc_context3 officially public.
  lavc: remove a half-working attempt at different defaults for audio/video codecs.
  ac3dec: add a drc_scale private option
  lavf: add avformat_find_stream_info()
  lavc: introduce avcodec_open2() as a replacement for avcodec_open().

Conflicts:
	Makefile
	libavcodec/utils.c
	libavformat/avformat.h
	libswscale/swscale_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-11 04:23:25 +02:00
Diego Biurrun 3e5cce81e7 build: remove duplicates from order-only directory prerequisite list
This reduces startup latency for make invocations, which is especially
noticeable on systems that are slow or have slow I/O, like Windows.
2011-07-10 22:16:21 +02:00
Mans Rullgard 28e1c97916 build: rework rules for things in the tools dir
Declaring tools associated with each library in their respective
makefiles allows these tools to easily depend on the correct
prerequisites and link against the libs they need.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-10 21:13:38 +01:00
Michael Niedermayer 8c0cbb0848 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rational-test: Add proper main() declaration to fix gcc warnings.
  configure: Add vdpau and dxva2 to configure results output.
  Remove unused, never built libavutil/pca.[ch]
  matroskadec: forward parsing errors to caller.
  av_find_stream_info: simplify EAGAIN handling.
  aacenc: Fix determination of Mid/Side Mode.
  psymodel: Remove the single channel analysis function
  aacenc: Implement dummy channel group analysis that just calls the single channel analysis for each channel.
  psymodel: Add channels and channel groups to the psymodel.
  ARM: remove check for PLD instruction
  fate: move amr[nw]b test rules into separate files
  ogg: fix double free when finding length of small chained oggs.
  swscale: implement >8bit scaling support.
  build: fix creation of tools dir with make 3.81
  build: Mark all-yes Makefile target as phony.
  pixfmt: fix YUV422/444 wrong endian comment
  build: create output directories as needed
  Add new yuv444 pixfmts to avcodec_align_dimensions2

Conflicts:
	Makefile
	configure
	libavutil/pca.c
	libavutil/pca.h
	libavutil/pixfmt.h
	libswscale/swscale.c
	libswscale/utils.c
	libswscale/x86/swscale_template.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>
2011-06-30 04:32:24 +02:00
Reimar Döffinger e1a54304be Move SRC_PATH hack around to allow compilation from subdir again. 2011-06-30 00:02:09 +02:00
Mans Rullgard 5e27ec28f0 build: create output directories as needed
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-29 09:14:56 +01:00
Michael Niedermayer bb9d5171a7 Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  swscale: Add Doxygen for hyscale_fast/hScale.
  fate: enable lavfi-pixmt tests on big endian systems
  PPC: swscale: disable altivec functions for unsupported formats
  fate: merge identical pixdesc_be/le tests
  swscale: Add Doxygen for yuv2planar*/yuv2packed* functions.
  build: call texi2pod.pl with full path instead of symlink
  build: include sub-makefiles using full path instead of symlinks
  swscale: update big endian reference values after dff5a835.
  wavpack: skip blocks with no samples
  cosmetics: remove outdated comment that is no longer true
  build: replace some addprefix/addsuffix with substitution refs
  avutil: Remove unused arbitrary precision integer code.
  configure: Drop check for availability of ten assembler operands.
  aacenc: Save channel configuration for later use.
  aacenc: Fix codebook trellising for zeroed bands.
  swscale: change prototypes of scaled YUV output functions.
  swscale: re-add support for non-native endianness.
  swscale: disentangle yuv2rgbX_c_full() into small functions.
  swscale: split yuv2packed[12X]_c() remainders into small functions.
  swscale: split yuv2packedX_altivec in smaller functions.
  ...

Conflicts:
	Makefile
	configure
	libavcodec/x86/dsputil_mmx.c
	libavfilter/Makefile
	libavformat/Makefile
	libavutil/integer.c
	libavutil/integer.h
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/x86/swscale_template.c
	tests/ref/lavfi/pixdesc_le
	tests/ref/lavfi/pixfmts_scale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-29 05:23:12 +02:00
Mans Rullgard deb3ed01b5 build: replace some addprefix/addsuffix with substitution refs
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-28 15:59:27 +01:00
Michael Niedermayer f211d9d839 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: improve rules for test programs
  build: factor out the .c and .S compile commands as a macro
  swscale: remove unused xInc/srcW arguments from hScale().
  H.264: disable 2tap qpel with CODEC_FLAG2_FAST and >8-bit
  H.264: make filter_mb_fast support 4:4:4
  mpeg4videoenc: Remove disabled variant of mpeg4_encode_block().
  configure: allow post-fixed cpu strings for athlon64, k8, and opteron when setting the -march flag.
  Move some variable declarations below the proper #ifdefs.

Conflicts:
	Makefile
	ffplay.c
	libswscale/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-27 03:32:45 +02:00
Reimar Döffinger c5cf0f7a76 Fix compilation in subdir with NASM.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-06-25 19:15:39 +02:00
Reimar Döffinger fe343286ec Restore some more rules to common.mak to improve building in subdirs.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-06-25 19:15:39 +02:00
Reimar Döffinger 5aa8b270db Restore accidentally removed parts of "BRIEF" list.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-06-24 20:26:08 +02:00
Reimar Döffinger 95dd1741af Allow running make in subdirs again. 2011-06-24 09:39:11 +02:00
Reimar Döffinger 2ec899222b Revert "build: move basic rules and variables to main Makefile"
This reverts commit bb5249244d.
This is necessary to allow running "make" in subdirs again.

Conflicts:

	Makefile
2011-06-24 09:09:55 +02:00
Mans Rullgard bb5249244d build: move basic rules and variables to main Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-23 12:17:08 +01:00
Mans Rullgard 8d853efe53 build: move special targets to end of main Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-23 12:16:53 +01:00
Mans Rullgard d530e57944 build: move vpath directives to main Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-14 19:53:53 +01:00
Mans Rullgard cf53c48615 build: move ALLFFLIBS to a more logical place
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-14 10:59:56 +01:00
Mans Rullgard b9c6c7cb25 build: remove empty $(OBJS) target
This target was added to prevent some files being deleted
by make when using chains of implicit rules.  This is no
longer required.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-07 01:28:40 +01:00
Mans Rullgard 0018b7f043 build: clean up .PHONY lists
This removes nonexisting targets from phony lists and puts them
all in one place.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 16:56:53 +01:00
Mans Rullgard d7a72d250b build: move all (un)install* target aliases to toplevel Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 16:56:53 +01:00
Mans Rullgard 171ae1eb0d build: remove stale dependency
This dependency is implicitly covered elsewhere.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 15:52:23 +01:00
Mans Rullgard 5eaba041a0 build: do not add CFLAGS-yes to CFLAGS
CFLAGS-yes is never set so this serves no purpose.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 15:48:44 +01:00
Mans Rullgard 798b264678 build: remove BUILD_ROOT variable
This variable is unnecessary as absolute paths are not required.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-29 12:36:16 +01:00
Mans Rullgard 2f97b12eaf Include dependencies for test programs
This makes sure the various *-test programs are correctly rebuilt
when necessary.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-31 12:01:27 +01:00
Mans Rullgard e0be794a71 Remove support for stripping executables
Stripping is generally best left to package management tools, and
since unstripped copies are kept in the build tree, any arguments
about saving space (no matter how insignificant) are void.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-29 22:05:04 +01:00
Reinhard Tartler 737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Måns Rullgård 55127e7b49 Create config.asm for use with yasm
Originally committed as revision 25039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-03 21:27:19 +00:00
Diego Biurrun 6fa5a91b14 Remove dep/depend targets and related variables.
We no longer create dependency files directly, so the rules are now pointless.

Originally committed as revision 24807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 15:02:33 +00:00
Stefano Sabatini aac6ca6978 Add libavcore.
The new library is meant to contain the core multimedia utilities for
FFmpeg, to make them shareable between more libav* libraries.

See thread:
Subject: [FFmpeg-devel] [RFC] New library for shared non-generic libav* utils
Date: Fri, 9 Jul 2010 01:07:40 +0200

Originally committed as revision 24393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 18:28:42 +00:00
Måns Rullgård 11d788cade Stop make complaining about moved/deleted headers
Originally committed as revision 24041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-04 18:33:37 +00:00
Måns Rullgård 7f02d3570a Add -I flags to HOSTCFLAGS
Originally committed as revision 23805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-26 20:28:40 +00:00
Måns Rullgård bf9aa44bf4 Fix brief make messages when CC etc are specified on command line
Originally committed as revision 23792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-26 10:03:30 +00:00
Måns Rullgård de5aba8cca Make ranlib silent in brief output mode
Running ranlib is quick and uninteresting, no need to print it.

Originally committed as revision 22582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 14:43:03 +00:00
Måns Rullgård 7732f641ff Fix brief make output for generated tables
Originally committed as revision 22526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 19:48:09 +00:00
Måns Rullgård 0680c40a25 Remove .SECONDARY directive
The presence of the .SECONDARY directive caused thing to not always
be correctly rebuilt.  Mentioning the object files explicitly as
targets gives the desired result of make not deleting them without
unpleasant side-effects.

Originally committed as revision 22422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:57:01 +00:00
Måns Rullgård 6a53fffd77 Improve version.h generation
Force version.sh to run whenever the version might have changed,
regardless of what is being built.  This is done by attaching the
dependencies to a dummy file (.version) which is included from the
makefile.  As make will always attempt to rebuild any included files
before considering other rules, this ensures that the real version.h
is (re-)created before it is required by any source file.

Originally committed as revision 22420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:56 +00:00
Måns Rullgård 93bff1de77 Replace $(G) with more generic $(M) in silent make rules
Originally committed as revision 22419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:52 +00:00
Måns Rullgård 86be2bc36f Prettify make output for documentation
Originally committed as revision 22418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:50 +00:00
Måns Rullgård a736e0e5c2 Prettify make output when generating headers
Originally committed as revision 22401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 15:56:16 +00:00
Måns Rullgård 451db9832c Simplify static/shared build rules
Originally committed as revision 22394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:18 +00:00
Måns Rullgård 7acc01042e Remove duplicates from OBJS
Originally committed as revision 22391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:08 +00:00
Måns Rullgård f89c14027a checkheaders: skip per-arch headers not meant for direct inclusion
Some of the per-arch headers are only meant to be used through
the parent header of the same name.  Testing these standalone
does not make sense.

Originally committed as revision 22341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 20:17:47 +00:00
Måns Rullgård 2a5500b13e Add TESTOBJS make variable for extra objects used by test apps
Originally committed as revision 22335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:44 +00:00