aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil
Commit message (Collapse)AuthorAgeFilesLines
* x86/cpu: set avxslow cpuflag on btver2 CPUsJames Almer2016-02-071-6/+4
| | | | | | | They are also slow when using 256 bit wide registers Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* x86/emms: empty the mmx state unconditionally on supported targetsJames Almer2016-02-041-0/+6
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/aes_crt: free AVAESCTR struct properlyJames Almer2016-02-031-1/+1
| | | | | Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit 'd336bfcf69fee159e9dba5e5e486ddb1aba61aab'Derek Buitenhuis2016-02-031-2/+2
|\ | | | | | | | | | | | | * commit 'd336bfcf69fee159e9dba5e5e486ddb1aba61aab': pixdesc: fix and extend doxy for av_pix_fmt_get_chroma_sub_sample() Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * pixdesc: fix and extend doxy for av_pix_fmt_get_chroma_sub_sample()Anton Khirnov2016-01-231-2/+2
| | | | | | | | The parameters in the docs are currently swapped.
| * lavu: add AV_CEIL_RSHIFT and use it in various placesClément Bœsch2016-01-114-3/+11
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | avutil: Add GOP timecode frame side dataDerek Buitenhuis2016-02-013-3/+9
| | | | | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | all: Make header guard names consistentTimothy Gu2016-01-312-6/+6
| |
* | libavutil/mastering_display_metadata.h: change fields to be rationals as ↵Neil Birkbeck2016-01-292-6/+7
| | | | | | | | | | | | | | | | | | this is how they are typically coded. (this structure is not referenced anywhere yet) Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | all: Add missing header guardsTimothy Gu2016-01-285-0/+25
| |
* | avutil: Rename FF_CEIL_COMPAT to AV_CEIL_COMPATDerek Buitenhuis2016-01-274-4/+7
| | | | | | | | | | | | | | | | | | | | Libav, for some reason, merged this as a public API function. This will aid in future merges. A define is left for backwards compat, just in case some person used it, since it is in a public header. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | avutil/opt: check for and handle errors in av_opt_set_dict2()Michael Niedermayer2016-01-261-3/+4
| | | | | | | | | | | | Previously errors could result in random entries to be lost. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avutil: add P010 pixel formatHendrik Leppkes2016-01-263-1/+29
| | | | | | | | | | P010 is the 10-bit variant of NV12 (planar luma, packed chroma), using two bytes per component to store 10-bit data plus 6-bit zeroes in the LSBs.
* | Add missing conversions from side data enum to nameNeil Birkbeck2016-01-221-0/+4
| | | | | | | | | | | | | | Add names for recently added enums to av_frame_side_data_name. Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | x86inc: Add debug symbols indicating sizes of compiled functionsGeza Lore2016-01-211-0/+23
| | | | | | | | | | | | | | | | | | Some debuggers/profilers use this metadata to determine which function a given instruction is in; without it they get can confused by local labels (if you haven't stripped those). On the other hand, some tools are still confused even with this metadata. e.g. this fixes `gdb`, but not `perf`. Currently only implemented for ELF.
* | x86inc: Avoid creating unnecessary local labelsHenrik Gramner2016-01-211-2/+4
| | | | | | | | | | | | | | | | | | | | The REP_RET workaround is only needed on old AMD cpus, and the labels clutter up the symbol table and confuse debugging/profiling tools, so use EQU to create SHN_ABS symbols instead of creating local labels. Furthermore, skip the workaround completely in functions that definitely won't run on such cpus. Note that EQU is just creating a local label when using nasm instead of yasm. This is probably a bug, but at least it doesn't break anything.
* | x86inc: Simplify AUTO_REP_RETHenrik Gramner2016-01-211-4/+2
| | | | | | | | | | | | cpuflags is never undefined any more, it's set to 0 instead. Also fix an incorrect comment.
* | x86inc: Use more consistent indentationHenrik Gramner2016-01-211-67/+67
| |
* | x86inc: Preserve arguments when allocating stack spaceHenrik Gramner2016-01-211-2/+5
| | | | | | | | | | | | When allocating stack space with a larger alignment than the known stack alignment a temporary register is used for storing the stack pointer. Ensure that this isn't one of the registers used for passing arguments.
* | x86inc: Improve FMA instruction handlingHenrik Gramner2016-01-211-40/+37
| | | | | | | | | | | | | | | | | | | | | | | | * Correctly handle FMA instructions with memory operands. * Print a warning if FMA instructions are used without the correct cpuflag. * Simplify the instantiation code. * Clarify documentation. Only the last operand in FMA3 instructions can be a memory operand. When converting FMA4 instructions to FMA3 instructions we can utilize the fact that multiply is a commutative operation and reorder operands if necessary to ensure that a memory operand is used only as the last operand.
* | x86inc: Be more verbose in assertion failuresHenrik Gramner2016-01-211-1/+1
| |
* | x86/intmath: disable sse av_clip functions when using ICCJames Almer2016-01-211-2/+2
| | | | | | | | | | | | | | | | | | It seems to miscompile them Should fix fate-ra-288 and fate-twinvq Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* | lavu: add pthread asserts if ASSERT_LEVEL>1Clément Bœsch2016-01-201-0/+96
| |
* | libavutil: add mastering display metadata sidedataNeil Birkbeck2016-01-195-2/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding mastering display metadata struct to avutil. The mastering display metadata contains information about the mastering display color volume (SMPTE 2086:2014). This info comes from HEVC in the SEI_TYPE_MASTERING_DISPLAY_INFO and is soon to be included in MKV: https://mailarchive.ietf.org/arch/search/?email_list=cellar&gbt=1&index=sZyfPTM-QY69P-0omfOIiTN622o so it is similar to SEI FPA / stereo_mode in MKV and as such this patch follows how AVStereo3D is implemented. I'll add support to HEVC in a follow-up (and MKV when spec is approved). Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '73c8c0341cce9e1a6c4169721f5123f97fc4be2f'Hendrik Leppkes2016-01-191-1/+1
|\| | | | | | | | | | | | | * commit '73c8c0341cce9e1a6c4169721f5123f97fc4be2f': arm: Fix vfp dead code elimination with have_vfp_vm Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * arm: Fix vfp dead code elimination with have_vfp_vmMartin Storsjö2016-01-081-1/+1
| | | | | | | | | | | | | | | | | | This fixes builds with --disable-vfp. Checking for the armv6 cpu flag is incorrect, since vfpv2 isn't armv6 specific. Signed-off-by: Martin Storsjö <martin@martin.st>
* | x86/fixed_dsp: add ff_butterflies_fixed_sse2James Almer2016-01-165-0/+90
| | | | | | | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | lavu/x86/lls: add fma3 optimizations for update_llsGanesh Ajjanagadde2016-01-152-2/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves accuracy (very slightly) and speed for processors having fma3. Sample benchmark (fate flac-16-lpc-cholesky, Haswell): old: 5993610 decicycles in ff_lpc_calc_coefs, 64 runs, 0 skips 5951528 decicycles in ff_lpc_calc_coefs, 128 runs, 0 skips new: 5252410 decicycles in ff_lpc_calc_coefs, 64 runs, 0 skips 5232869 decicycles in ff_lpc_calc_coefs, 128 runs, 0 skips Tested with FATE and --disable-fma3, also examined contents of lavu/lls-test. Reviewed-by: James Almer <jamrial@gmail.com> Reviewed-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | x86/intmath: add missing early clobber to output operandsJames Almer2016-01-151-2/+2
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | lavu: prevent overflow in av_clip_intp2_cAndreas Cadhalpun2016-01-151-1/+1
| | | | | | | | | | | | | | | | This fixes ubsan runtime error: signed integer overflow: 8388608 + 2140274688 cannot be represented in type 'int' Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | lavu/libm: add isfinite fallbackGanesh Ajjanagadde2016-01-131-0/+19
| | | | | | | | | | Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | avutil/common: Protect GET_BYTE in GET_UTF8() by ()Michael Niedermayer2016-01-131-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Correct two build/built typosTimothy Gu2016-01-111-1/+1
| | | | | | | | | | Found-by: Leo Izen <leo.izen@gmail.com> as thebombzen on IRC Signed-off-by: Timothy Gu <timothygu99@gmail.com>
* | x86/float_dsp: zero extend offset from ff_scalarproduct_float_sseJames Almer2016-01-081-3/+3
| | | | | | | | | | Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | x86/float_dsp: zero extend len from ff_butterflies_float_sse implicitlyJames Almer2016-01-081-4/+1
| | | | | | | | | | Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | x86/float_dsp: remove len check from ff_butterflies_float_sseJames Almer2016-01-081-3/+0
| | | | | | | | | | | | | | The function documentation explicitly mentions it needs to be a multiple of 4. Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | lavu: rename and move ff_parity to av_parityJames Almer2016-01-073-10/+12
| | | | | | | | | | | | | | av_popcount is not defined in intmath.h. Reviewed-by: ubitux Signed-off-by: James Almer <jamrial@gmail.com>
* | lavu: add ff_parity()Clément Bœsch2016-01-071-0/+12
| |
* | lavu/common: add an explanation to FF_CEIL_RSHIFT()Clément Bœsch2016-01-071-1/+1
| |
* | lavu/common: fix FF_CEIL_RSHIFT() range commentClément Bœsch2016-01-071-1/+1
| |
* | x86/intmath: add sse optimized av_clipf and av_clipdJames Almer2016-01-071-0/+33
| | | | | | | | | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | avutil/cpu: add missing entry for vfp_vm to av_parse_cpu_capsHendrik Leppkes2016-01-021-0/+1
| |
* | Merge commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0'Hendrik Leppkes2016-01-025-1/+13
|\| | | | | | | | | | | | | * commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0': arm: add a cpu flag for the VFPv2 vector mode Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * arm: add a cpu flag for the VFPv2 vector modeJanne Grunau2015-12-145-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The vector mode was deprecated in ARMv7-A/VFPv3 and various cpu implementations do not support it in hardware. Vector mode code will depending the OS either be emulated in software or result in an illegal instruction on cpus which does not support it. This was not really problem in practice since NEON implementations of the same functions are preferred. It will however become a problem for checkasm which tests every cpu flag separately. Since this is a cpu feature newer cpu do not support anymore the behaviour of this flag differs from the other flags. It can be only activated by runtime cpu feature selection.
* | Merge commit '64034849dad8410bedbe1def4c533490fb85cc4a'Hendrik Leppkes2016-01-022-1/+47
|\| | | | | | | | | | | | | * commit '64034849dad8410bedbe1def4c533490fb85cc4a': arm64: add cycle counter support Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * arm64: add cycle counter supportJanne Grunau2015-12-142-1/+47
| | | | | | | | | | | | The ISB (instruction synchronization barrier) might be too heavy for START/STOPTIMER use but should be more accurate in checkasm where the timing overhead is subtracted.
* | Merge commit '50078c1c8070dd8d1c329e8117ff30ec72489039'Hendrik Leppkes2016-01-025-2/+7
|\| | | | | | | | | | | | | * commit '50078c1c8070dd8d1c329e8117ff30ec72489039': libavutil: move FFALIGN macro from common.h to macros.h Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * libavutil: move FFALIGN macro from common.h to macros.hJanne Grunau2015-12-145-2/+7
| | | | | | | | | | | | | | | | | | Include macros.h explicitly in common.h so that external code using FFALIGN does not break. It was already implicitly included through version.h. Include macros.h in lls.h and internal.h for FFALIGN. lls.h was including common.h only for FFALIGN and internal.h was missing the include for FFALIGN. `make checkheaders` did not catch it because it's an internal header.
* | lavu/eval: replace pow(10,x) by ff_exp10(x)Ganesh Ajjanagadde2015-12-251-1/+1
| | | | | | | | | | Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | lavu/internal: add ff_exp10Ganesh Ajjanagadde2015-12-251-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | Fast, reasonably accurate 10^x. Alternative of detection of libm exp10 at configure time is not worth the trouble, since it is anyway not POSIX or ISO C, and currently only the GNU libm has it. Furthermore, GNU libm's variant is ~ 2x slower, and is ironically not correctly rounded (2 ulp off) to justify all that slowdown. Reviewed-by: James Almer <jamrial@gmail.com> Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>