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

Side by Side Diff: media/video/picture.cc

Issue 2462393002: Use texture ids passed from ARC as service ids in ArcGVDA (Closed)
Patch Set: Fixup DXVA Created 4 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « media/video/picture.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/macros.h" 5 #include "base/macros.h"
6 #include "media/video/picture.h" 6 #include "media/video/picture.h"
7 7
8 namespace media { 8 namespace media {
9 9
10 PictureBuffer::PictureBuffer(int32_t id, 10 PictureBuffer::PictureBuffer(int32_t id, const gfx::Size& size)
11 gfx::Size size, 11 : id_(id), size_(size) {}
12 const TextureIds& client_texture_ids)
13 : id_(id), size_(size), client_texture_ids_(client_texture_ids) {}
14 12
15 PictureBuffer::PictureBuffer(int32_t id, 13 PictureBuffer::PictureBuffer(int32_t id,
16 gfx::Size size, 14 const gfx::Size& size,
15 const TextureIds& client_texture_ids)
16 : id_(id), size_(size), client_texture_ids_(client_texture_ids) {
17 DCHECK(!client_texture_ids_.empty());
18 }
19
20 PictureBuffer::PictureBuffer(int32_t id,
21 const gfx::Size& size,
17 const TextureIds& client_texture_ids, 22 const TextureIds& client_texture_ids,
18 const TextureIds& service_texture_ids) 23 const TextureIds& service_texture_ids)
19 : id_(id), 24 : id_(id),
20 size_(size), 25 size_(size),
21 client_texture_ids_(client_texture_ids), 26 client_texture_ids_(client_texture_ids),
22 service_texture_ids_(service_texture_ids) { 27 service_texture_ids_(service_texture_ids) {
23 DCHECK_EQ(client_texture_ids.size(), service_texture_ids.size()); 28 DCHECK(!service_texture_ids_.empty());
29 // We either not have client texture ids at all, or if we do, then their
30 // number must be the same as the number of service texture ids.
31 DCHECK(client_texture_ids_.empty() ||
32 client_texture_ids_.size() == service_texture_ids_.size());
24 } 33 }
25 34
26 PictureBuffer::PictureBuffer(int32_t id, 35 PictureBuffer::PictureBuffer(int32_t id,
27 gfx::Size size, 36 const gfx::Size& size,
28 const TextureIds& client_texture_ids, 37 const TextureIds& client_texture_ids,
29 const std::vector<gpu::Mailbox>& texture_mailboxes) 38 const std::vector<gpu::Mailbox>& texture_mailboxes)
30 : id_(id), 39 : id_(id),
31 size_(size), 40 size_(size),
32 client_texture_ids_(client_texture_ids), 41 client_texture_ids_(client_texture_ids),
33 texture_mailboxes_(texture_mailboxes) { 42 texture_mailboxes_(texture_mailboxes) {
34 DCHECK_EQ(client_texture_ids.size(), texture_mailboxes.size()); 43 DCHECK_EQ(client_texture_ids.size(), texture_mailboxes.size());
35 } 44 }
36 45
37 PictureBuffer::PictureBuffer(const PictureBuffer& other) = default; 46 PictureBuffer::PictureBuffer(const PictureBuffer& other) = default;
38 47
39 PictureBuffer::~PictureBuffer() {} 48 PictureBuffer::~PictureBuffer() {}
40 49
50 gpu::Mailbox PictureBuffer::texture_mailbox(size_t plane) const {
51 if (plane >= texture_mailboxes_.size()) {
52 LOG(ERROR) << "No mailbox for plane " << plane;
53 return gpu::Mailbox();
54 }
55
56 return texture_mailboxes_[plane];
57 }
58
41 Picture::Picture(int32_t picture_buffer_id, 59 Picture::Picture(int32_t picture_buffer_id,
42 int32_t bitstream_buffer_id, 60 int32_t bitstream_buffer_id,
43 const gfx::Rect& visible_rect, 61 const gfx::Rect& visible_rect,
44 const gfx::ColorSpace& color_space, 62 const gfx::ColorSpace& color_space,
45 bool allow_overlay) 63 bool allow_overlay)
46 : picture_buffer_id_(picture_buffer_id), 64 : picture_buffer_id_(picture_buffer_id),
47 bitstream_buffer_id_(bitstream_buffer_id), 65 bitstream_buffer_id_(bitstream_buffer_id),
48 visible_rect_(visible_rect), 66 visible_rect_(visible_rect),
49 color_space_(color_space), 67 color_space_(color_space),
50 allow_overlay_(allow_overlay), 68 allow_overlay_(allow_overlay),
51 size_changed_(false) {} 69 size_changed_(false) {}
52 70
53 } // namespace media 71 } // namespace media
OLDNEW
« no previous file with comments | « media/video/picture.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698