Home | History | Annotate | Download | only in vda
      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