FIX: [stagefright] dyload the whole codec to prevent potential future api breakage
[vuplus_xbmc] / xbmc / cores / dvdplayer / DVDCodecs / Video / DVDVideoCodec.h
index dc4e8be..b78f779 100644 (file)
 
 namespace DXVA { class CSurfaceContext; }
 namespace VAAPI { struct CHolder; }
-class CVDPAU;
+namespace VDPAU { class CVdpauRenderPicture; }
 class COpenMax;
 class COpenMaxVideo;
 struct OpenMaxVideoBuffer;
+class CDVDVideoCodecStageFright;
+class CDVDMediaCodecInfo;
+typedef void* EGLImageKHR;
+
 
 // should be entirely filled by all codecs
 struct DVDVideoPicture
@@ -55,7 +59,7 @@ struct DVDVideoPicture
       DXVA::CSurfaceContext* context;
     };
     struct {
-      CVDPAU* vdpau;
+      VDPAU::CVdpauRenderPicture* vdpau;
     };
     struct {
       VAAPI::CHolder* vaapi;
@@ -69,6 +73,15 @@ struct DVDVideoPicture
     struct {
       struct __CVBuffer *cvBufferRef;
     };
+
+    struct {
+      CDVDVideoCodecStageFright* stf;
+      EGLImageKHR eglimg;
+    };
+
+    struct {
+      CDVDMediaCodecInfo *mediacodec;
+    };
   };
 
   unsigned int iFlags;
@@ -82,6 +95,7 @@ struct DVDVideoPicture
   unsigned int color_primaries;
   unsigned int color_transfer;
   unsigned int extended_format;
+  char         stereo_mode[32];
 
   int8_t* qscale_table; // Quantization parameters, primarily used by filters
   int qscale_stride;