1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
Commit Graph

2026 Commits

Author SHA1 Message Date
Luca Barbato
3058872c29 ppc: Clarify and extend the cpuid check
Add POWER entries.
2015-05-31 12:07:10 +02:00
Luca Barbato
baa94563fe ppc: linux: Check altivec using the auxv
Should prevent trying to use altivec when it is disabled by the kernel.
2015-05-31 12:07:10 +02:00
Luca Barbato
72cebae0d9 ppc: avutil: Use the abriged vector types 2015-05-31 12:07:10 +02:00
Luca Barbato
254eb5b6fa ppc: avutil: Drop a potentially dangerous workaround
The compiler is free to optimize such expressions in any sort of way.
2015-05-31 12:07:10 +02:00
wm4
a64a5773ea pixfmt: remove misleading and broken documentation
This was probably broken some time ago. The breakage is now part of the
ABI. For example, we have:

    AV_PIX_FMT_XYZ12BE
    AV_PIX_FMT_NV16
    AV_PIX_FMT_NV20LE

AV_PIX_FMT_NV20LE is wrong. It has the value 113, but as little-endian
format it should be even. This must have been quite obvious when these
formats were added (because of the AV_PIX_FMT_XYZ12BE entry), but
nobody cared or knew about this.

The future libavutil major bump will also break this additionally,
because disabling FF_API_VDPAU will remove an odd number of entries from
the middle of the enum.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-28 18:40:40 +02:00
Timothy Gu
dd4d709be7 x86inc: Clear __SECT__
Silences warning(s) like:

    libavcodec/x86/fft.asm:93: warning: section flags ignored on
    section redeclaration

The cause of this warning is that because `struc` and `endstruc`
attempts to revert to the previous section state [1].

The section state is stored in the macro __SECT__, defined by
x86inc.asm to be `.note.GNU-stack ...`, through the `SECTION`
directive [2].

Thus, the `.note.GNU-stack` section is defined twice
(once in x86inc.asm, once during `endstruc`), causing the warning.

That is the first part of the commit: using the primitive `[section]` format
for .note.GNU-stack etc., which does not update `__SECT__` [2].

That fixes only half of the problem. Even without any `SECTION` directives,
`__SECT__` is predefined as `.text`, which conflicting with the later
`SECTION_TEXT` (which expands to `.text align=16`).

[1]: http://www.nasm.us/doc/nasmdoc6.html#section-6.4
[2]: http://www.nasm.us/doc/nasmdoc6.html#section-6.3

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-28 11:40:15 +02:00
Steve Lhomme
d8039ef8d2 D3D11va: add a Direct3D11 video decoder similar to DXVA2
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-25 11:47:08 +02:00
Vittorio Giovara
eaa2d123f0 log: Print a full backtrace along with error messages under Valgrind
Useful to understand where and in what execution state a certain message
is generated. It is enabled only when optimizations are disabled, since
function names are not printed otherwise.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-20 19:20:57 +01:00
James Almer
a1d58e3b38 avutil: remove pointless bmi1 define
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-19 23:45:35 +01:00
Vittorio Giovara
c253340ae6 log: Introduce a more verbose debug level
And deprecate av_dlog macro.
2015-04-19 12:41:59 +01:00
Luca Barbato
27f2746282 parseutils: Make av_small_strptime public
And use it in libavformat.

Based on a similar patch by Stefano Sabatini <stefasab@gmail.com>.
2015-04-07 12:36:11 +02:00
Luca Barbato
108f2f381a parseutils: Extend small_strptime to be used in avformat
The strptime implementation is supposed to support whitespace and %T.
2015-04-06 18:09:03 +02:00
wm4
c48456166e lavc: add MMAL hardware decoder wrapper
Based on a patch by Rodger Combs.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-29 09:55:20 +02:00
Vittorio Giovara
312a9ef04b pixfmt: Update documentation with prefixed pixel formats 2015-03-23 20:53:28 +00:00
Vittorio Giovara
592a04054e pixdesc: Replace a few leftover instances of non AV-prefixed flags 2015-03-23 20:53:28 +00:00
Vittorio Giovara
e4fe535d12 mov: Write the display matrix in order
This will allow to copy the matrix as is and it is just cleaner to keep
the matrix in the same order specified by the mov standard (which is
also explicitly described in the documentation).

In order to preserve compatibility, flip the angle sign in the display API
av_display_rotation_set() and av_display_rotation_get(), and improve the
documentation mentioning the rotation direction.
2015-03-23 20:53:28 +00:00
Martin Storsjö
58a840e215 Replace a few leftover instances of enum PixelFormat with enum AVPixelFormat
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-17 23:53:33 +02:00
Martin Storsjö
dcae2e32f7 arm: Suppress tags about used cpu arch and extensions
When all the codepaths using manually set .arch/.fpu code is
behind runtime detection, the elf attributes should be suppressed.

This allows tools to know that the final built binary doesn't
strictly require these extensions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-07 17:10:08 +02:00
Peter Meerwald
76ce9bd8e2 libavutil: Add ARM av_clip_intp2_arm
add ARM code for implementing av_clip_intp2 using the ssat instruction

on Cortex-A8, av_clip_intp2_arm() is faster than av_clip_intp2_c() and
the generic av_clip(), about -19%

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Peter Meerwald
bf07d813f6 libavutil: Add av_clip_intp2
there already is a function, av_clip_uintp2() that clips a signed integer
to an unsigned power-of-two range, i.e. 0,2^p-1

this patch adds a function av_clip_intp2() that clips a signed integer
to a signed power-of-two range, i.e. -(2^p),(2^p-1)

the new function can be used as a special case for av_clip(), e.g.
av_clip(x, -8192, 8191) can be rewritten as av_clip_intp2(x, 13)

there are ARM instructions, usat and ssat resp., which map nicely to these
functions (see next patch)

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Anton Khirnov
5b1d9ceec7 pixfmt: add a pixel format for QSV hwaccel 2015-02-19 15:07:21 +01:00
Diego Biurrun
bf704132a5 Don't anonymously typedef structs 2015-02-14 10:13:49 -08:00
Anton Khirnov
0232ba62a2 frame: clarify buf documentation
Mention explicitly that the array must be filled contiguously.
2015-02-08 21:28:31 +01:00
Rémi Denis-Courmont
6039248018 mem: fix pointer pointer aliasing violations
This uses explicit memory copying to read and write pointer to pointers
of arbitrary object types. This works provided that the architecture
uses the same representation for all pointer types (the previous code
made that assumption already anyway).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-01 02:28:40 +01:00
Luca Barbato
1279221cc4 lavu: Check av_dict_set allocations
Bug-Id: CID 1257772
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-29 14:59:57 +00:00
Anton Khirnov
728685f37a Add a side data type for audio service type.
Currently, audio service type is a field in AVCodecContext. However,
side data is more appropriate for this kind of information.
2015-01-27 09:17:48 +01:00
Paul B Mahol
0e6c7dfa65 lavu: add planar 16 bit and 8 bit rgb with alpha
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Stefano Sabatini
e2ad0b66fa imgutils: create misc functions for dealing with buffers
Move the lavc/imgconvert functions and rename them as follows:
  avpicture_get_size -> av_image_get_buffer_size()
  avpicture_fill     -> av_image_fill_arrays()
  avpicture_layout   -> av_image_copy_to_buffer()

The new functions have an align parameter, which allows to define the
linesize alignment assumed in the buffer (which is set or read).

The names of the functions are consistent with the lavu/samples API
(av_samples_get_buffer_size(), av_samples_fill_arrays()).

A redundant check has been dropped from av_image_fill_arrays().

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Vittorio Giovara
07a0c0f000 opt: check memory allocation
CC: libav-stable@libav.org
Bug-Id: CID 1257771
2015-01-05 14:58:20 +01:00
Vittorio Giovara
b1306823d0 check memory errors from av_strdup() 2014-12-18 23:27:14 +01:00
Luca Barbato
5d839778b9 lavu: Refactor side data wiping
And make sure the nb_side_data field is reset as well.

Based on an initial patch from wm4 <nfxjfg@googlemail.com>.

CC: libav-stable@libav.org
2014-12-18 23:22:59 +01:00
Anton Khirnov
e10e6651b5 thread: use "" instead of <> for including the w32pthreads wrapper
Found-by: Dave Yeo <dave.r.yeo@gmail.com>
2014-12-14 18:15:57 +01:00
Martin Storsjö
780cd20b00 aarch64: Use .data.rel.ro for const data with relocations
This reverts commit c00365b46d
in addition to using a different section.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:31 +02:00
Martin Storsjö
f963f80399 arm: Use .data.rel.ro for const data with relocations
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:25 +02:00
Kieran Kunhya
9a738c27dc v210enc: Add SIMD optimised 8-bit and 10-bit encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-05 13:03:49 +00:00
wm4
fbd6c97f9c lavu: fix memory leaks by using a mutex instead of atomics
The buffer pool has to atomically add and remove entries from the linked
list of available buffers. This was done by removing the entire list
with a CAS operation, working on it, and then setting it back again
(using a retry-loop in case another thread was doing the same thing).

This could effectively cause memory leaks: while a thread was working on
the buffer list, other threads would allocate new buffers, increasing
the pool's total size. There was no real leak, but since these extra
buffers were not needed, but not free'd either (except when the buffer
pool was destroyed), this had the same effects as a real leak. For some
reason, growth was exponential, and could easily kill the process due
to OOM in real-world uses.

Fix this by using a mutex to protect the list operations. The fancy
way atomics remove the whole list to work on it is not needed anymore,
which also avoids the situation which was causing the leak.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-11-27 13:36:00 +01:00
Anton Khirnov
2443e522f0 lavu: add wrappers for the pthreads mutex API
Also add no-op fallbacks when threading is disabled.

This helps keeping the code clean if Libav is compiled for targets
without threading. Since we assume that no threads of any kind are used
in such configurations, doing nothing is ok by definition.

Based on a patch by wm4 <nfxjfg@googlemail.com>.
2014-11-27 13:36:00 +01:00
Martin Storsjö
9326d64ed1 Share the utf8 to wchar conversion routine between lavf and lavu
This doesn't add any dependency on library internals, since this
only is a static inline function that gets built into each of the
calling functions - this is only to reduce the code duplication.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-27 09:29:17 +02:00
Vittorio Giovara
277ff7f5dc lavu: move internal define to the only places where it is used 2014-11-24 01:30:14 +00:00
Luca Barbato
c6074a30ba opt: Fix the documentation mentioning av_set_string3
It is av_opt_set now.
2014-11-11 11:49:55 +01:00
Henrik Gramner
4981baf9b8 avstring: Mark some character handling functions av_const
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-07 11:57:16 +02:00
Martin Storsjö
82ee7d0dda Use gmtime_r instead of gmtime and localtime_r instead of localtime
gmtime isn't thread safe in general. In msvcrt (which lacks gmtime_r),
the buffer used by gmtime is thread specific though.

One call to localtime is left in avconv_opt.c, where thread safety
shouldn't matter (instead of making avconv depend on the libavutil
internal header).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-26 00:14:54 +03:00
Martin Storsjö
3f8f1c6ff2 lavu: Provide fallbacks for gmtime_r and localtime_r
This allows writing most code as if they always are is available.

These are ok to use from other libraries even though it's not a
public header, since they only provide an inline declaration, and
doesn't add an actual dependency on lavu internals. (This can be
considered more a build system compatibility fallback than a
libavutil feature.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-26 00:14:54 +03:00
Martin Storsjö
1bd0bdcdc2 lavu: Add av_gettime_relative
Since av_gettime() is used in a number of places where actual
real time clock is required, the monotonic clock introduced in
ebef9f5a5 would have consequences that are hard to handle. Instead
split it into a separate function that can be used in the cases
where only relative time is desired.

On platform where no monotonic clock is available, the difference
between the two av_gettime functions is not clear, and one could
mistakenly use the relative clock where an absolute one is
required. Therefore add an offset, to make it evident that the
time returned from av_gettime_relative never is actual current
real time, even though it is based on av_gettime.

Based on a patch by Olivier Langlois.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-24 09:53:41 +03:00
Vittorio Giovara
5a419b2dd1 pixdesc: return color properties names 2014-10-08 18:17:49 +01:00
Vittorio Giovara
04ccd584a7 pixfmt: mark further reserved values 2014-10-08 18:17:49 +01:00
Vittorio Giovara
c732c62cee doc: expand description for some color properties 2014-10-08 18:17:49 +01:00
Luca Barbato
d995f0a155 log: Unbreak no-tty support on 256color terminals 2014-09-26 20:56:16 +02:00
Henrik Gramner
f629705b02 x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflags
Previously there was a limit of two cpuflags.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-09 02:00:25 -07:00
Loren Merritt
ec217218c2 x86inc: Free up variable name "n" in global namespace
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-09 02:00:19 -07:00
Henrik Gramner
176a0fca3f x86inc: Make ym# behave the same way as xm#
This makes more sense for future implementations of templates with zmm registers.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-09 01:45:14 -07:00
Gabriel Dume
1ec335513f time: Add missing zero
Leftover of 56d7df91e010a177a80cfc8dbe394305

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-08 21:46:12 +02:00
Luca Barbato
ebef9f5a56 time: Use clock_gettime if the monotonic clock is available
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-03 02:38:03 +02:00
Luca Barbato
c19a49e565 ppc: Support little endian intreadwrite 2014-09-03 02:38:03 +02:00
Gabriel Dume
4b1f5e5090 cosmetics: Write NULL pointer inequality checks more compactly
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 05:34:13 -07:00
Gabriel Dume
f929ab0569 cosmetics: Write NULL pointer equality checks more compactly
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Diego Biurrun
7c371754fb atomic_win32: Drop unnecessary atomic.h #include
The file does not require atomic.h. Also kills function redefinition warnings.
2014-08-15 09:52:57 +02:00
Diego Biurrun
e070d0a5ca frame: Remove some FF_API_AVFRAME_COLORSPACE leftovers 2014-08-14 00:44:47 -07:00
Diego Biurrun
353240541d cpu-test: Add unistd.h #include for getopt() 2014-08-13 12:37:25 -07:00
Anton Khirnov
8ddc32629a mem: add av_strndup() for duplicating substrings 2014-08-13 17:24:18 +00:00
Felix Abecassis
159a06dfc8 stereo3d: initialize AVStereo3D to zero
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 17:24:18 +00:00
Andrew Stone
a8c104a511 AVOption: add support for dictionary types.
In order to support metadata being set as an option, it's necessary to be able
to set dictionaries as values.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:07:40 +00:00
Luca Barbato
fb1ddcdc8f avresample: Introduce AVFrame-based API 2014-08-10 14:26:37 +02:00
Anton Khirnov
472f9ed312 Remove obsolete FF_API_AVFRAME_COLORSPACE cruft. 2014-08-09 16:59:13 +00:00
Anton Khirnov
1985c2e75c Bump major versions of all libraries. 2014-08-09 16:58:33 +00:00
Anton Khirnov
f4c444e17d Postpone API-incompatible changes until the next bump. 2014-08-09 16:57:10 +00:00
Vittorio Giovara
e9abafca27 avutil: add AV_PIX_FMT_YA16 pixel format 2014-08-04 12:55:08 +01:00
Vittorio Giovara
e96c3b81ca avutil: rename AV_PIX_FMT_Y400A to AV_PIX_FMT_YA8
The rationale is that you have a packed format in form
<greyscale sample> <alpha sample> <greyscale sample> <alpha sample>
and shortening greyscale to 'G' might make one thing about Greenscale instead.
An alias pixel format and color space name are provided for compatibility.
2014-08-04 12:55:08 +01:00
Vittorio Giovara
e0d73fda36 avutil: add alias names for gray 8/16 colour spaces 2014-08-04 12:55:08 +01:00
Luca Barbato
d2962e9f89 pixdesc: Support pixelformat aliases
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-08-04 12:55:07 +01:00
Diego Biurrun
bb41115d56 imgutils: Do not declare avpriv_set_systematic_pal2 in the public header 2014-08-04 02:52:33 -07:00
Kieran Kunhya
1ef9e83764 avcodec: Deprecate dtg_active_format field in favor of avframe side-data
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-03 15:43:02 -07:00
Janne Grunau
a238b83b13 aarch64: use MACH-O const data asm directive in const macro 2014-08-04 00:17:21 +02:00
Janne Grunau
caf5ef852b cpu-test: test av_cpu_count
Add CPU count and number threads as informative values for fate.
2014-08-04 00:17:21 +02:00
Janne Grunau
07d8fa5812 fate: add informative cpu test
libavutil/cpu-test prints raw and effective cpu flags to STDERR. Detected
cpu flags can be useful for debugging fate errors.

No comparison of the result against a expected result since that would
require fate config specific references.
2014-08-04 00:17:21 +02:00
Luca Barbato
b2e059a1ff pixdesc: K&R formatting cosmetics
Also change some comments to multiline.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-08-01 13:07:53 +01:00
Luca Barbato
69e7336b8e avstring: Expose the simple name match function
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-29 17:46:29 +02:00
Ben Avison
6869612f5c arm: Macroize the test for 'setend' CPU instruction support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-21 15:08:01 -07:00
Ben Avison
5a272190a0 armv6: Accelerate butterflies_float
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in butterflies_float_c() / ff_butterflies_float_vfp() for the
same sample AAC stream:

                   Before          After
                   Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode       1542.8 43.7     1470.5 41.5    100.0%      +4.9%
butterflies_float  130.0  11.9     70.2   12.1    100.0%      +85.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 01:34:38 +03:00
Ben Avison
5edad2c4a1 armv6: Accelerate vector_fmul_window
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in vector_fmul_window_c() / ff_vector_fmul_window_vfp() for the
same sample AAC stream:

                    Before          After
                    Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode        1598.2 47.4     1529.2 25.4    100.0%      +4.5%
vector_fmul_window  244.0  22.1     188.9  22.3    100.0%      +29.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 01:34:31 +03:00
Vittorio Giovara
a54f03bf07 display: add matrix flip api 2014-07-09 10:14:12 -04:00
Timothy Gu
a7985cfd4c audio_fifo: Split into a separate doxygen module
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 11:44:10 -07:00
Timothy Gu
d69243d39b samplefmt: Add doxygen categories
Categorize the enum and functions as "audio-related".

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 11:44:01 -07:00
Diego Biurrun
79793f8337 Update Fiona's name in copyright statements. 2014-07-01 03:26:51 -07:00
Martin Storsjö
7b0c7c9163 arm: Detect 32 bit cpu features on ARMv8 when running on a 64 bit kernel
When running on a 64 bit kernel, /proc/cpuinfo lists different
optional features than on 32 bit kernels (because some of them
are mandatory in the 64 bit implemenations).

The kernel does list the old features properly if they are queried
via /proc/self/auxv though - however this file is not always readable
(e.g. on most android systems). The getauxval function could also
provide the same info as /proc/self/auxv even if this file isn't
readable, but this function is not always available (and thus would
need to be loaded with dlsym for compatibility with older android
versions).

The android cpufeatures library does this slightly differently,
by assuming that these are available if the "CPU architecture"
line is >= 8, see [1] for details.

It has been suggested to include the old, non-optional features in
/proc/cpuinfo as well, but that suggested patch never was merged.
See [2] for the discussion around this suggestion.

[1] https://android-review.googlesource.com/91380
[2] http://marc.info/?l=linux-arm-kernel&m=139087240101974

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-28 22:16:59 +03:00
Vittorio Giovara
ab72eda15e pixfmt: mark the reserved values 2014-06-23 17:39:03 -04:00
Luca Barbato
ccda51b14c lzo: Handle integer overflow
get_len can overflow for specially crafted payload.

Reported-By: Don A. Baley <donb@securitymouse.com>
CC: libav-stable@libav.org
2014-06-23 10:20:57 +02:00
Justin Ruggles
9e500efdbe Add av_image_check_sar() and use it to validate SAR 2014-06-20 10:39:33 -04:00
Vittorio Giovara
440842c4eb stereo3d: add missing include guards 2014-06-19 17:31:49 -04:00
Roman Savchenko
44671b5786 AVFrame: factor out freeing the side data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-18 08:11:05 +02:00
Janne Grunau
1619274fb3 av_dict_set: fix potential memory leak with AV_DICT_DONT_OVERWRITE
av_dict_set leaks it key/value arguments if AV_DICT_DONT_OVERWRITE is
combined with AV_DICT_DONT_STRDUP_{KEY,VAL} and the key exists.
2014-06-09 12:33:19 +02:00
Diego Biurrun
d816e125fe dict: const correctness for av_dict_get() and av_dict_copy() 2014-06-05 09:16:15 -07:00
Janne Grunau
d5a5598198 build: check if AS supports the '.func' directive
Not supported by Clang's integrated assembler. Since it just adds
debug information it can safely omitted.
2014-06-03 14:23:03 +02:00
Janne Grunau
68a06b3a63 aarch64: use '#' for whole line asm comments
Both gnu as and clang treat lines starting with '#' as comments if they
aren't consumed by the C-style preprocessor.
Using '//' does not work with clang since comments are removed before
macro expansion.
2014-06-03 14:23:02 +02:00
Janne Grunau
6a0fa4d86f aarch64: remove optional :pg_hi21: for adrp instruction
Clang's integrated assembler does not support it.
2014-06-03 14:23:02 +02:00
Janne Grunau
fd2981ea92 aarch64: add darwin style PAGE/PAGEOFF relocations 2014-06-03 14:23:01 +02:00
Diego Biurrun
880e2aa236 Remove all Blackfin architecture optimizations
Blackfin is a painful platform to work with, no test machines are available
and the range of multimedia applications is dubious. Thus it only represents
a maintenance burden.
2014-06-02 08:41:47 -07:00
wm4
8c02adc62d lavu: add all color-related enums to AVFrame
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-01 08:22:02 +02:00
Martin Storsjö
08cd92144e aarch64: Use the correct syntax for relocations
This fixes building in PIC mode with gas. The examples in the gas
manual showed using a # here even though gas itself actually didn't
support that syntax (and the gas test suite only tests it without
the extra hash sign).

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-29 14:47:25 +03:00
Roman Savchenko
a53551cba8 frame: fix the error path in av_frame_copy_props()
First free metadata, then the side data it is contained in.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-29 07:59:56 +02:00
Diego Biurrun
b5aa485513 ppc: Move vec_unaligned_load macro to util_altivec
This allows reusing it from multiple files.
2014-05-28 03:29:33 -07:00
Diego Biurrun
593886b5dd ppc: util_altivec: Drop unused macros 2014-05-28 03:11:24 -07:00
Carl Eugen Hoyos
4d8c28deab imgutils: make systematic palette opaque.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-25 08:33:15 +02:00
Martin Storsjö
82fc9f4b38 display: Include mathematics.h for fallback definition of NAN
This fixes compilation with MSVC.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-19 18:34:51 +03:00
Vittorio Giovara
bddd8cbf68 Add transformation matrix API.
Add AV_PKT_DATA_DISPLAYMATRIX and AV_FRAME_DATA_DISPLAYMATRIX as stream and
frame side data (respectively) to describe a display transformation matrix
for linear transformation operations on the decoded video.

Add functions to easily extract a rotation angle from a matrix and
conversely to setup a matrix for a given rotation angle.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 13:13:10 +02:00
Anton Khirnov
66e6c8a7b4 lavu: Add a pixel format for new VDA hwaccel
The current hwaccel is broken and cannot be fixed in a compatible
way. It will be deprecated and replaced with a new one.
2014-05-11 14:59:59 +02:00
Luca Barbato
de69aedf99 mathematics: K&R formatting cosmetics 2014-05-03 18:31:18 +02:00
Janne Grunau
a88e1d1c59 lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets 2014-04-24 18:28:26 +02:00
Michael Niedermayer
b0bdc2a712 avutil: move av_get_time_base_q() after include rational.h
Fix compilation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 17:35:51 -04:00
Derek Buitenhuis
502512ea0f avutil: Add av_get_time_base_q()
This fixes usage of AV_TIME_BASE_Q in C++ applications, which
cannot use compound literals directly in their code.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-22 16:32:35 -04:00
Alessandro Ghedini
0983d48111 crc: add ANSI CRC16 LE
This adds the reversed byte-order version of the ANSI CRC16.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-17 20:08:19 +02:00
Vittorio Giovara
8b17243d17 lavu: Add packed YVYU422 pixel format 2014-04-07 23:50:34 +02:00
Timothy Gu
486e3649ce xtea: Add Doxy @file and group 2014-04-07 01:31:36 +02:00
Timothy Gu
f73495686d adler32: Fix doxy group definition
Based on a patch by James Almer <jamrial@gmail.com>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-07 01:31:02 +02:00
Janne Grunau
8675bcb0ad aarch64: add armv8 CPU flag 2014-04-06 21:18:49 +02:00
Alessandro Ghedini
8542f9c4f1 replaygain: correctly parse peak values
According to the ReplayGain spec, the peak amplitude may overflow and may result
in peak amplitude values greater than 1.0 with psychoacoustically coded audio,
such as MP3. Fully compliant decoders must allow peak overflows.

Additionally, having peak values in the 0<->UINT32_MAX scale makes it more
difficult for applications to actually use the peak values (e.g. when
implementing clipping prevention) since values have to be rescaled down.

This patch corrects the peak parsing by removing the rescaling of the decoded
values between 0 and UINT32_MAX and the 1.0 upper limit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 17:40:19 +02:00
Luca Barbato
9464b69da6 log: Unbreak windows support
Add the missing define.
2014-04-03 23:43:47 +02:00
Luca Barbato
4ede1862dc log: Do not assume the TERM variable is always set 2014-04-03 18:43:25 +02:00
Luca Barbato
42ba1c51d9 log: Document AV_LOG_C usage
And move outside the wrong doxygen group.
2014-04-03 18:43:24 +02:00
Luca Barbato
28b9ac4e48 log: Remove undefined behaviour 2014-04-03 18:43:24 +02:00
Luca Barbato
7763118cae log: Support for 256color terminals
And provide extended coloring capabilities for debugging.
The default colors do not change in 256 more to keep
supporting people using Black on White, White on Black and
Solarized terminals.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-03 15:54:49 +02:00
Janne Grunau
80035db88c lavu: add missing formats to av_pix_fmt_swap_endianness 2014-04-02 00:27:22 +02:00
Anton Khirnov
d161ae0a37 frame: add a function for removing side data from a frame 2014-03-24 06:07:51 +01:00
Anton Khirnov
5a7e35dd23 Add replaygain side data type and code for parsing replaygain tags. 2014-03-24 06:07:51 +01:00
Diego Biurrun
46caba4a65 float_dsp: Replace arch optimization ifdefs by if cascade
Arch-specific optimizations are handled this way everywhere else.
2014-03-22 14:11:22 +01:00
Janne Grunau
6a74ebc34d float-dsp-test: do not use C99's predefined __func__
It is not supported by all compilers on FATE. Fixes "some test were
skipped" errors.
2014-03-20 11:16:06 +01:00
Martin Storsjö
ae23809184 float_dsp: Use LOCAL_ALIGNED for instead of DECLARE_ALIGNED within functions
This fixes fate-float_dsp-test on RVCT 4.0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-19 20:02:34 +02:00
Janne Grunau
dbd12523a4 aarch64: float_dsp NEON assembler
Ported from arm NEON and added vector_dmul_scalar.

Functions between 1.5 and 5 times faster than the C implementations
using Apple's clang-503.0.19 on A7.
2014-03-18 22:56:07 +01:00
Janne Grunau
f0f687446e float_dsp: add test program and use it as fate test 2014-03-18 13:08:00 +01:00
Jean First
1481d24c3a RGBA64 pixel formats
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-16 23:05:47 +01:00
Diego Biurrun
da785231ea bfin: Refactor duplicated assembly-related macros 2014-03-13 08:15:52 -07:00
Diego Biurrun
e99af2a3b1 bfin: Refactor duplicated l1_text/l1_data_B macros 2014-03-13 08:15:52 -07:00
Diego Biurrun
831a118078 Update dsputil- and SIMD-related comments to match reality more closely 2014-03-13 05:50:29 -07:00
Janne Grunau
74cc901905 float_dsp: fix errors in documentation 2014-03-09 00:45:35 +01:00
Janne Grunau
c708b54033 timer: use mach_absolute_time as high resolution clock on darwin
Not guaranteed to be in nanosecond resolution. On iOS 7 the duration
of one tick is 125/3 ns which is still more than an order of magnitude
better then microseconds.

Replace decicycles with the neutral UNITS. Decicycles is strange but
tenths of a nanosecond and unspecific "deci"-ticks for mach_absolute_time
is just silly.
2014-03-09 00:45:34 +01:00
Patrice Clement
93d216d37a dict: K&R formatting cosmetics 2014-03-07 01:19:22 +01:00
Janne Grunau
cbddee1cca arm: hpeldsp: prevent overreads in armv6 asm
Based on a patch by Russel King <rmk+libav@arm.linux.org.uk>

Bug-Id: 646
CC: libav-stable@libav.org
2014-03-05 14:30:57 +01:00
Vittorio Giovara
a18ef7a76c doc: fix a couple of typos in frame.h 2014-03-04 16:12:11 +01:00
Anton Khirnov
1155fd02ae frame: add a convenience function for copying AVFrame data 2014-02-24 07:25:07 +01:00
James Almer
d59fcdaff3 x86: add detection for Bit Manipulation Instruction sets
Based on x264 code

Signed-off-by: James Almer <jamrial@gmail.com>
2014-02-23 15:29:36 +01:00
James Almer
1b932eb150 x86: add detection for FMA3 instruction set
Based on x264 code

Signed-off-by: James Almer <jamrial@gmail.com>
2014-02-23 15:29:36 +01:00
James Almer
10b0161d78 x86: add missing XOP checks and macros
Signed-off-by: James Almer <jamrial@gmail.com>
2014-02-23 15:29:36 +01:00
Janne Grunau
9c029f67ca aarch64: use EXTERN_ASM consistently for exported symbols
Based on e3fec3f095 for arm.
2014-02-20 15:24:35 +01:00
Christophe Gisquet
996697e266 x86: float dsp: unroll SSE versions
vector_fmul and vector_fmac_scalar are guaranteed that they can process in
batch of 16 elements, but their SSE versions only does 8 at a time.

Therefore, unroll them a bit.
299 to 261c for 256 elements in vector_fmac_scalar on Arrandale/Win64.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-20 14:18:05 +01:00
Anton Khirnov
c3ecd968f0 AVOptions: add flags for read/read-only options 2014-02-19 21:52:17 +01:00
Anton Khirnov
6bb8720f00 AVOptions: deprecate unused AV_OPT_FLAG_METADATA
It was never used since it was added and the things it was intended for
are now exported differently.
2014-02-19 21:52:17 +01:00
Diego Biurrun
874c751cc5 threads: Check w32threads dependencies at the configure stage
Also add warning comment about threading implementations without matching
atomics implementation to the atomics fallback implementation.
2014-02-19 15:12:37 +01:00
Martin Storsjö
543156d751 arm: Mark the stack as non-executable
If linking in an object file without this attribute set, the
linker will assume that an executable stack might be needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-02-19 09:57:19 +02:00
Tim Walker
c98f3169bf lavu: add AV_FRAME_DATA_DOWNMIX_INFO side data type. 2014-02-15 22:24:53 +01:00
Diego Biurrun
25a1ba814a log: Have function parameter names match between .c and .h file
This fixes two related Doxygen warnings.
2014-02-12 12:08:02 +01:00