Just a few cursory remarks as I only have a short moment right now.
On Tue, Dec 13, 2016 at 02:19:03PM +0100, Steve Lhomme wrote:
> --- /dev/null
> +++ b/avconv_d3d11va.c
> @@ -0,0 +1,410 @@
> +
> +/* define all the GUIDs used directly here,
> + to avoid problems with inconsistent dxva2api.h versions in mingw-w64 and
> different MSVC version */
That sounds scary. What is the problem.
> --- a/configure
> +++ b/configure
> @@ -1677,6 +1677,8 @@ HAVE_LIST="
> $TOOLCHAIN_FEATURES
> $TYPES_LIST
> dos_paths
> + d3d11va_lib
> + d3d11vaapi_cobj
d3 < do in lexical order
> @@ -4777,6 +4779,15 @@ if enabled libxcb; then
>
> +enabled d3d11_h &&
> + check_cc <<EOF && enable d3d11vaapi_cobj
> +#define _WIN32_WINNT 0x0600
> +#define COBJMACROS
> +#include <windows.h>
> +#include <d3d11.h>
> +int main(void) { ID3D11VideoDevice *o = NULL; ID3D11VideoDevice_Release(o);
> return 0; }
> +EOF
What is d3d11vaapi_cobj for? It seems like a pointless level of indirection
over d3d11va_lib.
There should be a helper function that you can reuse for this instead
of rolling your own test.
> @@ -5059,6 +5070,9 @@ check_deps $CONFIG_LIST \
> $HAVE_LIST \
> $ALL_COMPONENTS \
>
> +enabled_all d3d11va d3d11vaapi_cobj &&
> + enable d3d11va_lib
Declare a dependency instead, see how it's done for dxva2_lib.
> --- a/libavutil/hwcontext.h
> +++ b/libavutil/hwcontext.h
> @@ -28,6 +28,7 @@ enum AVHWDeviceType {
> AV_HWDEVICE_TYPE_VDPAU,
> AV_HWDEVICE_TYPE_CUDA,
> AV_HWDEVICE_TYPE_VAAPI,
> + AV_HWDEVICE_TYPE_D3D11VA,
> AV_HWDEVICE_TYPE_DXVA2,
> AV_HWDEVICE_TYPE_QSV,
> };
You have to add new members at the end to avoid ABI issues.
Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel