+typedef struct VDPAUDeviceContext {
+ VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities *get_transfer_caps;
+ VdpVideoSurfaceGetBitsYCbCr *get_data;
+ VdpVideoSurfacePutBitsYCbCr *put_data;
+ VdpVideoSurfaceCreate *surf_create;
+ VdpVideoSurfaceDestroy *surf_destroy;
+
+ enum AVPixelFormat *pix_fmts[FF_ARRAY_ELEMS(vdpau_pix_fmts)];
+ int nb_pix_fmts[FF_ARRAY_ELEMS(vdpau_pix_fmts)];
+} VDPAUDeviceContext;
+
+typedef struct VDPAUFramesContext {
+ VdpVideoSurfaceGetBitsYCbCr *get_data;
+ VdpVideoSurfacePutBitsYCbCr *put_data;
+ VdpChromaType chroma_type;
+ int chroma_idx;
+
+ const enum AVPixelFormat *pix_fmts;
+ int nb_pix_fmts;
+} VDPAUFramesContext;
+