summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-13 23:38:50 +0000
committerfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-13 23:38:50 +0000
commit533d1fea902c8f634ae95fc32d87adea97a451ac (patch)
tree5250ad1c33c4f2e3a0c0c5d87d8bbca395b76156
parentdc43af1d6c7d0cd2b5ee720595720876e243a613 (diff)
downloadchromium_src-533d1fea902c8f634ae95fc32d87adea97a451ac.zip
chromium_src-533d1fea902c8f634ae95fc32d87adea97a451ac.tar.gz
chromium_src-533d1fea902c8f634ae95fc32d87adea97a451ac.tar.bz2
Hacks to make HW decode work on linux via libva.
This still requires telling gyp chromeos=1 but with this (and a couple of upstream vdpau-driver hacks) both chrome & video_decode_accelerator_unittest work well on my lucid laptop (NVIDIA graphics libva wrapping vdpau-driver). BUG=137247 Review URL: https://chromiumcodereview.appspot.com/10909112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156677 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--content/common/gpu/media/rendering_helper_gl.cc5
-rw-r--r--content/common/gpu/media/vaapi_h264_decoder.cc1
2 files changed, 1 insertions, 5 deletions
diff --git a/content/common/gpu/media/rendering_helper_gl.cc b/content/common/gpu/media/rendering_helper_gl.cc
index 5dc56c1..5a643d3 100644
--- a/content/common/gpu/media/rendering_helper_gl.cc
+++ b/content/common/gpu/media/rendering_helper_gl.cc
@@ -193,11 +193,6 @@ void RenderingHelperGL::Initialize(bool suppress_swap_to_display,
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_BIND_TO_TEXTURE_TARGETS_EXT, GLX_TEXTURE_2D_BIT_EXT,
GLX_BIND_TO_TEXTURE_RGB_EXT, GL_TRUE,
- GLX_Y_INVERTED_EXT, GL_FALSE,
- GLX_RED_SIZE, 1,
- GLX_GREEN_SIZE, 1,
- GLX_BLUE_SIZE, 1,
- GLX_ALPHA_SIZE, 1,
GLX_DOUBLEBUFFER, True,
GL_NONE,
};
diff --git a/content/common/gpu/media/vaapi_h264_decoder.cc b/content/common/gpu/media/vaapi_h264_decoder.cc
index 863ea28..d1a911d4 100644
--- a/content/common/gpu/media/vaapi_h264_decoder.cc
+++ b/content/common/gpu/media/vaapi_h264_decoder.cc
@@ -274,6 +274,7 @@ VaapiH264Decoder::DecodeSurface::~DecodeSurface() {
if (x_pixmap_)
XFreePixmap(x_display_, x_pixmap_);
+ XSync(x_display_, False); // Needed to work around buggy vdpau-driver.
}
void VaapiH264Decoder::DecodeSurface::Acquire(int32 input_id, int poc) {