- 18 Jul, 2017 2 commits
-
-
Mark Thompson authored
-
Mark Thompson authored
Hardware pixel formats do not tell you anything about their actual contents, but should still score higher than formats with completely unknown properties, which in turn should score higher than invalid formats. Do not return an AVERROR code as a score. Fixes a hang in libavfilter where format negotiation gets stuck in a loop because AV_PIX_FMT_NONE scores more highly than all other possibilities.
-
- 14 Jul, 2017 1 commit
-
-
Aleksandr Slobodeniuk authored
Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 29 Jun, 2017 1 commit
-
-
Clément Bœsch authored
We have AV_CPU_FLAG_ARMV8 == AV_CPU_FLAG_SSE3 which causes a trigger of this MMX warning on AArch64.
-
- 27 Jun, 2017 9 commits
-
-
Hendrik Leppkes authored
-
wm4 authored
Basically copied from VLC (LGPL): http://git.videolan.org/?p=vlc.git;a=blob;f=modules/video_output/win32/direct3d11.c;h=e9fcb83dcabfe778f26e63d19f218caf06a7c3ae;hb=HEAD#l1482 http://git.videolan.org/?p=vlc.git;a=blob;f=modules/codec/avcodec/d3d11va.c;h=85e7d25caebc059a9770da2ef4bb8fe90816d76d;hb=HEAD#l599 Merges Libav commit cfc9e7c9. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
wm4 authored
Some devices (some phones, apparently) will support only this opaque format. Of course this won't work with CLI, because copying data directly is not supported. Automatic frame allocation (setting AVCodecContext.hw_device_ctx) does not support this mode, even if it's the only supported mode. But since opaque surfaces are generally less useful, that's probably ok. Merges Libav commit 5030e385. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
wm4 authored
Makes dealing with formats that can not be used for staging textures easier (DXGI_FORMAT_420_OPAQUE). It also saves memory if the staging texture is never needed, so this is a good thing. Merges Libav commit 98d73e41. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
wm4 authored
It appears in this case, frames_ininit is called twice (once by av_hwframe_ctx_init(), and again by unreffing the frames ctx ref). Merges Libav commit 086321c6. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
Martin Storsjö authored
When targeting the UWP API subset, the LoadLibrary function is not available (and the fallback, LoadPackagedLibrary, can't be used to load system DLLs). In these cases, link directly to the functions in the DLLs instead of trying to load them dynamically at runtime. Merges Libav commit fd1ffa1f. Signed-off-by: Martin Storsjö <martin@martin.st>
-
wm4 authored
This also adds support to avconv (which is trivial due to the new hwaccel API being generic enough). The new decoder setup code in dxva2.c is significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Merges Libav commit f9e7a2f9. Also adds untested VP9 support. The check for DXVA2 COBJs is removed. Just update your MinGW to something newer than a 5 year old release. Signed-off-by: Diego Biurrun <diego@biurrun.de>
-
wm4 authored
To be used with the new d3d11 hwaccel decode API. With the new hwaccel API, we don't want surfaces to depend on the decoder (other than the required dimension and format). The old D3D11VA pixfmt uses ID3D11VideoDecoderOutputView pointers, which include the decoder configuration, and thus is incompatible with the new hwaccel API. This patch introduces AV_PIX_FMT_D3D11, which uses ID3D11Texture2D and an index. It's simpler and compatible with the new hwaccel API. The introduced hwcontext supports only the new pixfmt. Frame upload code untested. Significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Merges Libav commit fff90422. Signed-off-by: Diego Biurrun <diego@biurrun.de>
-
James Almer authored
Yasm: src/libavfilter/x86/af_volume.asm:24: warning: Standard COFF does not support read-only data sections src/libavfilter/x86/af_volume.asm:24: warning: Unrecognized qualifier `align' Nasm: src/libavfilter/x86/af_volume.asm:24: error: standard COFF does not support section alignment specification src/libavutil/x86/x86inc.asm:92: ... from macro `SECTION_RODATA' defined here Tested-by: Clément Bœsch <u@pkh.me> Signed-off-by: James Almer <jamrial@gmail.com>
-
- 21 Jun, 2017 1 commit
-
-
Diego Biurrun authored
None of them are specific to the YASM assembler. (Cherry-picked from libav commit 39e208f4) Signed-off-by: James Almer <jamrial@gmail.com>
-
- 19 Jun, 2017 1 commit
-
-
James Almer authored
About 2x faster than the c version.
-
- 14 Jun, 2017 9 commits
-
-
James Almer authored
It's been ported to checkasm. Signed-off-by: James Almer <jamrial@gmail.com>
-
Mark Thompson authored
Use the flags argument of av_hwframe_ctx_create_derived() to pass the mapping flags which will be used on allocation. Also, set the format and hardware context on the allocated frame automatically - the user should not be required to do this themselves. (cherry picked from commit c5714b51)
-
Mark Thompson authored
(cherry picked from commit e1c5d56b)
-
Mark Thompson authored
Factorises out existing surface initialisation code to reuse. (cherry picked from commit eaa5e071)
-
Mark Thompson authored
Some frames contexts are not usable without additional format-specific state in hwctx. This change adds new functions frames_derive_from and frames_derive_to to initialise this state appropriately when deriving a frames context which will require it to be set. (cherry picked from commit 27978155)
-
Mark Thompson authored
(cherry picked from commit aa51bb3d)
-
Mark Thompson authored
Adds functions to convert to/from strings and a function to iterate over all supported device types. Also adds a new invalid type AV_HWDEVICE_TYPE_NONE, which acts as a sentinel value. (cherry picked from commit b7487f4f)
-
Mark Thompson authored
Creates a new device context from another of a different type which refers to the same underlying hardware. (cherry picked from commit b266ad56)
-
Mark Thompson authored
The driver is somewhat bitrotten (not updated for years) but is still usable for decoding with this change. To support it, this adds a new driver quirk to indicate no support at all for surface attributes. Based on a patch by wm4 <nfxjfg@googlemail.com>. (cherry picked from commit e791b915)
-
- 12 Jun, 2017 1 commit
-
-
Henrik Gramner authored
Simplifies writing assembly code that depends on available instructions. LZCNT implies SSE2 BMI1 implies AVX+LZCNT AVX2 implies BMI2
-
- 09 Jun, 2017 4 commits
-
-
Anton Mitrofanov authored
The use of rsp was pretty much hardcoded there and probably didn't work otherwise with stack_size > 0.
-
Henrik Gramner authored
Due to a peculiarity in the ModR/M addressing encoding, the r12 and r13 registers sometimes requires an additional byte when used as a base register. r14 and r15 doesn't have that issue, so prefer using them.
-
Henrik Gramner authored
There's no point in emitting a rep prefix before ret on modern CPUs.
-
Henrik Gramner authored
We overload the `call` instruction with a macro, but it would misbehave when the macro argument wasn't a valid identifier. Fix it by explicitly checking if the argument is an identifier.
-
- 06 Jun, 2017 1 commit
-
-
Kevin Mark authored
We have floor, ceil, and trunc. Let's add round. Signed-off-by: Kevin Mark <kmark937@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 04 Jun, 2017 1 commit
-
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 01 Jun, 2017 1 commit
-
-
James Almer authored
It's an AVColorSpace value since 82ad9cbd. Signed-off-by: James Almer <jamrial@gmail.com>
-
- 16 May, 2017 1 commit
-
-
Aaron Levinson authored
Add dxva2_pool_release_dummy() and use it in call to av_buffer_create() in dxva2_pool_alloc(). Prior to this change, av_buffer_create() was called with NULL for the third argument, which indicates that av_buffer_default_free() should be used to free the buffer's data. Eventually, it gets to buffer_pool_free() and calls buf->free() on a surface object (which is av_buffer_default_free()). This can result in a crash when the debug version of the C-runtime is used on Windows. While it doesn't appear to result in a crash when the release version of the C-runtime is used on Windows, it likely results in memory corruption, since av_free() is being called on memory that was allocated using IDirectXVideoAccelerationService::CreateSurface(). Signed-off-by: Aaron Levinson <alevinsn@aracnet.com> Reviewed-by: wm4 <nfxjfg@googlemail.com> Reviewed-by: Steven Liu <lingjiujianke@gmail.com> Reviewed-by: Mark Thompson <sw@jkqxz.net>
-
- 15 May, 2017 2 commits
-
-
wm4 authored
Thanks to James Darnley for figuring out what the hell it wanted.
-
wm4 authored
This adds tons of code for no other benefit than making VideoToolbox support conform with the new hwaccel API (using hw_device_ctx and hw_frames_ctx). Since VideoToolbox decoding does not actually require the user to allocate frames, the new code does mostly nothing. One benefit is that ffmpeg_videotoolbox.c can be dropped once generic hwaccel support for ffmpeg.c is merged from Libav. Does not consider VDA or VideoToolbox encoding. Fun fact: the frame transfer functions are copied from vaapi, as the mapping makes copying generic boilerplate. Mapping itself is not exported by the VT code, because I don't know how to test.
-
- 13 May, 2017 1 commit
-
-
James Almer authored
-
- 06 May, 2017 1 commit
-
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 05 May, 2017 3 commits
-
-
Michael Niedermayer authored
Fixes: 1352/clusterfuzz-testcase-minimized-5757565017260032 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpegSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Clément Bœsch authored
-
Carl Eugen Hoyos authored
Fixes the following warning: libavutil/timecode.c:103:60: warning: '%02d' directive output may be truncated writing between 2 and 10 bytes into a region of size between 0 and 7
-