Commit Graph

154 Commits

Author SHA1 Message Date
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
Diego Biurrun
17337f54c0 x86: Split inline and external assembly #ifdefs 2012-08-31 01:53:25 +02:00
Mans Rullgard
33de86db2b dict: move struct AVDictionary definition to dict.c
This makes struct AVDictionary fully opaque now that nothing
needs to access it directly any more.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 15:15:00 +01:00
Mans Rullgard
54918d0394 libavutil: remove unused av_abort() macro
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 20:52:39 +01:00
Mans Rullgard
1c4ab37c38 libavutil: drop offsetof() fallback definition
The only compiler I have that does not define the standard
offsetof() macro is "Bruce's C Compiler", a simple compiler
for producing 8/16-bit 8086 code, usually for use in early
stages of PC booting.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 20:52:39 +01:00
Mans Rullgard
d913fd1f00 libavutil: drop fallback definitions of INTxx_MIN/MAX
This list is incomplete (we also use UINT16_MAX), so there does
not appear to be any system we care about that needs these.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 20:52:39 +01:00
Mans Rullgard
d7a4f8f8b9 Move MASK_ABS macro to libavcodec/mathops.h
This macro is only used in two places, both in libavcodec, so this
is a more sensible place for it.

Two small tweaks to the macro are made:

- removing the trailing semicolon
- dropping unnecessary 'volatile' from the x86 asm

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 00:58:20 +01:00
Mans Rullgard
070a402b60 x86: move MANGLE() and related macros to libavutil/x86/asm.h
These x86-specific macros do not belong in generic code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 00:58:20 +01:00
Ronald S. Bultje
f80ddd5bf7 lavu: use intrinsics for emms on systems lacking inline asm support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 14:33:09 +03:00
Ronald S. Bultje
8123e0901f x86: place some inline asm under #if HAVE_INLINE_ASM
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-25 13:23:12 +01:00
Diego Biurrun
58c42af722 doxygen: misc consistency, spelling and wording fixes 2011-12-12 23:06:23 +01:00
Reimar Döffinger
de8d1940b5 avutil: Don't allow using strcasecmp/strncasecmp
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-06 11:52:59 +02:00
Anton Khirnov
d9f80ea2a7 Move metadata API from lavf to lavu.
Rename it to AVDictionary, since it will be used as such.  Tags
documentation and metadata conversion API is lavf-specific, so remains
there.
2011-06-08 07:43:45 +02:00
Diego Biurrun
fb8648ad4b Remove unnecessary LIBAVFORMAT_BUILD #ifdef. 2011-06-05 16:01:01 +02:00
Ronald S. Bultje
e973557211 Move emms_c() from libavcodec to libavutil. 2011-05-24 14:48:49 -04:00
Alex Converse
1569554153 Ban strncpy() it's too easy to misuse. 2011-05-08 12:49:07 -07:00
Mans Rullgard
820818a330 Remove unnecessary icc version checks
With unknown attribute warnings disabled, these checks are no
longer needed.  Removing them improves readability while having
no effect on generated code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-23 12:39:58 +00:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Alexander Strange
37b00b47cb Frame-based multithreading framework using pthreads
See doc/multithreading.txt for details on use in codecs.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-09 09:17:28 -05: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
Luca Barbato
dfd2a005eb Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
2011-01-29 23:55:37 +01:00
Carl Eugen Hoyos
086e997e34 Intel C compiler 12.0 does not suport these attributes: may_alias, force_align_arg_pointer and alloc_size.
Originally committed as revision 25716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-10 12:45:41 +00:00
Carl Eugen Hoyos
eedc4ee5d8 Use attribute force_align_arg_pointer only on x86_32.
Originally committed as revision 24290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-17 16:35:01 +00:00
Måns Rullgård
cae70f99a3 Improve FF_SYMVER documentation
Originally committed as revision 23911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 20:09:55 +00:00
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Michael Niedermayer
33586ee770 Document FF_SYMVER and attribute_used
Originally committed as revision 23622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-16 04:53:09 +00:00
Måns Rullgård
ccc87908a9 Fix symbol version compat wrappers on systems with export prefixes
Originally committed as revision 23615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-15 15:24:28 +00:00
Måns Rullgård
b462d13262 Add compatibility wrappers for functions moved from lavf to lavc
When symbol versioning is enabled, moving symbols from one library to
another breaks binary compatibility.  This adds wrappers with the old
version tag for the av_*packet functions recently moved to lavc.

Originally committed as revision 23611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-15 13:26:52 +00:00
Michael Niedermayer
a74d707cb7 av_alias is an attribute and belongs to attributes.h
also attributes.h is public and external api and can thus not depend
on configure tested compiler support thus this part is removed. A
different solution must be found if this breaks for some compiler
which i hope it does not.

Originally committed as revision 23115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-13 16:30:58 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Måns Rullgård
2ed6f39944 Replace many includes of libavutil/common.h with what is actually needed
This reduces the number of false dependencies on header files and
speeds up compilation.

Originally committed as revision 22407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 17:39:19 +00:00
Måns Rullgård
335ee1aadd Move libm replacements to new header libm.h
ffmpeg.c uses lrintf(), which is missing on some systems.  Previously
it picked up the replacement via libavutil/internal.h due to
HAVE_AV_CONFIG_H being erroneously defined.

Moving these replacements to a separate header enables ffmpeg.c to
use them without being exposed to internal interfaces.

This use of a non-public header is justified by the header in question
not being part of the internal interface either.  It should rather be
considered as part of the build system, which is shared between the
libraries and the applications.

This header cannot be installed since the tested conditions depend on
the compiler.

Originally committed as revision 22399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 15:10:23 +00:00
Måns Rullgård
94ca624fbc Move ff_sqrt() to libavutil/intmath.h
Originally committed as revision 22345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 21:19:56 +00:00
Måns Rullgård
7ed63ca2e7 Add casts to correct return type in macros for missing libm funcs
Originally committed as revision 21922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 16:02:48 +00:00
Carl Eugen Hoyos
8e339d4aa0 Gcc attribute may_alias is not supported (or silently ignored) by all supported compilers.
Originally committed as revision 21917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 12:22:24 +00:00
Måns Rullgård
8e05f06912 Define missing llrint() as macro instead of inline function
This fixes building on some broken systems.

Originally committed as revision 21735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 22:55:16 +00:00
Måns Rullgård
788627dea6 Define av_alias if supported by compiler
Originally committed as revision 21523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 03:26:14 +00:00
Måns Rullgård
5e7dfb7de1 Move COPY3_IF_LT to lavc/mathops.h
This obscure macro is only used in motion_est.c so having it in lavc
makes more sense.  See discussion here:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-November/056561.html

Originally committed as revision 21346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 06:01:54 +00:00
Måns Rullgård
75fb5c24ed Move FASTDIV macro to intmath.h
Originally committed as revision 21335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 23:25:36 +00:00
Vitor Sessak
06cb7a1c8f Use macros instead of inline functions to replace the following missing C99
functions: exp2, exp2f, log2, log2f.

Should fix compilation in systems where these functions are defined in math.h
but not implemented.

Originally committed as revision 21231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 01:27:46 +00:00
Vitor Sessak
6b7c7703f4 Add replacements for log2f(), exp2() and exp2f() for platforms that lacks it.
Should fix build breakage on some platforms introduced in r21125.

Originally committed as revision 21155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 02:19:51 +00:00
Reimar Döffinger
7fc58b1eeb Remove code checking for __PIC__ or __pic__ and setting PIC from libavutil/internal.h,
configure is supposed to take care of that already.

Originally committed as revision 20498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 12:59:56 +00:00
Loren Merritt
1a918c08e4 extend ff_inverse[], and fix its documentation
Originally committed as revision 19942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:01:57 +00:00
Ramiro Polla
d31dbec374 Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
parameters.

Originally committed as revision 19776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 00:08:19 +00:00
Ramiro Polla
5ce6934e0a Add a newline in error message in CHECKED_ALLOC(Z).
Originally committed as revision 19758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-04 16:59:28 +00:00
Diego Biurrun
ee1550116b whitespace cosmetics, prettyprinting
Originally committed as revision 19751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-01 16:00:45 +00:00
Ramiro Polla
e48a0966ca Add CHECKED_ALLOC macro.
It works the same as CHECKED_ALLOCZ except that it does not zero the allocated
memory.

Originally committed as revision 19742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 22:38:48 +00:00
Alex Converse
291fd18a6e Add a log2 replacement for systems that haven't quite caught up with the C99
standard library.

Originally committed as revision 19395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 19:20:06 +00:00
Ramiro Polla
16c2e21488 Move DECLARE_ALIGNED and DECLARE_ASM_CONST back from lavu/internal.h to
lavu/mem.h.

Originally committed as revision 19384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 02:20:29 +00:00
Ramiro Polla
4b2be143cd Do not throw compiler error if asm code needs alignment, but we do not know
how to do it for this compiler. This removes a dependency of config.h on the
DECLARE_* macros.

Originally committed as revision 19383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 02:18:29 +00:00