[3/4] configure: Require DXVA_PictureParameters for enabling D3D11 VA

Message ID 1433156046-20744-3-git-send-email-martin@martin.st
State New
Headers show

Commit Message

Martin Storsjö June 1, 2015, 10:54 a.m.
When targeting WinRT (WINAPI_FAMILY=WINAPI_FAMILY_APP), the D3D11
types and headers are available, but the DXVA2 ones aren't. This
makes builds of dxva2_*.o to fail, since they both rely on the same
common parameter structs.

This disables the D3D11 VA when targeting WinRT for now. If those
structs really are to be used, we can override the WINAPI_FAMILY
define at the start of the files that need it.
---
 configure | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Steve Lhomme June 1, 2015, 2:35 p.m. | #1
On Mon, Jun 1, 2015 at 12:54 PM, Martin Storsjö <martin@martin.st> wrote:
> When targeting WinRT (WINAPI_FAMILY=WINAPI_FAMILY_APP), the D3D11
> types and headers are available, but the DXVA2 ones aren't. This
> makes builds of dxva2_*.o to fail, since they both rely on the same
> common parameter structs.
>
> This disables the D3D11 VA when targeting WinRT for now. If those
> structs really are to be used, we can override the WINAPI_FAMILY
> define at the start of the files that need it.

I will be testing Windows Phone decoding in the coming days. I will
let you know if these structures are needed, ie if decoding works.
According to MSDN the decoding API is available on Windows Phone/RT so
it should work.

> ---
>  configure | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 4c4783c..05e5980 100755
> --- a/configure
> +++ b/configure
> @@ -1984,7 +1984,7 @@ zmbv_decoder_deps="zlib"
>  zmbv_encoder_deps="zlib"
>
>  # hardware accelerators
> -d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder"
> +d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder DXVA_PictureParameters"
>  dxva2_deps="dxva2api_h LPDIRECT3DSURFACE9"
>  vaapi_deps="va_va_h"
>  vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads"
> @@ -4233,6 +4233,7 @@ check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi
>
>  check_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss
>
> +check_type "windows.h dxva.h" DXVA_PictureParameters
>  check_type "windows.h dxva.h" "DXVA_PicParams_HEVC"
>  check_type "windows.h d3d11.h" "ID3D11VideoDecoder"
>  check_type d3d9.h LPDIRECT3DSURFACE9
> --
> 1.8.1.2
>
> _______________________________________________
> libav-devel mailing list
> libav-devel@libav.org
> https://lists.libav.org/mailman/listinfo/libav-devel

Patch

diff --git a/configure b/configure
index 4c4783c..05e5980 100755
--- a/configure
+++ b/configure
@@ -1984,7 +1984,7 @@  zmbv_decoder_deps="zlib"
 zmbv_encoder_deps="zlib"
 
 # hardware accelerators
-d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder"
+d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder DXVA_PictureParameters"
 dxva2_deps="dxva2api_h LPDIRECT3DSURFACE9"
 vaapi_deps="va_va_h"
 vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads"
@@ -4233,6 +4233,7 @@  check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi
 
 check_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss
 
+check_type "windows.h dxva.h" DXVA_PictureParameters
 check_type "windows.h dxva.h" "DXVA_PicParams_HEVC"
 check_type "windows.h d3d11.h" "ID3D11VideoDecoder"
 check_type d3d9.h LPDIRECT3DSURFACE9