OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef MEDIA_GPU_VP9_PICTURE_H_ | 5 #ifndef MEDIA_GPU_VP9_PICTURE_H_ |
6 #define MEDIA_GPU_VP9_PICTURE_H_ | 6 #define MEDIA_GPU_VP9_PICTURE_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
12 #include "media/filters/vp9_parser.h" | 12 #include "media/filters/vp9_parser.h" |
| 13 #include "ui/gfx/geometry/rect.h" |
13 | 14 |
14 namespace media { | 15 namespace media { |
15 | 16 |
16 class V4L2VP9Picture; | 17 class V4L2VP9Picture; |
17 class VaapiVP9Picture; | 18 class VaapiVP9Picture; |
18 | 19 |
19 class VP9Picture : public base::RefCounted<VP9Picture> { | 20 class VP9Picture : public base::RefCounted<VP9Picture> { |
20 public: | 21 public: |
21 VP9Picture(); | 22 VP9Picture(); |
22 | 23 |
23 virtual V4L2VP9Picture* AsV4L2VP9Picture(); | 24 virtual V4L2VP9Picture* AsV4L2VP9Picture(); |
24 virtual VaapiVP9Picture* AsVaapiVP9Picture(); | 25 virtual VaapiVP9Picture* AsVaapiVP9Picture(); |
25 | 26 |
26 std::unique_ptr<Vp9FrameHeader> frame_hdr; | 27 std::unique_ptr<Vp9FrameHeader> frame_hdr; |
27 | 28 |
| 29 // The visible size of picture. This could be either parsed from frame |
| 30 // header, or set to gfx::Rect(0, 0) for indicating the client using the |
| 31 // visible size extracted from the container instead. |
| 32 gfx::Rect visible_rect; |
| 33 |
28 protected: | 34 protected: |
29 friend class base::RefCounted<VP9Picture>; | 35 friend class base::RefCounted<VP9Picture>; |
30 virtual ~VP9Picture(); | 36 virtual ~VP9Picture(); |
31 | 37 |
32 DISALLOW_COPY_AND_ASSIGN(VP9Picture); | 38 DISALLOW_COPY_AND_ASSIGN(VP9Picture); |
33 }; | 39 }; |
34 | 40 |
35 } // namespace media | 41 } // namespace media |
36 | 42 |
37 #endif // MEDIA_GPU_VP9_PICTURE_H_ | 43 #endif // MEDIA_GPU_VP9_PICTURE_H_ |
OLD | NEW |