Commit Graph

2155 Commits

Author SHA1 Message Date
Diego Biurrun
5532cf3178 avutil/mem: K&R formatting cosmetics 2012-10-20 02:34:29 +02:00
Diego Biurrun
c08536979b avutil/lzo: K&R formatting cosmetics 2012-10-20 02:34:29 +02:00
Hendrik Leppkes
953a3dcc4e Mark data symbols shared between libraries with av_export
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 01:56:50 +02:00
Diego Biurrun
8fb1e26405 lzo: Drop obsolete fast_memcpy reference 2012-10-19 17:04:41 +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
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
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
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
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
Michael Niedermayer
2fed05f53a avoid more "0xFF << 24" as it is considered a integer overflow in C99
missed these in my previous search and replace

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 03:34:16 +02:00
Diego Biurrun
7638f0b2fe avutil: Do not make ff_ symbols globally visible. 2012-10-13 20:01:56 +02:00
Diego Biurrun
52d113ee06 avutil: Rename ff_set_systematic_pal2() ---> avpriv_set_systematic_pal2()
Functions used across libraries should have avpriv_ and not ff_ prefixes.
2012-10-13 19:59:20 +02:00
Michael Niedermayer
183117fed7 libavutil: loose idiotic circular dependancies between version and avutil.h
This fixes the recently appearing PIX_FMT warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 18:47:18 +02: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
d6c342fdc0 Merge commit 'd5c62122a7b26704bf867a1262df358623bf5edf'
* commit 'd5c62122a7b26704bf867a1262df358623bf5edf':
  Move av_reverse table to libavcodec

Conflicts:
	libavcodec/asvenc.c
	libavcodec/vble.c
	libavutil/common.h
	libavutil/mathematics.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 14:35:42 +02:00
Michael Niedermayer
d197bd4f5e Merge commit '930c9d4373e0f3cb7c64fcfc129127a309f6d066'
* commit '930c9d4373e0f3cb7c64fcfc129127a309f6d066':
  avutil: Duplicate ff_log2_tab instead of sharing it across libs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 14:24:58 +02:00
Michael Niedermayer
3b0bb321a5 Merge commit 'f6c38c5f4ed6683a6a61db2ed418a68bbe5f5507'
* commit 'f6c38c5f4ed6683a6a61db2ed418a68bbe5f5507':
  avfilter: call x86 init functions under if (ARCH_X86), not if (HAVE_MMX)
  rtspdec: Set the default port for listen mode, if none is specified
  tscc2: Fix an out of array access
  rtmpproto: Fix an out of array write
  rtspdec: Fix use of uninitialized byte
  vp8: reset loopfilter delta values at keyframes.
  avutil: add yuva422p and yuva444p formats

Conflicts:
	libavutil/pixdesc.c
	libavutil/pixfmt.h
	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-13 14:14:11 +02:00
Mans Rullgard
74c39bc682 eval-test: make table static const
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13 11:39:25 +01:00
Mans Rullgard
0daac647af avstring-test: fix memory leaks
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-12 23:51:12 +01:00
Diego Biurrun
d5c62122a7 Move av_reverse table to libavcodec
It is only used in that library.
2012-10-12 20:39:18 +02:00
Diego Biurrun
930c9d4373 avutil: Duplicate ff_log2_tab instead of sharing it across libs
The table is so small that the space gain is not worth the
performance overhead of cross-library access.
2012-10-12 20:39:17 +02:00
Paul B Mahol
77e6b085a3 imgutils: do not use av_pix_fmt_descriptors directly
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 15:39:50 +00:00
Michael Niedermayer
27ccc82e1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavu,lavd: do not use av_pix_fmt_descriptors directly.

Conflicts:
	libavutil/imgutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 17:21:01 +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
Luca Barbato
6d5600e855 avutil: add yuva422p and yuva444p formats 2012-10-12 15:09:51 +02:00
Michael Niedermayer
f391e405df Merge commit 'e002e3291e6dc7953f843abf56fc14f08f238b21'
* commit 'e002e3291e6dc7953f843abf56fc14f08f238b21':
  Use the new aes/md5/sha/tree allocation functions
  avutil: Add functions for allocating opaque contexts for algorithms
  svq3: fix pointer type warning
  svq3: replace unsafe pointer casting with intreadwrite macros
  parseutils-test: various cleanups

Conflicts:
	doc/APIchanges
	libavcodec/svq3.c
	libavutil/parseutils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 14:52:34 +02:00
Michael Niedermayer
d6135a886d Merge commit '15ba7f6525c0f56f0c8e3e3e0c0c5129de054f41'
* commit '15ba7f6525c0f56f0c8e3e3e0c0c5129de054f41':
  parseutils: fix const removal warning
  prepare 9_beta1 release

Conflicts:
	Changelog
	RELEASE
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 14:38:04 +02:00
Michael Niedermayer
e335658370 Merge commit '9734b8ba56d05e970c353dfd5baafa43fdb08024'
* commit '9734b8ba56d05e970c353dfd5baafa43fdb08024':
  Move avutil tables only used in libavcodec to libavcodec.

Conflicts:
	libavcodec/mathtables.c
	libavutil/intmath.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 14:26:46 +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
Anton Khirnov
22c8cbc0da lavu,lavd: do not use av_pix_fmt_descriptors directly. 2012-10-12 12:45:39 +02:00
Anton Khirnov
d2fcb356ca pixdesc: add functions for accessing pixel format descriptors.
Make av_pix_fmt_descriptors table static on next major bump.

Making the table public is dangerous, since the caller has no way to
know how large it actually is. It also prevents adding new fields to
AVPixFmtDescriptor without a major bump.
2012-10-12 12:45:25 +02:00
Martin Storsjö
e002e3291e Use the new aes/md5/sha/tree allocation functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-11 23:35:28 +03:00
Martin Storsjö
9a92aea27b avutil: Add functions for allocating opaque contexts for algorithms
The current API where the plain size is exposed is not of much
use - in most cases it is allocated dynamically anyway.

If allocated e.g. on the stack via an uint8_t array, there's no
guarantee that the struct's members are aligned properly (unless
the array is overallocated and the opaque pointer within it
manually aligned to some unspecified alignment).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-11 23:35:27 +03:00
Mans Rullgard
15ba7f6525 parseutils: fix const removal warning
The const qualifier is still removed although it happens inside
the strtol() function so no warning is generated.

Fixes:
libavutil/parseutils.c:110:11: warning: assignment discards qualifiers from pointer target type

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-11 18:00:27 +01:00
Mans Rullgard
68e360a83c parseutils-test: various cleanups
- make tables static const
- remove useless use of compound literal
- break long lines
- fix a comma/semicolon typo

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-11 18:00:27 +01:00
Diego Biurrun
9734b8ba56 Move avutil tables only used in libavcodec to libavcodec. 2012-10-11 18:29:36 +02:00
Michael Niedermayer
26474d1098 random_seed: fix digest size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 18:28:21 +02:00
Michael Niedermayer
7fe5548531 random_seed: fix out of array read
Fixes CID733787
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 18:28:21 +02: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
Michael Niedermayer
c9454cb643 av_tempfile: fix leak in error case
Fixes CID733796 Part2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 17:09:57 +02:00
Michael Niedermayer
de31814ab0 Merge commit 'b522000e9b2ca36fe5b2751096b9a5f5ed8f87e6'
* commit 'b522000e9b2ca36fe5b2751096b9a5f5ed8f87e6':
  avio: introduce avio_closep
  mpegtsenc: set muxing type notification to verbose
  vc1dec: Use correct spelling of "opposite"
  a64multienc: change mc_frame_counter to unsigned
  arm: call arm-specific rv34dsp init functions under if (ARCH_ARM)
  svq1: Drop a bunch of useless parentheses
  parseutils-test: do not print numerical error codes
  svq1: K&R formatting cosmetics

Conflicts:
	doc/APIchanges
	libavcodec/svq1dec.c
	libavcodec/svq1enc.c
	libavformat/version.h
	libavutil/parseutils.c
	tests/ref/fate/parseutils

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 14:03:12 +02:00
Michael Niedermayer
492b8ec4c5 av_opt_set_from_string: fix memleak
Fixes CID733801
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 04:42:52 +02:00
Michael Niedermayer
4e4ae2f82c sha: change loop condition to be tighter.
This makes no change to the way the code functions, but should make
it easier for static analyzers to see the valid range for i

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 02:42:18 +02:00
Janne Grunau
1a2c7880aa averror: make error values proper negative values
Fixes stupid mistake in 25227c3a78.
2012-10-11 01:07:57 +02:00
Janne Grunau
25227c3a78 averror: explicitly define AVERROR_* values 2012-10-10 21:24:32 +02:00
Mans Rullgard
41e46a5fba parseutils-test: do not print numerical error codes
The error codes differ between systems so printing the value makes
the fate test fail on some systems.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 13:33:45 +01: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
Michael Niedermayer
03f5043f5d eval: Fix eval test with ftrapv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 06:02:34 +02:00
Michael Niedermayer
ac627b3d38 Merge commit '716d413c13981da15323c7a3821860536eefdbbb'
* commit '716d413c13981da15323c7a3821860536eefdbbb':
  Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat

Conflicts:
	doc/examples/muxing.c
	ffmpeg.h
	ffmpeg_filter.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	libavcodec/8bps.c
	libavcodec/aasc.c
	libavcodec/aura.c
	libavcodec/avcodec.h
	libavcodec/avs.c
	libavcodec/bfi.c
	libavcodec/bmp.c
	libavcodec/bmpenc.c
	libavcodec/c93.c
	libavcodec/cscd.c
	libavcodec/cyuv.c
	libavcodec/dpx.c
	libavcodec/dpxenc.c
	libavcodec/eatgv.c
	libavcodec/escape124.c
	libavcodec/ffv1.c
	libavcodec/flashsv.c
	libavcodec/fraps.c
	libavcodec/h264.c
	libavcodec/huffyuv.c
	libavcodec/iff.c
	libavcodec/imgconvert.c
	libavcodec/indeo3.c
	libavcodec/kmvc.c
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libx264.c
	libavcodec/ljpegenc.c
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc.c
	libavcodec/motionpixels.c
	libavcodec/mpeg12.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pamenc.c
	libavcodec/pcxenc.c
	libavcodec/pgssubdec.c
	libavcodec/pngdec.c
	libavcodec/pngenc.c
	libavcodec/pnm.c
	libavcodec/pnmdec.c
	libavcodec/pnmenc.c
	libavcodec/ptx.c
	libavcodec/qdrw.c
	libavcodec/qpeg.c
	libavcodec/qtrleenc.c
	libavcodec/raw.c
	libavcodec/rawdec.c
	libavcodec/rl2.c
	libavcodec/sgidec.c
	libavcodec/sgienc.c
	libavcodec/snowdec.c
	libavcodec/snowenc.c
	libavcodec/sunrast.c
	libavcodec/targa.c
	libavcodec/targaenc.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/tmv.c
	libavcodec/truemotion2.c
	libavcodec/utils.c
	libavcodec/vb.c
	libavcodec/vp3.c
	libavcodec/wnv1.c
	libavcodec/xl.c
	libavcodec/xwddec.c
	libavcodec/xwdenc.c
	libavcodec/yop.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/drawutils.c
	libavfilter/formats.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_format.c
	libavfilter/vf_hflip.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_transpose.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/movenc.c
	libavformat/mxf.h
	libavformat/utils.c
	libavformat/yuv4mpeg.c
	libavutil/imgutils.c
	libavutil/pixdesc.c
	libswscale/input.c
	libswscale/output.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	libswscale/x86/yuv2rgb.c
	libswscale/x86/yuv2rgb_template.c
	libswscale/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:06:57 +02:00
Anton Khirnov
89715a3cf1 lavu: fix typo in Makefile 2012-10-08 20:12:00 +02:00
Michael Niedermayer
ae77266fce Merge commit '78071a1420b425dfb787ac739048f523007b8139'
* commit '78071a1420b425dfb787ac739048f523007b8139':
  pixfmt: add AV_ prefixes to PIX_FMT_*

Conflicts:
	doc/APIchanges
	libavutil/pixfmt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 19:42:49 +02:00
Janne Grunau
ea14a655f7 avutil: skip old_pix_fmts.h since it is just a list 2012-10-08 12:09:16 +02:00
Anton Khirnov
8728b958ff lavu: fix typo in Makefile 2012-10-08 08:10:23 +02:00
Anton Khirnov
716d413c13 Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat 2012-10-08 07:13:26 +02:00
Anton Khirnov
78071a1420 pixfmt: add AV_ prefixes to PIX_FMT_* 2012-10-08 07:12:16 +02:00
Michael Niedermayer
43bbc3f477 xtea: give constants the correct type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 03:44:18 +02:00
Michael Niedermayer
79d30321a2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmaenc: use float planar sample format
  (e)ac3enc: use planar sample format
  aacenc: use planar sample format
  adpcmenc: use planar sample format for adpcm_ima_wav and adpcm_ima_qt
  adpcmenc: move 'ch' variable to higher scope
  adpcmenc: fix 3 instances of variable shadowing
  adpcm_ima_wav: simplify encoding
  libvorbis: use planar sample format
  libmp3lame: use planar sample formats
  vorbisenc: use float planar sample format
  ffm: do not write or read the audio sample format
  parseutils: fix parsing of invalid alpha values
  doc/RELEASE_NOTES: update for the 9 release.
  smoothstreamingenc: Add a more verbose error message
  smoothstreamingenc: Ignore the return value from mkdir
  smoothstreamingenc: Try writing a manifest when opening the muxer
  smoothstreamingenc: Move the output_chunk_list and write_manifest functions up
  smoothstreamingenc: Properly return errors from ism_flush to the caller
  smoothstreamingenc: Check the output UrlContext before accessing it

Conflicts:
	doc/RELEASE_NOTES
	libavcodec/aacenc.c
	libavcodec/ac3enc_template.c
	libavcodec/wmaenc.c
	tests/ref/lavf/ffm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 11:28:38 +02:00
Mans Rullgard
6221e2478c parseutils: fix parsing of invalid alpha values
An alpha specifier outside the valid range results in a conversion from
double to long with undefined result.  Range-checking the double and
only converting it after it passes avoids this.

Fixes fate-parseutils errors on some systems.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-06 17:08:29 +01:00
Michael Niedermayer
24702a91e4 pca: get rid of VLA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 14:03:15 +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
Diego Biurrun
e4cbf7529b Give all anonymously typedeffed structs in headers a name
Anonymous structs cannot be forward declared and have no benefit.
2012-10-06 09:27:11 +02:00
Diego Biurrun
c010fce6c9 parseutils-test: Drop random colors from parsing test
This guarantees stable output for comparing test results.
2012-10-06 09:21:54 +02: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
a7329e5fc2 x86: get_cpu_flags: add necessary ifdefs around function body
ff_get_cpu_flags_x86() requires cpuid(), which is conditionally defined
elsewhere in the file.  Surrounding the function body with ifdefs allows
building even when cpuid is not defined.  An empty cpuflags mask is
returned in this case.
2012-10-04 19:29:14 +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
Diego Biurrun
1f6d86991f x86: Add YASM implementations of cpuid and xgetbv from x264
This allows detecting CPU features with builds that have neither
gcc inline assembly nor the right compiler intrinsics enabled.
2012-10-04 19:29:14 +02:00
Diego Biurrun
54b243141e x86: cpu: Break out test for cpuid capabilities into separate function 2012-10-04 18:09:21 +02:00
Diego Biurrun
cc5e9e5ff0 x86: ff_get_cpu_flags_x86(): Avoid a pointless variable indirection 2012-10-04 17:58:42 +02:00
Michael Niedermayer
0f1446a4d0 Merge commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b'
* commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b':
  vf_overlay: get rid of pointless messing with timebase.
  samplefmt: make av_samples_alloc() initialize the data to silence.
  libspeexdec: handle NULL return value from speex_packet_to_header()
  h264probe: Don't error out on bits that no longer are reserved
  mpegvideo: set extended_data in ff_update_duplicate_context()
  libspeexdec: properly handle DTX for multiple frames-per-packet
  libspeexdec: move the SpeexHeader from LibSpeexContext to where it is used
  libspeexdec: simplify setting of frame_size
  libspeexdec: set channel_layout

Conflicts:
	libavfilter/vf_overlay.c
	libavformat/h264dec.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 13:11:45 +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
Anton Khirnov
cd15b7c03d samplefmt: make av_samples_alloc() initialize the data to silence.
Right now the buffer is zeroed, which does not represent silence for U8(P).
2012-10-04 08:05:21 +02:00
Michael Niedermayer
f0fce9f33e xtea: Test inplace decryption
Based on test code by: Giorgio Vazzana <mywing81@gmail.com>

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:19:53 +03:00
Michael Niedermayer
b434500431 xtea: Fix CBC decryption when src==dst
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:19:49 +03:00
Martin Storsjö
ca074cc313 xtea: Factorize testing into a separate function
Based on a patch by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:19:37 +03:00
Mans Rullgard
05e209c04c Allow use of strncpy()
There are cases where strncpy() does exactly what is required.
A blanket ban forces more convoluted solutions to be used in those
cases and has been a cause of bugs.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-03 14:36:51 +01:00
Martin Storsjö
75366a504d blowfish: Add more tests
Test inplace ECB, normal CBC and inplace CBC encryption/decryption.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 16:05:54 +03:00
Martin Storsjö
87f023f2c0 blowfish: Fix CBC decryption with dst==src
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 16:05:23 +03:00
Martin Storsjö
0cc9a64b92 blowfish: Factorize testing into a separate function
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 16:05:05 +03:00
Michael Niedermayer
7e5496fc41 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: use numeric ID for Tag_ABI_align_preserved
  segment: Pass the interrupt callback on to the chained AVFormatContext, too
  ARM: bswap: drop armcc version of av_bswap16()
  ARM: set Tag_ABI_align_preserved in all asm files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 13:35:02 +02:00
Mans Rullgard
51a15ed740 ARM: use numeric ID for Tag_ABI_align_preserved
Some old assemblers still in use do not support named tags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-03 11:49:55 +01:00
Mans Rullgard
1ca3b62b10 ARM: bswap: drop armcc version of av_bswap16()
This function causes several versions of armcc to miscompile code,
and the performance impact is small.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-02 19:47:56 +01:00
Mans Rullgard
5e826fd65e ARM: set Tag_ABI_align_preserved in all asm files
All our ARM asm preserves alignment so setting this attribute
in a common location is simpler.  This removes numerous warnings
when linking with armcc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-02 19:47:56 +01: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
Mans Rullgard
7bda4ed780 ARM: fix Thumb PIC on Apple
LDR with register offset and PC as base register is not available in
the Thumb instruction set so the addition must be done separately.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-02 13:12:33 +01:00
Clément Bœsch
81bbce9cf3 Move xGA font data from lavc to lavu.
This needs to be accessible for libavfilter in the next commit.
2012-10-01 22:24:17 +02:00
Michael Niedermayer
64604e2679 cpu: improve av_get_cpu_flags() doxy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 16:41:37 +02:00
Diego Biurrun
11d4e92ed9 avformat: Remove non-compiling and/or silly commented-out printf/av_log statements 2012-10-01 10:24:28 +02:00
Giorgio Vazzana
a8cb21fd62 xtea: fix decryption with --enable-small
iv decrypt handling code needs to be executed regardless of CONFIG_SMALL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 20:52:13 +02:00
Michael Niedermayer
48154c2594 xtea: move iv decrypt handling code into xtea_crypt_ecb()
this simplifies things are avoids a temporary

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 17:52:45 +02:00
Michael Niedermayer
a4dcdd04d7 xtea-test: test inplace decryption
Based on test code by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 17:51:45 +02:00
Giorgio Vazzana
8c3ee93be5 xtea: fix CBC mode when src=dst
In CBC mode, when src=dst and we are decrypting a block different
from the first one, we need to save the current block of ciphertext
(which will constitute the initialization vector for the next block)
before we overwrite it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 17:51:45 +02:00
Michael Niedermayer
a0321dadfd xtea-test: factorize test code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 17:51:45 +02:00
Nicolas George
e4b1fcd474 lavu/opt: cosmetic fixes forgotten in the previous patch. 2012-09-30 10:23:08 +02:00
Nicolas George
438978fb4b opt: implement av_opt_set_from_string().
It is similar to av_set_options_string() but accepts a list
of options that can be in shorthand: if the key is omitted
on the first fields, the keys from the shorthand list are
assumed, in order.
2012-09-30 09:21:29 +02: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
874b9dcc4b ppc/cpu: make linux 32bit specific altivec detection depend on __linux__
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 13:41:48 +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
Mans Rullgard
8995d34972 ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code
The Apple assembler refuses to assemble the 3-operand form
in Thumb2 even though it is valid syntax.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-21 07:07:58 +01:00