1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/common/gpu/media/vaapi_picture.h"
6 #include "content/common/gpu/media/vaapi_wrapper.h"
7 #include "ui/gl/gl_bindings.h"
8 #include "ui/gl/gl_implementation.h"
11 #include "content/common/gpu/media/vaapi_tfp_picture.h"
12 #elif defined(USE_OZONE)
13 #include "content/common/gpu/media/vaapi_drm_picture.h"
19 linked_ptr
<VaapiPicture
> VaapiPicture::CreatePicture(
20 VaapiWrapper
* vaapi_wrapper
,
21 const base::Callback
<bool(void)> make_context_current
,
22 int32 picture_buffer_id
,
24 const gfx::Size
& size
) {
25 linked_ptr
<VaapiPicture
> picture
;
27 picture
.reset(new VaapiTFPPicture(vaapi_wrapper
, make_context_current
,
28 picture_buffer_id
, texture_id
, size
));
29 #elif defined(USE_OZONE)
30 picture
.reset(new VaapiDrmPicture(vaapi_wrapper
, make_context_current
,
31 picture_buffer_id
, texture_id
, size
));
34 if (picture
.get() && !picture
->Initialize())
40 bool VaapiPicture::AllowOverlay() const {
45 uint32
VaapiPicture::GetGLTextureTarget() {
46 #if defined(USE_OZONE)
47 return GL_TEXTURE_EXTERNAL_OES
;
53 } // namespace content