On Mon, 8 May 2017 22:38:55 +0100 Mark Thompson <[email protected]> wrote:
> On 04/05/17 07:44, wm4 wrote: > > Radically rebased, and omits a few in-between commits that are > > unnecessary for the end result. avconv_dxva2.c should probably > > also be deleted, but for now it'd only inflate the diff. As > > part of the rebase I've also removed Steve Lhomme as author > > name - let me know whether I should set his name back on the > > two relevant commits (first and last one), or how this should > > be correctly handled. > > With the whole set applied, the default build configuration fails to build > avconv for me with: > > libavcodec/libavcodec.a(dxva2.o):dxva2.c:(.rdata$IID_IDirectXVideoDecoderService[IID_IDirectXVideoDecoderService]+0x0): > multiple definition of `IID_IDirectXVideoDecoderService' > avtools/avconv_dxva2.o:avconv_dxva2.c:(.rdata+0x310): first defined here > libavcodec/libavcodec.a(dxva2.o): In function `bufref_free_interface': > C:/msys64/home/mark/libav/d3d11/libavcodec/dxva2.c:210: multiple definition > of `DXVA2_ModeVC1_D' > avtools/avconv_dxva2.o:C:/msys64/home/mark/libav/d3d11/avtools/avconv_dxva2.c:288: > first defined here > libavcodec/libavcodec.a(dxva2.o): In function `bufref_free_interface': > C:/msys64/home/mark/libav/d3d11/libavcodec/dxva2.c:210: multiple definition > of `DXVA2_ModeH264_F' > avtools/avconv_dxva2.o:C:/msys64/home/mark/libav/d3d11/avtools/avconv_dxva2.c:289: > first defined here > libavcodec/libavcodec.a(dxva2.o): In function `bufref_free_interface': > C:/msys64/home/mark/libav/d3d11/libavcodec/dxva2.c:210: multiple definition > of `DXVA2_ModeH264_E' > avtools/avconv_dxva2.o:C:/msys64/home/mark/libav/d3d11/avtools/avconv_dxva2.c:295: > first defined here > libavcodec/libavcodec.a(dxva2.o): In function `bufref_free_interface': > C:/msys64/home/mark/libav/d3d11/libavcodec/dxva2.c:210: multiple definition > of `DXVA2_ModeMPEG2_VLD' > avtools/avconv_dxva2.o:C:/msys64/home/mark/libav/d3d11/avtools/avconv_dxva2.c:295: > first defined here > collect2.exe: error: ld returned 1 exit status That really shouldn't happen. All those definitions start with ff_ in the dxva2.c code (because I haven't figured out how to do it correctly). Maybe the included headers actually define those GUIDs. How this GUID definition stuff works always has been a mystery to me. > Trying to get around that by building with --disable-dxva2 doesn't work > either (unknown type AVDXVA2FramesContext). So, I haven't tested it at all > yet (may look more later). I haven't tested yet whether it builds/works correctly with either dxva2 or d3d11va disabled (because apparently we still want that to work). > The "D3D11VA" hwcontext doesn't have much to do with "VA" directly anymore - > maybe it should just be D3D11? The dxva2 hwcontext is also actually a Direct3D 9 context, which means there's a precedent to name it after the decoding API. So I didn't bother renaming it. But if we decide that the VA should be dropped, I can do that. _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
