summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAge
* Merge commit '07e1f99a1bb41d1a615676140eefc85cf69fa793'Clément Bœsch2017-03-20
|\ | | | | | | | | | | | | * commit '07e1f99a1bb41d1a615676140eefc85cf69fa793': x86util: Document SBUTTERFLY macro Merged-by: Clément Bœsch <u@pkh.me>
| * x86util: Document SBUTTERFLY macroAlexandra Hájková2016-09-19
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * hwcontext_vdpau: Fix missing subscriptsMark Thompson2016-09-14
| | | | | | | | Also remove the redundant casts which were hiding the error here.
* | Merge commit '09a145b3c837273b1379321e44386a3233156e75'Clément Bœsch2017-03-20
|\| | | | | | | | | | | | | * commit '09a145b3c837273b1379321e44386a3233156e75': hwcontext_vdpau: Remove duplicate definition of GET_CALLBACK Merged-by: Clément Bœsch <u@pkh.me>
| * hwcontext_vdpau: Remove duplicate definition of GET_CALLBACKMark Thompson2016-09-14
| |
* | Merge commit '4fb311c804098d78e5ce5f527f9a9c37536d3a08'Clément Bœsch2017-03-20
|\| | | | | | | | | | | | | | | | | | | * commit '4fb311c804098d78e5ce5f527f9a9c37536d3a08': Drop memalign hack Merged, as this may indeed be uneeded since 46e3936fb04d06550151e667357065e3f646da1a. Merged-by: Clément Bœsch <u@pkh.me>
| * Drop memalign hackDiego Biurrun2016-09-03
| | | | | | | | It no longer serves a useful purpose.
* | Merge commit 'f01f7a7846529b7c3ef343f117eaa2c0a1457af0'Clément Bœsch2017-03-20
|\| | | | | | | | | | | | | * commit 'f01f7a7846529b7c3ef343f117eaa2c0a1457af0': hwcontext_dxva2: use the special UC copy for downloading frames Merged-by: Clément Bœsch <u@pkh.me>
| * hwcontext_dxva2: use the special UC copy for downloading framesAnton Khirnov2016-08-31
| |
* | Merge commit 'd7bc52bf456deba0f32d9fe5c288ec441f1ebef5'Clément Bœsch2017-03-20
|\| | | | | | | | | | | | | * commit 'd7bc52bf456deba0f32d9fe5c288ec441f1ebef5': imgutils: add a function for copying image data from GPU mapped memory Merged-by: Clément Bœsch <u@pkh.me>
| * imgutils: add a function for copying image data from GPU mapped memoryAnton Khirnov2016-08-31
| | | | | | | | See https://software.intel.com/en-us/articles/copying-accelerated-video-decode-frame-buffers
| * mathematics: Kill non-compiling disabled cruftDiego Biurrun2016-08-17
| |
| * hwcontext_vaapi: Try the first render node as the default DRM deviceMark Thompson2016-08-13
| | | | | | | | | | | | | | | | | | | | If no string argument is supplied when av_hwdevice_ctx_create() is called to create a VAAPI device, we currently only try the default X11 display (that is, $DISPLAY) to find a device, and will therefore fail in the absence of an X server to connect to. Change the logic to also look for a device via the first DRM render node (that is, "/dev/dri/renderD128"), which is probably the right thing to use in most simple configurations which only have one DRM device.
* | lavu: add AV_PIX_FMT_FLAG_BAYERClément Bœsch2017-03-20
| |
* | lavu/mathematics: split closing bracket out of ifdeferyClément Bœsch2017-03-18
| |
* | lavu/mathematics: document so-called "cruft"Clément Bœsch2017-03-18
| |
* | Merge commit 'ec021d48445a414325ad59a73f9cde3212b173e4'Clément Bœsch2017-03-18
|\| | | | | | | | | | | | | * commit 'ec021d48445a414325ad59a73f9cde3212b173e4': buffer: fix av_buffer_pool_init2() documentation Merged-by: Clément Bœsch <u@pkh.me>
| * buffer: fix av_buffer_pool_init2() documentationAnton Khirnov2016-08-11
| | | | | | | | | | | | A non-existent av_buffer_pool_can_uninit() function is mentioned instead of av_buffer_pool_uninit(). Also, this function is to be called by the caller, not the pool itself.
* | spherical: Change types of bounding and pad to uint32_tVittorio Giovara2017-03-17
| | | | | | | | | | | | | | | | | | These values are defined to be 32bit in the specification, so it makes more sense to store them as fixed width. Based on a patch by Micahel Niedermayer <michael@niedermayer.cc>. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | lavu/spherical: Make AVSphericalMapping pointer parameter const.Carl Eugen Hoyos2017-03-16
| | | | | | | | | | Reflects the actual code and silences a gcc warning: ffprobe.c:1797:42: warning: passing argument 1 of 'av_spherical_tile_bounds' discards 'const' qualifier from pointer target type
* | Merge commit '24a362569bff1d4161742fffaca80a4a4428be8a'Clément Bœsch2017-03-16
|\| | | | | | | | | | | | | * commit '24a362569bff1d4161742fffaca80a4a4428be8a': buffer: fix av_buffer_realloc() when the data is offset wrt buffer start Merged-by: Clément Bœsch <u@pkh.me>
| * buffer: fix av_buffer_realloc() when the data is offset wrt buffer startAnton Khirnov2016-08-03
| | | | | | | | | | | | | | | | | | In such a case behave as if the buffer was not reallocatable -- allocate a new one and copy the data (preserving just the part described by the reference passed to av_buffer_realloc). CC: libav-stable@libav.org Reported-By: wm4 <nfxjfg@googlemail.com>
| * lavu: add LOCAL_ALIGNED_32James Almer2016-08-03
| | | | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * Revert "libavutil: Use an intermediate variable in AV_COPY*U"Martin Storsjö2016-08-02
| | | | | | | | | | | | | | | | | | | | This reverts commit 014773b66bdff4de24f384066d1a85d2a5bb6774. Since 230b1c070, the bytewise AV_W*() macros only expand their argument once, i.e. doing exactly the same change as was done in the AV_COPY*U macros, so this change is no longer necessary. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'f79d847400d218cfd0b95f10358fe6e65ec3c9c4'James Almer2017-03-15
|\| | | | | | | | | | | | | * commit 'f79d847400d218cfd0b95f10358fe6e65ec3c9c4': intreadwrite: Use the __unaligned keyword on MSVC for ARM and x86_64 Merged-by: James Almer <jamrial@gmail.com>
| * intreadwrite: Use the __unaligned keyword on MSVC for ARM and x86_64Martin Storsjö2016-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | AV_WN64 is meant for unaligned data, but the existing av_alias* unions (without a definition for the av_alias attribute - we don't have one for MSVC) indicate to the compiler that they would have sufficient alignment for normal access, i.e. the compiler is free to assume 8 byte alignment. On ARM, this makes sure that AV_WN64 (or two consecutive AV_WN32) is done with two str instructions instead of one strd. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '230b1c070baa3b6d4bd590426a365b843d60ff50'James Almer2017-03-15
|\| | | | | | | | | | | | | | | | | | | * commit '230b1c070baa3b6d4bd590426a365b843d60ff50': intreadwrite: Add intermediate variables in the byteswise AV_W*() macros Mostly a noop. Merged for cosmetic purposes. See d83ff76ca0e1ec905ca2d5b27bd0973991eadbd9 Merged-by: James Almer <jamrial@gmail.com>
| * intreadwrite: Add intermediate variables in the byteswise AV_W*() macrosMartin Storsjö2016-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids issues with expanding the argument multiple times, and makes sure that it is of the right type for the following shifts. Even if the caller of a macro could be expected not to pass parameters that have side effects if expanded multiple times, these fallback codepaths are rarely, if ever, tested, so it is expected that such issues can arise. Thefore, for safety, make sure the fallback codepaths only expand the arguments once. Signed-off-by: Martin Storsjö <martin@martin.st>
| * libavutil: Use an intermediate variable in AV_COPY*UMartin Storsjö2016-07-31
| | | | | | | | | | | | | | | | | | | | | | If AV_RN and AV_WN are macros with multiple individual reads and writes, the previous version of the AV_COPYU macro would fail if the reads and writes overlap. This should not be any less efficient in any case, given a sensibly optimizing compiler. Signed-off-by: Martin Storsjö <martin@martin.st>
* | aarch64: Add parentheses around the offset parameter in movrelMartin Storsjö2017-03-11
| | | | | | | | | | | | | | | | | | This fixes building with clang for linux with PIC enabled. This is cherrypicked from libav commit 8847eeaa141898850381400000fb2b8a7adc7100. Signed-off-by: Martin Storsjö <martin@martin.st>
* | avutil/tests/lfg: Remove debugging start/stop timerMichael Niedermayer2017-03-08
| | | | | | | | | | | | Fixes code with qemu ARM Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avutil/tests/lfg.c: added proper normality testThomas Turner2017-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Chen-Shapiro(CS) test was used to test normality for Lagged Fibonacci PRNG. Normality Hypothesis Test: The null hypothesis formally tests if the population the sample represents is normally-distributed. For CS, when the normality hypothesis is True, the distribution of QH will have a mean close to 1. Information on CS can be found here: http://www.stata-journal.com/sjpdf.html?articlenum=st0264 http://www.originlab.com/doc/Origin-Help/NormalityTest-Algorithm Signed-off-by: Thomas Turner <thomastdt@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Revert "lavu/atomic: add support for the new memory model aware gcc built-ins"James Almer2017-03-08
| | | | | | | | | | | | | | | | | | | | | | This reverts commit faa9d2982969c999ab0e443a226eff116f7f8e4b. This change became superfluous when support for C11 atomics was introduced. Reverting it will make the removal of this implementation in an upcoming merge conflict free. Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | spherical: Add tiled equirectangular type and projection-specific propertiesVittorio Giovara2017-03-07
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | avutil/md5: stop discarding the const qualifier for the src pointerJames Almer2017-03-03
| | | | | | | | | | | | | | The code modifying the buffer on big endian systems was removed. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* | avutil/md5: fix misaligned readsJames Almer2017-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes ubsan happy and also considerably increases performance on big endian systems. Tested on an IBM POWER7 3.55 GHz Before: 2.24user 0.14system 0:02.39elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 2.26user 0.11system 0:02.38elapsed 99%CPU (0avgtext+0avgdata 2688maxresident)k 2.23user 0.15system 0:02.38elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 2.25user 0.12system 0:02.38elapsed 100%CPU (0avgtext+0avgdata 2624maxresident)k 2.20user 0.15system 0:02.36elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k After: 1.86user 0.13system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 1.89user 0.11system 0:02.01elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 1.85user 0.14system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 1.84user 0.15system 0:01.99elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 1.89user 0.13system 0:02.02elapsed 99%CPU (0avgtext+0avgdata 2688maxresident)k Tested-by: Nicolas George <george@nsup.org> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* | Revert "avutil/frame: Disallow zero sized frame side data"Michael Niedermayer2017-03-03
| | | | | | | | | | | | | | | | | | Found a case where we use size==0, the other related commits remain needed, and should be sufficient to fix the original issue This reverts commit 7e4f32f4e4b93c95dcc872cb844c5548e69f352e. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | hwcontext_vaapi: Don't abort on failing to allocate from a fixed-size poolMark Thompson2017-03-02
| | | | | | | | | | | | Cherry-picked from Libav d30719e62de68975cbc7ffd318df03a183037563. Signed-off-by: wm4 <nfxjfg@googlemail.com>
* | avcodec, avutil, avformat: remove AVOption requirement for some fieldswm42017-03-02
| | | | | | | | | | | | | | | | | | | | Allow all struct fields to be accessed directly, as long as they're public. Before this change, many fields were "public", but could be accessed via AVOption only. This meant they were effectively not public, but were present for documentation purposes, which was incredibly confusing at best.
* | add locale month names to av_small_strptimeMicah Galizia2017-02-26
| | | | | | | | | | Signed-off-by: Micah Galizia <micahgalizia@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avutil/frame: Disallow zero sized frame side dataMichael Niedermayer2017-02-25
| | | | | | | | | | | | | | There should be no case that needs this and its a potential for creating corner cases Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avutil/frame: Reimplement av_frame_new_side_data() without size=0 special caseMichael Niedermayer2017-02-25
| | | | | | | | | | | | | | | | | | | | | | | | The size 0 special case causes side data to be created which is different and a special case if for any reasons size = 0 is passed Fixes: multiple runtime error: null pointer passed as argument 1, which is declared to never be null Fixes: 653/clusterfuzz-testcase-5773837415219200 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Factorize CHECK/SUINT codeMichael Niedermayer2017-02-21
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Factor CHECKED out of DEBUG so it can be set seperatlyMichael Niedermayer2017-02-19
| | | | | | | | | | Suggested-by: Matt Wolenetz <wolenetz@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/h264: sse2, avx h luma mbaff deblock/loop filterJames Darnley2017-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | x86-64 only Yorkfield: - sse2: ~2.17x (434 vs. 200 cycles) Nehalem: - sse2: ~2.94x (409 vs. 139 cycles) Skylake: - sse2: ~3.10x (370 vs. 119 cycles) - avx: ~3.29x (370 vs. 112 cycles)
* | x86util: import MOVHL macroJames Darnley2017-02-18
| | | | | | | | | | | | | | | | | | | | Originally committed to x264 in 1637239a by Henrik Gramner who has agreed to re-license it as LGPL. Original commit message follows. x86: Avoid some bypass delays and false dependencies A bypass delay of 1-3 clock cycles may occur on some CPUs when transitioning between int and float domains, so try to avoid that if possible.
* | avcodec/x86: deduplicate PASS8ROWS macroJames Darnley2017-02-18
| |
* | hwcontext_dxva2: support D3D9Exwm42017-02-13
| | | | | | | | | | | | | | | | | | | | D3D9Ex uses different driver paths. This helps with "headless" configurations when no user logs in. Plain D3D9 device creation will fail if no user is logged in, while it works with D3D9Ex. Signed-off-by: Anton Khirnov <anton@khirnov.net> Merges Libav commit c2f97f0508708.
* | AVFrame: add an opaque_ref fieldwm42017-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an extended version of the AVFrame.opaque field, which can be used to attach arbitrary user information to an AVFrame. The usefulness of the opaque field is rather limited, because it can store only up to 32 bits of information (or 64 bit on 64 bit systems). It's not possible to set this field to a memory allocation, because there is no way to deallocate it correctly. The opaque_ref field circumvents this by letting the user set an AVBuffer, which makes the user data refcounted. Signed-off-by: Anton Khirnov <anton@khirnov.net> Merges Libav commit 04f3bd349651.
* | Revert "avutil/hwcontext_vaapi: fix SEGV in vaTerminate when vaInitialize fails"Mark Thompson2017-02-05
| | | | | | | | | | | | | | | | | | | | | | The original code is correctly following the API - vaTerminate() must be called to free the resources of a VADisplay after it is created by any of the vaGetDisplay*() calls; it is not necessary to have successfully called vaInitialize() on it. The segfaults which prompted this change must therefore be bugs in libva or the driver it loads. This reverts commit 3606602f1137552ea54f2c259eb140c1e3c026d4.