id	summary	reporter	owner	description	type	status	priority	component	version	resolution	keywords	cc	blockedby	blocking	reproduced	analyzed
2203	libavcodec/vdpau.h is broken when used from C++	aballier		"Not sure at all how to fix this, but commit 44e065d56c87d6a9d0effccec5f31517f72924ec moved the definition of VdpPictureInfo from vdpau_render_state to global scope. VdpPictureInfo is also defined by vdpau/vpdau.h here, included from libavcodec/vdpau.h.
While it's fine with C code, it's not from C++ and breaks xbmc.
Sample test case:

$ cat foo.cc 
extern ""C"" {
#include <libavcodec/vdpau.h>
}

int main() {}

$ g++ foo.cc 
In file included from foo.cc:2:0:
/usr/include/libavcodec/vdpau.h:55:7: error: using typedef-name ‘VdpPictureInfo’ after ‘union’
In file included from /usr/include/libavcodec/vdpau.h:52:0,
                 from foo.cc:2:
/usr/include/vdpau/vdpau.h:2650:16: note: ‘VdpPictureInfo’ has a previous declaration here
"	defect	closed	important	avcodec	git-master	fixed	regression				1	0
