Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1959)

Unified Diff: docs/linux_hw_video_decode.md

Issue 1309473002: WIP: Migrate Wiki content over to src/docs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: docs/linux_hw_video_decode.md
diff --git a/docs/linux_hw_video_decode.md b/docs/linux_hw_video_decode.md
new file mode 100644
index 0000000000000000000000000000000000000000..a3b08056030b2468e22f1a5b0954ed1b927f472d
--- /dev/null
+++ b/docs/linux_hw_video_decode.md
@@ -0,0 +1,57 @@
+# Enabling hardware
+
+<video>
+
+ decode codepaths on linux
+
+Hardware acceleration of video decode on linux is [unsupported](http://crbug.com/137247) in Chrome for user-facing builds. During development (targeting other platforms) it can be useful to be able to trigger the code-paths used on HW-accelerated platforms (such as CrOS and win7) in a linux-based development environment. Here's one way to do so, with details based on a gprecise setup.
+
+ * Install pre-requisites: On Ubuntu Precise, at least, this includes:
+```
+sudo apt-get install libtool libvdpau1 libvdpau-dev
+```
+
+ * Install and configure [libva](http://cgit.freedesktop.org/libva/)
+```
+DEST=${HOME}/apps/libva
+cd /tmp
+git clone git://anongit.freedesktop.org/libva
+cd libva
+git reset --hard libva-1.2.1
+./autogen.sh && ./configure --prefix=${DEST}
+make -j32 && make install
+```
+ * Install and configure the [VDPAU](http://cgit.freedesktop.org/vaapi/vdpau-driver) VAAPI driver
+```
+DEST=${HOME}/apps/libva
+cd /tmp
+git clone git://anongit.freedesktop.org/vaapi/vdpau-driver
+cd vdpau-driver
+export PKG_CONFIG_PATH=${DEST}/lib/pkgconfig/:$PKG_CONFIG_PATH
+export LIBVA_DRIVERS_PATH=${DEST}/lib/dri
+export LIBVA_X11_DEPS_CFLAGS=-I${DEST}/include
+export LIBVA_X11_DEPS_LIBS=-L${DEST}/lib
+export LIBVA_DEPS_CFLAGS=-I${DEST}/include
+export LIBVA_DEPS_LIBS=-L${DEST}/lib
+make distclean
+unset CC CXX
+./autogen.sh && ./configure --prefix=${DEST} --enable-debug
+find . -name Makefile |xargs sed -i 'sI/usr/lib/xorg/modules/driversI${DEST}/lib/driIg'
+sed -i -e 's/_(\(VAEncH264VUIBufferType\|VAEncH264SEIBufferType\));//' src/vdpau_dump.c
+make -j32 && rm -f ${DEST}/lib/dri/{nvidia_drv_video.so,s3g_drv_video.so} && make install
+```
+ * Add to `$GYP_DEFINES`:
+ * `chromeos=1` to link in `VaapiVideoDecodeAccelerator`
+ * `proprietary_codecs=1 ffmpeg_branding=Chrome` to allow Chrome to play h.264 content, which is the only codec VAVDA knows about today.
+ * Re-run gyp (`./build/gyp_chromium` or `gclient runhooks`)
+ * Rebuild chrome
+ * Run chrome with `LD_LIBRARY_PATH=${HOME}/apps/libva/lib` in the environment, and with the --no-sandbox command line flag.
+ * If things don't work, a Debug build (to include D\*LOG's) with `--vmodule=*content/common/gpu/media/*=10,gpu_video*=1` might be enlightening.
+
+# NOTE THIS IS AN UNSUPPORTED CONFIGURATION AND LIKELY TO BE BROKEN AT ANY POINT IN TIME
+
+This page is purely here to help developers targeting supported HW
+
+<video>
+
+ decode platforms be more effective. Do not expect help if this setup fails to work.

Powered by Google App Engine
This is Rietveld 408576698