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

Reply via email to