summaryrefslogtreecommitdiff
path: root/libavutil/hwcontext_dxva2.c
Commit message (Collapse)AuthorAge
* hwcontext_dxva2: initialize D3DDISPLAYMODEEX correctlywm42018-01-04
|
* libavutil/hwcontext_dxva2: Add check for possible errors from ↵Humberto Ribeiro2018-01-04
| | | | | | | | | | GetAdapterDisplayModeEx This prevents a possible crash in CreateDeviceEx when using faulty response from GetAdapterDisplayModeEx and allows ffmpeg to fallback to classic d3d9. Signed-off-by: wm4 <nfxjfg@googlemail.com>
* avutil/hwcontext_dxva2: return an error when buffer allocation failsJames Almer2017-09-19
| | | | | | | This also prevents the use of an uninitialized variable. Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/hwcontext_dxva2: Don't improperly free IDirect3DSurface9 objectsAaron Levinson2017-05-16
| | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge commit 'e18ba2dfd2d19aedc8afccf011d5fd0833352423'Hendrik Leppkes2017-04-01
|\ | | | | | | | | | | | | * commit 'e18ba2dfd2d19aedc8afccf011d5fd0833352423': hwcontext_dxva2: make sure the sw frame format is the right one during transfer Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_dxva2: make sure the sw frame format is the right one during transferAnton Khirnov2016-11-18
| |
* | Merge commit '5a1d605ceae448b476a525f7368ec452000d1f26'Hendrik Leppkes2017-04-01
|\| | | | | | | | | | | | | * commit '5a1d605ceae448b476a525f7368ec452000d1f26': hwcontext_dxva2: split transfer_data() into upload/download functions Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_dxva2: split transfer_data() into upload/download functionsAnton Khirnov2016-11-18
| | | | | | | | | | | | Just the presence of a hw frames context is not enough to detect whether the transfer is an upload or a download, because hw frames mapped to system memory will have a hw frames context attached.
* | Merge commit '9d7026574bbbe67d004a1c32911da75375692967'Hendrik Leppkes2017-04-01
|\| | | | | | | | | | | | | * commit '9d7026574bbbe67d004a1c32911da75375692967': hwcontext_dxva2: fix handling of the mapping flags Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_dxva2: fix handling of the mapping flagsAnton Khirnov2016-11-18
| | | | | | | | | | | | D3DLOCK_READONLY properly corresponds to the absence of the write flag, not to the presence of the read flag, while D3DLOCK_DISCARD is equivalent to the overwrite flag.
* | Merge commit '0d3176e32f351d18d6174d8b05796829a75a4c6b'Hendrik Leppkes2017-04-01
|\| | | | | | | | | | | | | * commit '0d3176e32f351d18d6174d8b05796829a75a4c6b': hwcontext_dxva2: do not assume the destination format during mapping is always the right one Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_dxva2: do not assume the destination format during mapping is ↵Anton Khirnov2016-11-18
| | | | | | | | | | | | always the right one Handle the cases where it is unsupported or unset.
* | Merge commit '10065d9324c2e35ce7040b6a2b9ebf6079bcbf42'Hendrik Leppkes2017-03-30
|\| | | | | | | | | | | | | * commit '10065d9324c2e35ce7040b6a2b9ebf6079bcbf42': hwcontext_dxva2: add support for the P8 format Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_dxva2: add support for the P8 formatAnton Khirnov2016-11-07
| | | | | | | | | | | | | | This format is used internally by the QSV encoder to store the encoded bitstream. Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
* | Merge commit '910973765417f06a4a9ccbd006e4df74c32ecb01'Hendrik Leppkes2017-03-30
|\| | | | | | | | | | | | | * commit '910973765417f06a4a9ccbd006e4df74c32ecb01': hwcontext_dxva2: frame mapping support Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_dxva2: frame mapping supportAnton Khirnov2016-11-07
| | | | | | | | Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
* | 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
| |
* | 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.
* | Merge commit '2ef87815fec059504370ae3050cc243a53553915'Hendrik Leppkes2016-11-14
|\| | | | | | | | | | | | | * commit '2ef87815fec059504370ae3050cc243a53553915': hwcontext_dxva2: add support for p010 Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_dxva2: add support for p010Anton Khirnov2016-07-02
| |
* | avutil/hwcontext_dxva.c: Use new safe dlopen code.Matt Oliver2016-11-05
| | | | | | | | Signed-off-by: Matt Oliver <protogonoi@gmail.com>
* | hwcontext_dxva2: Use GetDesktopWindow instead of GetShellWindowHendrik Leppkes2016-06-26
| | | | | | | | | | Improves compatibility with some MinGW variants, see 771537edcf703434161c100e6898891546d1d4b3
* | Merge commit '8e70385a8ed06f96f1e9e35cf7b6788a5c56eded'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '8e70385a8ed06f96f1e9e35cf7b6788a5c56eded': hwcontext_dxva2: implement device creation Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_dxva2: implement device creationAnton Khirnov2016-05-26
| |
* | hwcontext_dxva2: support P010 10-bit surfacesHendrik Leppkes2016-06-22
| |
* | Merge commit 'c46db38cde8e8fd8ecb1c6602f10ec0e002f29a8'Hendrik Leppkes2016-06-22
|/ | | | | | | * commit 'c46db38cde8e8fd8ecb1c6602f10ec0e002f29a8': hwcontext: add a dxva2 implementation Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
* hwcontext: add a dxva2 implementationAnton Khirnov2016-05-17