Thanks for the patch.
Unfortunately I can't do full test because I can't compile ffmpeg-2.7.2
-- mingw-w64 trunk from 2015-08-10 works with ffmpeg-2.7.2, from
2015-08-28 doesn't work. There are changes in include file "d3d11.h"
which could make the difference.
Error from ffmepeg-2.7.2 make:
CC libavcodec/dxva2.o
In file included from libavcodec/dxva2_internal.h:34:0,
from libavcodec/dxva2.c:31:
libavcodec/d3d11va.h:66:5: error: unknown type name 'ID3D11VideoContext'
ID3D11VideoContext *video_context;
^
In file included from libavcodec/dxva2.c:31:0:
libavcodec/dxva2.c: In function 'ff_dxva2_get_surface_index':
libavcodec/dxva2_internal.h:65:117: warning: pointer type mismatch in
conditional expression
#define DXVA_CONTEXT_SURFACE(avctx, ctx, i) (avctx->pix_fmt ==
AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.surface[i] : ctx->dxva
2.surface[i])
^
libavcodec/dxva2.c:46:13: note: in expansion of macro 'DXVA_CONTEXT_SURFACE'
if (DXVA_CONTEXT_SURFACE(avctx, ctx, i) == surface)
^
libavcodec/dxva2.c: In function 'ff_dxva2_commit_buffer':
libavcodec/dxva2.c:66:14: error: implicit declaration of function
'ID3D11VideoContext_GetDecoderBuffer' [-Werror=implicit-functi
on-declaration]
hr =
ID3D11VideoContext_GetDecoderBuffer(D3D11VA_CONTEXT(ctx)->video_context,
^
libavcodec/dxva2.c:86:13: error: unknown type name
'D3D11_VIDEO_DECODER_BUFFER_DESC'
D3D11_VIDEO_DECODER_BUFFER_DESC *dsc11 = dsc;
^
libavcodec/dxva2.c:88:18: error: request for member 'BufferType' in
something not a structure or union
dsc11->BufferType = type;
^
libavcodec/dxva2.c:89:18: error: request for member 'DataSize' in
something not a structure or union
dsc11->DataSize = size;
^
libavcodec/dxva2.c:90:18: error: request for member 'NumMBsInBuffer' in
something not a structure or union
dsc11->NumMBsInBuffer = mb_count;
^
libavcodec/dxva2.c:111:14: error: implicit declaration of function
'ID3D11VideoContext_ReleaseDecoderBuffer' [-Werror=implicit-f
unction-declaration]
hr =
ID3D11VideoContext_ReleaseDecoderBuffer(D3D11VA_CONTEXT(ctx)->video_context,
D3D11VA_CONTEXT(ctx)->decoder, type);
^
libavcodec/dxva2.c: In function 'ff_dxva2_common_end_frame':
libavcodec/dxva2.c:136:5: error: unknown type name
'D3D11_VIDEO_DECODER_BUFFER_DESC'
D3D11_VIDEO_DECODER_BUFFER_DESC buffer11[4];
^
libavcodec/dxva2.c:149:18: error: implicit declaration of function
'ID3D11VideoContext_DecoderBeginFrame' [-Werror=implicit-func
tion-declaration]
hr =
ID3D11VideoContext_DecoderBeginFrame(D3D11VA_CONTEXT(ctx)->video_context, D3D11VA_CONTEXT(ctx)->decoder,
^
libavcodec/dxva2.c:171:16: error:
'D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS' undeclared (first use in
this function)
type = D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS;
^
libavcodec/dxva2.c:171:16: note: each undeclared identifier is reported
only once for each function it appears in
libavcodec/dxva2.c:194:20: error:
'D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX' undeclared
(first use in this functio
n)
type = D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX;
^
libavcodec/dxva2.c:243:14: error: implicit declaration of function
'ID3D11VideoContext_SubmitDecoderBuffers' [-Werror=implicit-f
unction-declaration]
hr =
ID3D11VideoContext_SubmitDecoderBuffers(D3D11VA_CONTEXT(ctx)->video_context,
^
libavcodec/dxva2.c:265:14: error: implicit declaration of function
'ID3D11VideoContext_DecoderEndFrame' [-Werror=implicit-functi
on-declaration]
hr =
ID3D11VideoContext_DecoderEndFrame(D3D11VA_CONTEXT(ctx)->video_context,
D3D11VA_CONTEXT(ctx)->decoder);
^
cc1.exe: some warnings being treated as errors
make: *** [libavcodec/dxva2.o] Error 1
W dniu 2015-08-28 o 13:04, JonY pisze:
On 8/3/2015 07:51, Mateusz wrote:
Now _lock_file/_unlock_file are in stdio/mingw_lock.c (new) file.
printf_full.diff works out of the box but I edited makefile.am &
makefile.in by hands which is wrong. I tested this patch with 64 and
32-bit GCC 5.2 with link to msvcrt.dll/msvcr100.dll/msvcr120.dll -- all
is working.
printf.diff is only with *.c files and needs (proper) modification to
makefile.am/makefile.in -- stdio/mingw_lock.c should go to libmsvcrt.a
and to libmsvcr80.a
I attached new version of test-stdio.c because when I test with 32-bit
GCC and link to msvcr120.dll there is no "ftime" function, so I changed
to "_ftime64".
Done, patch applied to master.
------------------------------------------------------------------------------
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------------------------
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public