[FFmpeg-devel] [PATCH] H264 DXVA2 implementation

Reimar Döffinger Reimar.Doeffinger
Sun Jan 10 16:13:43 CET 2010


On Sun, Jan 10, 2010 at 04:08:50PM +0100, Jean-Baptiste Kempf wrote:
> 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.

That doesn't fully excuse sending a patch for review that seems to not even compile...



More information about the ffmpeg-devel mailing list