Skip to content
This repository has been archived by the owner on Aug 20, 2020. It is now read-only.

Enable zero buffer copy method for wayland VDA. #260

Closed
wants to merge 3 commits into from

Conversation

shaochangbin
Copy link
Contributor

1080p video playback is quite unsmooth on VTC-1010, with only 15 render fps
and ~70% CPU usage. Root cause is current code spend too much time to
put output vasurface to GL texture for more than 25ms for each
frame, due to buffer copy between driver and user space. As a result,
GPU swap buffer operations are not executed timely and then blocks
render side composting.

This CL enables a zero buffer copy solution that will put vasurface to
CL texture inside GPU process. It creates an EGL image through
EGL_DRM_BUFFER_MESA target, then binds the EGL image to GL texture.

Local test result shows it gets 31 render fps and ~25% CPU usage for 1080p playback.
It also benefits other resolution video playback.

BUG = XWALK-2069

@shaochangbin
Copy link
Contributor Author

ptal, thanks!
@tiagovignatti

shaochangbin added a commit to shaochangbin/chromium-crosswalk that referenced this pull request Aug 8, 2014
Package libva and its driver supports vaLockBuffer & vaUnlockBuffer on Tizen
IVI, while the two APIs are not included in Chromium libva ATM.

intel/ozone-wayland#260 requires the APIs to get
vaimage buffer handle so as to create EGL image.

This CL add these API in Chromium libva.
shaochangbin added a commit to shaochangbin/chromium-crosswalk that referenced this pull request Aug 8, 2014
Package libva and its driver supports vaLockBuffer & vaUnlockBuffer on Tizen
IVI, while the two APIs are not included in Chromium libva ATM.

intel/ozone-wayland#260 requires the APIs to get
vaimage buffer handle so as to create EGL image.

This CL add these API in Chromium libva.
@rakuco
Copy link

rakuco commented Aug 8, 2014

cc @ds-hwang

@rakuco
Copy link

rakuco commented Aug 8, 2014

crosswalk-project/chromium-crosswalk#183 mentions this patch requires custom changes to Chromium's libva, so it won't work on oz-wl by default with a vanilla Chromium?

@ds-hwang
Copy link
Contributor

ds-hwang commented Aug 8, 2014

It's cool. However, afaik IVI with oz-wl will use its own vaapi_wrapper.cc impl inside oz-wl project. @tiagovignatti , am I right?

@tiagovignatti
Copy link
Contributor

amazing work @shaochangbin. I'll be reviewing this today still. Thanks.

@tiagovignatti
Copy link
Contributor

hi back. I've tested the changes here but something is wrong, possibly with my setup. Xwalk crashes here with an output like this:

libva info: VA-API version 0.35.2
libva info: va_getDriverName() returns 0
libva info: Trying to open /home/tiago/install/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
[0811/180845:WARNING:audio_discard_helper.cc(21)] Input timestamps are not monotonically increasing! ts 23220 us diff 0 us
[0811/180845:ERROR:gpu_video_decoder.cc(607)] VDA Error: 4
[0811/180845:FATAL:lock_impl_posix.cc(46)] Check failed: rv == 0 (22 vs. 0). Invalid argument

It might be that the problem is not even in Chromium side. I've tried to isolate it and checked that even libva putsurface doesn't seem to be outputting correctly. It keeps dumping a repeatedly line like this:

surface buffer info: buf_info.handle: 0x0, buf_info.type: -1418922124, buf_info.mem_type: 0x40000000, buf_info.mem_size: 1

I tried it using libva 1.3.1 and on top of that I applied myself the following commits (that I've stolen from review.tizen.org):

dc43b712d903627719e1d2c8073d44518947c386 test: add example code of buffer exports in putsurface
e0756dee475c9c41e04953fbbb76e1c7747ec00d add VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM_BO in va_drmcommon.h
f71d60097aa085f8fbeacc27168fdb8e427eeefb API: add support for buffer exports.

@shaochangbin
Copy link
Contributor Author

thanks for trying this:) Looks the libva version is quite new, whereas on Tizen IVI its version is 1.2.1.
I guess maybe the patches for libva-driver are not applied here. Could you please try the 'libva' & 'libva-dirver' rpms from http://download.tizen.org/releases/daily/tizen/ivi/ivi/latest/repos/atom/packages/i686/ , they add the support for vaLockBuffer & vaUnlockBuffer.

@tiagovignatti
Copy link
Contributor

where are the sources for these packages? as I said previously, I'm not using Tizen to test it.

@shaochangbin
Copy link
Contributor Author

The source code could be found in libva & libva-intel-driver packages from http://download.tizen.org/releases/daily/tizen/ivi/ivi/latest/repos/atom/source/,
Think libva & libva-intel-driver projects from review.tizen.org could also be a reference.
Btw, I'm on crosswalk IRC, we can have chat there:)

if (!va_wrapper_->PutSurfaceIntoImage(surface, &va_image_)) {
DVLOG(1) << "Failed to put va surface to image";
if (egl_image_ != EGL_NO_IMAGE_KHR)
DestroyEGLImage(egl_display_, egl_image_);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why destroy egl_image_, if it's already null? What's the case that it falls in this conditional?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EGL_NO_IMAGE_KHR equals NULL here. There is GL mapping of eglCreateImageKHR and eglDestroyImageKHR, so release an EGL image first before create a new one.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fine. thanks.

@tiagovignatti
Copy link
Contributor

just for the record: I could get the environment up and running after all. All looks great at first -- very nice! Anyhow, I had a offline talk with @shaochangbin and we agreed to talk with libva maintainers first whether we should be using the 'staging' branch of the project, and the Acquire/Release buffer approach instead.

@kalyankondapally
Copy link
Contributor

@shaochangbin @tiagovignatti Can one of you please update the Readme with how to set up the environment for taking advantage of HWA decoding. (i.e. Vappi setup and Chromium compiling and run time flags.)

@kalyankondapally
Copy link
Contributor

@shaochangbin I realize these changes depend on libva packages in Tizen. Is their a way to determine if the needed support is available or not during run time and if not available use existing code path ?

@shaochangbin
Copy link
Contributor Author

@kalyankondapally thanks a lot for your suggestion, I will add the libva dependency check in the following change.
There is VaapiWrapper::VAAPIVersionLessThan() to check vaapi version, but I think it won't solve this issue due to the vaLockBuffer Apis are customized changes only in Tizen IVI not libva upstream.
IMO the expected behavior would be: If libva supports vaLockBuffer Apis, such as Tizen libva, we can use the proposed VDA method to reach better video playback performance; on the other hand, if libva doesn't support vaLockBuffer Apis, we can still use the previous solution even the performance is bad.
A feasible solution is using linux dlsym() api to check whether the vaLockBuffer apis are supported or not. I will submit a patch later with this solution for your review.

@shaochangbin shaochangbin force-pushed the drm-egl-vda branch 2 times, most recently from 45f6768 to e87d301 Compare September 3, 2014 06:26
@shaochangbin
Copy link
Contributor Author

@kalyankondapally @tiagovignatti , I've updated patch to add vaLockBuffer check. please take a look, thank you.

@kalyankondapally
Copy link
Contributor

@shaochangbin Looks better. Can you please rebase the patch to latest master TOT ?

@shaochangbin
Copy link
Contributor Author

Patch is rebased, ptal, thanks.
@kalyankondapally @tiagovignatti

@shaochangbin
Copy link
Contributor Author

hi, Kalyan & Tiago, any review comments?
Btw, the CL requires the vaLockBuffer function definitions in third_party/libva/va/va.h, will that needs extra changes to support other platforms besides Tizen IVI?

@tiagovignatti
Copy link
Contributor

No comments from my side really. I defer now this to @kalyankondapally

@kalyankondapally
Copy link
Contributor

@shaochangbin so changes in third_party/libva/va/va.h are needed to get this compiled ?

@shaochangbin
Copy link
Contributor Author

@kalyankondapally yes, i think so. To get this compiled, we need to include the declarations in va.h, like crosswalk-project/chromium-crosswalk#183.

The long term goal would be make those declarations landed in Chromium upstream, after the libva and its driver side change are finished.

@kalyankondapally
Copy link
Contributor

@shaochangbin Can you please include those changes as a patch here. See patches/ folder in oz-wl

rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Apr 13, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Apr 13, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Apr 15, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Apr 15, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Apr 20, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Apr 28, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Apr 29, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Apr 30, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
mrunalk pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request May 7, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
mrunalk pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request May 12, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request May 25, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Jun 8, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Jun 23, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.
Bysmyyr pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Jul 14, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Jul 14, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Jul 22, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Jul 27, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
mrunalk pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Aug 6, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Aug 13, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Aug 13, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Aug 28, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Sep 7, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Sep 9, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Sep 16, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
mrunalk pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Sep 22, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
darktears pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Oct 8, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Oct 8, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
mrunalk pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Oct 24, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Nov 18, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
rakuco pushed a commit to crosswalk-project/chromium-crosswalk that referenced this pull request Nov 19, 2015
Reason that add this change:
1080p video playback on Tizen is quite unsmooth on VTC-1010, with only 15 render
fps and ~70% CPU usage. Ozone-wl landed a workaround solution that enables a
zero buffer copy method that uses libva vaLockBuffer APIs which gains much better
performance than previous method.
intel/ozone-wayland#260

In order to make the change also benifit Crosswalk/Tizen, we should add the
vaLockBuffer API declarations inside Chromium Crosswalk to compile
the code successfully.

The long term goal of our work would be landing those API declarations inside
Chromium upstream, after the API implementations are landed in libva and
libva-driver upstream.

Therefore, this CL is a temporary solution. It would be reverted after the long
term goal is achived.

[This is ozone-wayland's 0006-Introduce-vaLockBuffer-APIs-in-libva.patch]
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants