[FFmpeg-devel] [PATCH] H264 DXVA2 implementation

Jean-Baptiste Kempf jb
Sun Jan 10 16:08:50 CET 2010


Hello,

On Sun, Jan 10, 2010 at 03:01:25PM +0000, M?ns Rullg?rd wrote :
> >> > j-b pointed me to the vlc buildbot where this doesn't compile under
> >> > "-std=c99" (which is set by default in FFmpeg). I'm no C guru and I'm
> >> > quite tired right now, but it seems you can't use anonymous unions in
> >> > your dxva2api.h, such as:
> >> >
> >> > typedef struct {
> >> >     union {
> >> >         struct {
> >> >             UCHAR Index7Bits     : 7;
> >> >             UCHAR AssociatedFlag : 1;
> >> >         };
> >> >         UCHAR bPicEntry;
> >> >     };
> >> > } DXVA_PicEntry_H264;
> >> 
> >> WTF?  How would you even begin to access those fields?
> >
> > It's a Microsoft/GNU extension.
> > DXVA_PicEntry_H264.Index7Bits
> > accesses right into the union/struct
> 
> What's the point of that?  Why not put them directly in the outer
> struct if you don't want a name?

Because that is how it is done in the Microsoft header Dxva2api.h.
See:
http://download.microsoft.com/download/5/f/c/5fc4ec5c-bd8c-4624-8034-319c1bab7671/DXVA_H264.pdf
page 16, chapter 3.1 for reference.

Our dxva2api.h tries to stay compatible with Microsoft headers like the
other DirectX headers from Mingw/wine.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/



More information about the ffmpeg-devel mailing list