Steve Lhomme
a763f362af
d3d9_filters: log possible errors when creating the adjust filter
9 years ago
Steve Lhomme
b6a4a1b677
hw:d3d11: allow GPU to CPU conversion as long as the visible height is the same
They may have different padding but in the end the amount copied is compatible.
The width still needs to be the same.
9 years ago
Steve Lhomme
fecf82c727
d3d11_surface: add a filter to convert RGBA from the GPU to RGBA/BGRA on the CPU
9 years ago
Steve Lhomme
9514479725
hw:d3d11: never use a texture with slices for the video processor output
9 years ago
Steve Lhomme
e10dffc42d
hw:d3d11:d3d11_surface: allocate a single slice texture
9 years ago
Steve Lhomme
c106b432ad
d3d11: remove double variable init
9 years ago
Steve Lhomme
7c1608be1c
modules: use picture_SwapUV() instead of plane_SwapUV()
It has a check for the plane count.
9 years ago
Steve Lhomme
fbe8e49ef7
modules: remove implied filter_sys_t* casts
9 years ago
Martin Storsjö
c51613372b
d3d11_adjust: Pass a non-const pointer to atomic_load
This fixes compilation with clang, which previously errored
out with this message:
error: address argument to atomic operation must be a pointer to non-const _Atomic
type ('const atomic_int *' (aka 'const _Atomic(int) *') invalid)
int level = atomic_load(&p_level->level);
^ ~~~~~~~~~~~~~~~
9 years ago
Steve Lhomme
2c07a5d9d1
d3d11_surface: don't use an invalid context in release builds
Should help fixing 7c98a952-ee98-42ef-82a3-8bc4049f3562
9 years ago
Jean-Baptiste Kempf
6c54d1c424
D3D11: fix compilation
9 years ago
Steve Lhomme
adcbe60efe
hw:d3d11: clean filter_sys_t usage
Might resulting in free an uninitialized pointer in case of error.
The compiler shouldn't have allowed this.
9 years ago
Jean-Baptiste Kempf
0d59e75b5f
D3D11 surface: fix potential free of uninitialized variable
Fixes CD: 7ab9410e-8e85-4c47-b014-27ff0056944a
9 years ago
Steve Lhomme
3e1ead04eb
hw:d3d11: attempt to fix a crash when releasing the d3d11_deinterlace
The filter is not supposed to be released after the vout, but each filter
should keep a reference to the DLLs anyway.
9 years ago
Steve Lhomme
5234057a72
hw:d3d11: attempt to avoid a weird crash
9 years ago
Steve Lhomme
02daf5d3a5
d3d9_filters: fix a potential crash (again)
Fixes #19612
9 years ago
Steve Lhomme
480e9c8626
d3d9_filters: fix a potential crash
This can happen if more than one filter is used. There is not enough in this cases the
picture is created in CPU, not from the GPU pool and it fails.
9 years ago
Steve Lhomme
10db447e00
hw:d3d11: deinterlace: adjust the deinterlaced area if there is an offset
9 years ago
Steve Lhomme
7c92309e65
hw:d3d11: filter the correct part of the picture
The source and destination may have different padding, so we need to ensure
we copy to/from the right area.
Fixes #19601
9 years ago
Steve Lhomme
4e35c662b5
hw:d3d9: no need to swap the planes when running the external converter
It's already taking care of the proper plane swapping.
Fixes #19482 (without breaking #19543 )
9 years ago
Rémi Denis-Courmont
228e6233d0
d3d9: fix duplicated filter names (refs #19549 )
9 years ago
Rémi Denis-Courmont
ce5c026591
d3d11: fix duplicated filter names (refs #19549 )
9 years ago
Steve Lhomme
fa54402677
hw:d3d9: don't swap planes when the output is I420
Fixes #19543
9 years ago
Steve Lhomme
3db333e33c
hw:d3d11: don't copy lines that will not be visible
9 years ago
Steve Lhomme
b511daff2d
hw:d3d9: don't copy lines that will not be visible
May fix #19529
9 years ago
Thomas Guillem
92919147bc
hw: vdpau: fix VdpChromaType mismatch
vdp_video_surface_get_bits_y_cb_cr() can not convert ChromaType.
9 years ago
Steve Lhomme
7f81a32fcd
hw:d3d9:dxa9: swap UV planes when converting I420 to NV12 in direct3d9
Same thing we do when converting NV12 to I420 in the same file.
Fixes #19482
9 years ago
Steve Lhomme
3e4d3f6bf2
d3d11: make sure the WDDM version is always set for all d3d11_device we create
Fixes Intel detection failing in d3d11va.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Hugo Beauzée-Luyssen
fc1d1a2e36
d3d11_deinterlace: Fix potential leak
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Thomas Guillem
7b1e890ad6
hw: vaapi: simplify basic filter opening
9 years ago
Rémi Denis-Courmont
72bfe44f98
Include <stdatomic.h> or <atomic> directly where applicable
9 years ago
Steve Lhomme
ae588e5908
d3d11_deinterlace: copy the whole texture
Not just the visible area or the output may contain green rather than the black
coming out of the decoder.
Fixes #19298
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
19a454cf38
modules: use plane_SwapUV()
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
9d9dd6924c
hw:d3d: use the texture height as the plane height, not the visible height
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
d388de7f3b
d3d11_fmt: add the possibility to select an RGB format
By default YUV formats are favored.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
c6ca372728
hw:d3d11: Fix crashes when mixing D3D11 filters with CPU filters
The filter chain is not recomputed and we may use pictures not coming from the
right pool.
Fix crash in #19266
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Thomas Guillem
7bfd1d18c3
hw: vaapi: fix loop condition
9 years ago
Thomas Guillem
1dece20aa8
hw: vaapi: fix VANativeDisplay cast
9 years ago
Thomas Guillem
9ed4df2e28
hw: vaapi: try more DRM devices
Refs #19173
9 years ago
Thomas Guillem
513fb6e95b
hw: vaapi: add vlc_vaapi_InitializeInstanceDRM
Common function to open a DRM device, get a VADisplay and initialize it.
Refs #19173
9 years ago
Thomas Guillem
d0734d5054
hw:d3d9:dxa9: swap UV only when the source is YV12
9 years ago
Steve Lhomme
f0ef817971
hw:d3d9:dxva2_deinterlace: fix null pointer dereference
CID #1462252
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
a1de66ec36
hw:d3d9:dxa9: remove dead code
CID #1462253
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Jean-Baptiste Kempf
1993944b90
D3D11_deinterlace: remove debug message
9 years ago
Steve Lhomme
299af0938e
hw:d3d11:d3d11_filters: fix leak
CID #1462210
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
dd6b71958d
hw:d3d11:d3d11_deinterlace: check values are ok
Also release unsused memory.
CID #1462212 , #1462211
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
e5c3ae227b
hw:d3d9:dxva2_deinterlace: use D3D9_Create/Destroy
CID #1462217
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
9d14a01699
hw:d3d11:d3d11_surface: release the local d3d_dev on error
CID #1462215
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
d947f063d8
hw:d3d11:d3d11_instance: always set the d3dcontext even on failure
CID #1462218
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
101daa0ae6
hw:d3d9:dxa9: use D3D9_Create/Destroy to load/unload the D3D9 DLL
Also fix fmt_staging release from uninitialized memory.
CID #1462219 , #1462216 , #1462214 , #1462213
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago