Steve Lhomme
bbcd07ff21
directx_va: group the pool/device callbacks in a const structure
7 years ago
Steve Lhomme
f4d47b28a5
dxva: remove the video format from the device init
7 years ago
Steve Lhomme
77df17ab89
dxva: pass the actual video_format_t to create the device
In DVXA2 we should check the max decoding resolution.
7 years ago
Steve Lhomme
5363279805
remove the $Id$ in the source code
7 years ago
Steve Lhomme
33cc4f2b1f
dxva: allow blacklisting based on the driver build
Not used for now.
8 years ago
Steve Lhomme
79c56aadae
dxva: allow blacklisting for different codecs
8 years ago
Steve Lhomme
9daba7a1f7
dxva: allow per-vendor HEVC black listing
8 years ago
Steve Lhomme
1bbc837709
directx_va: disable Intel hybrid HEVC decoding by default
GPUs with Intel Hybrid HEVC are the ones from the BroadWell family and is
causing decoding issues in 10 bits and 8 bits decoding.
If the HW decoder is forced it will be used anyway.
When blacklisted there is msg_Warn so that it's more visible to the user.
8 years ago
Steve Lhomme
1a5ea023b3
directx_va: adjust the Xbox constraints
It can't handle 4K aligned to 128 but is fine when aligned to 16.
8 years ago
Steve Lhomme
0bcdc1c4d5
directx_va: move the DXVA2 loading outside of directx_va
For D3D11 the same DLL used to create the device is used to create the decoder.
For DXVA2 we need an extra DLL but we don't need to make this code generic.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
da8ec5c315
directx_va: remove unused d3ddev
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
8245920db9
directx_va: do not load the DLL if it's already loaded
For D3D11 we always load it.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
a76a6e52cb
directx_va: move the external pool flag in directx_sys_t
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
65b4993af7
directx_va: move the pre-allocated hw_surface in directx_va
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
b655a1d725
directx_va: don't pass the AVCodecContext and es_format_t to directx_va_Open
Only to directx_va_Setup (and va_pool_Setup)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
f7d5f497bb
dxva: split the directx related parts from the pool/va parts
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
cab3a9749a
directx_va: pass the surface count to pf_create_decoder_surfaces
So it doesn't have to rely on the internal count in directx_sys_t
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
1b894f8795
directx_va: make surface_count unsigned
This is what libavcodec uses anyway.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
bcaca1091f
directx_va: destroy the decoder at the same time as its surfaces
The interface release is also strongly typed
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
7a917e04ae
directx_va: no need to allocate dummy pictures anymore
We don't use their local picture_sys_t anymore
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
a5978cbc50
directx_va: stronger typing of va_surface in picture_sys_t
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
d1a36cdde1
directx_va: remove the unused lock
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
1479c1b232
directx_va: rework the picture picking algorithm
Just rely on an available atomic value to find a usable picture or wait for
the vout to release some pictures.
Similar to the algorithm found in avcodec/VDPAU.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
48dd1615ce
directx_va: replace the internal reference counter by an atomic value
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
51af7cf65a
directx_va: pass the decoder surface via the returned vlc_va_surface_t
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
1ff9f28781
directx_va: make each vlc_va_surface_t more independent
Can be free'd independently
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
a031cf8a17
directx_va: no need to store temporarily the number of threads
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
b6fae848b4
directx_va: type the common variables for D3D11VA and DXVA2
This will avoid a lot of casts.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
570c797ebf
directx_va: add a way to lock/unlock a surface
The surface may not be used by the decoder but still being used for display/filter.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
79d7926ae5
directx_va: let the va deal with the vlc_va_surface_t storage
To move away from the picture context
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Rémi Denis-Courmont
91ad414900
win32: use _WIN32_WINNT_VISTA
10 years ago
Steve Lhomme
ac1f5fe207
avcodec: va: respect the buffer release prototype
It has always have an extra uint8_t pointer.
--
replaces https://patches.videolan.org/patch/15166/
fix compilation
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
10 years ago
Steve Lhomme
0d26651fa7
avcodec: remove unused parameter in va->release()
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
10 years ago
Steve Lhomme
4fa99290f9
d3d11va: always enable multithreading as the vout is always in a different thread
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Steve Lhomme
5914e37963
d3d11va: handle decoding to DXGI_FORMAT_420_OPAQUE using a ID3D11VideoProcessor
The DXGI_FORMAT_420_OPAQUE cannot be displayed or handled by the CPU. But it
can be converted using a VideoProcessor. It can convert directly to the textures
created by the vout.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Steve Lhomme
c358dd001c
d3d11va: better logging of decoder configuration
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 years ago
Rémi Denis-Courmont
978dedc520
dxva: remove useless parameter
11 years ago
Steve Lhomme
d40efc2847
directx-va: do not load the DLL if not needed
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 years ago
Steve Lhomme
d64fe19916
dxva2: store the internal hardware buffer in a picture_t
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 years ago
Steve Lhomme
ad0b948a9c
directx-va: directx_va_mode_t is only used in directx_va.c
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 years ago
Steve Lhomme
e1db0d5a91
DXVA2: split the decoder into generic code and specific DXVA2 code
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 years ago