Add support for VP8 playback on Baytrail

BZ: 96392

This patch is a work around. REVERT ME later.

Change-Id: I8f51c3bd5dfb411d555a787d09d73326beb0fd01
Signed-off-by: wfeng6 <wei.feng@intel.com>
Reviewed-on: http://android.intel.com:8080/99378
Reviewed-by: Ding, Haitao <haitao.ding@intel.com>
Tested-by: Ding, Haitao <haitao.ding@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
diff --git a/videodecoder/Android.mk b/videodecoder/Android.mk
index dc86bec..4f82d66 100644
--- a/videodecoder/Android.mk
+++ b/videodecoder/Android.mk
@@ -21,6 +21,10 @@
 
 #LOCAL_LDLIBS += -lpthread
 
+ifeq ($(TARGET_BOARD_PLATFORM),baytrail)
+LOCAL_CFLAGS += -DLOAD_PVR_DRIVER
+endif
+
 LOCAL_SHARED_LIBRARIES := \
     libcutils \
     libmixvbp \
diff --git a/videodecoder/VideoDecoderBase.cpp b/videodecoder/VideoDecoderBase.cpp
old mode 100644
new mode 100755
index 0dd07ae..e5285ca
--- a/videodecoder/VideoDecoderBase.cpp
+++ b/videodecoder/VideoDecoderBase.cpp
@@ -279,6 +279,13 @@
     }
     //VTRACE("Output POC %d for display (pts = %.2f)", output->pictureOrder, output->renderBuffer.timeStamp/1E6);
     vaStatus = vaSetTimestampForSurface(mVADisplay, output->renderBuffer.surface, output->renderBuffer.timeStamp);
+
+#ifdef LOAD_PVR_DRIVER
+    if (useGraphicBuffer ) {
+        vaSyncSurface(mVADisplay, output->renderBuffer.surface);
+    }
+#endif
+
     return &(output->renderBuffer);
 }
 
@@ -735,10 +742,19 @@
         return DECODE_DRIVER_FAIL;
     }
 
+#ifdef LOAD_PVR_DRIVER
+    ITRACE("load pvr driver.\n");
+    setenv("LIBVA_DRIVER_NAME", "pvr", 1);
+#endif
+
     int majorVersion, minorVersion;
     vaStatus = vaInitialize(mVADisplay, &majorVersion, &minorVersion);
     CHECK_VA_STATUS("vaInitialize");
 
+#ifdef LOAD_PVR_DRIVER
+    unsetenv("LIBVA_DRIVER_NAME");
+#endif
+
     if (mConfigBuffer.frameRate > 45 && mVideoFormatInfo.height >= 1080) {
         // ugly workaround here
         // for fps > 45 and height > 1080, we will force to