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 3 // found in the LICENSE file. 4 // Note: ported from Chromium commit head: 70340ce 5 6 #ifndef VP9_PICTURE_H_ 7 #define VP9_PICTURE_H_ 8 9 #include <memory> 10 11 #include "base/macros.h" 12 #include "base/memory/ref_counted.h" 13 #include "rect.h" 14 #include "vp9_parser.h" 15 16 namespace media { 17 18 class V4L2VP9Picture; 19 20 class VP9Picture : public base::RefCountedThreadSafe<VP9Picture> { 21 public: 22 VP9Picture(); 23 24 virtual V4L2VP9Picture* AsV4L2VP9Picture(); 25 26 std::unique_ptr<Vp9FrameHeader> frame_hdr; 27 28 // The visible size of picture. This could be either parsed from frame 29 // header, or set to Rect(0, 0) for indicating invalid values or 30 // not available. 31 Rect visible_rect; 32 33 protected: 34 friend class base::RefCountedThreadSafe<VP9Picture>; 35 virtual ~VP9Picture(); 36 37 DISALLOW_COPY_AND_ASSIGN(VP9Picture); 38 }; 39 40 } // namespace media 41 42 #endif // VP9_PICTURE_H_ 43