vp8_picture.h 883 B

12345678910111213141516171819202122232425262728293031323334353637
  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. #ifndef MEDIA_GPU_VP8_PICTURE_H_
  5. #define MEDIA_GPU_VP8_PICTURE_H_
  6. #include "media/gpu/codec_picture.h"
  7. #include "media/parsers/vp8_parser.h"
  8. #include "media/video/video_encode_accelerator.h"
  9. namespace media {
  10. class V4L2VP8Picture;
  11. class VaapiVP8Picture;
  12. class VP8Picture : public CodecPicture {
  13. public:
  14. VP8Picture();
  15. VP8Picture(const VP8Picture&) = delete;
  16. VP8Picture& operator=(const VP8Picture&) = delete;
  17. virtual V4L2VP8Picture* AsV4L2VP8Picture();
  18. virtual VaapiVP8Picture* AsVaapiVP8Picture();
  19. std::unique_ptr<Vp8FrameHeader> frame_hdr;
  20. absl::optional<Vp8Metadata> metadata_for_encoding;
  21. protected:
  22. ~VP8Picture() override;
  23. };
  24. } // namespace media
  25. #endif // MEDIA_GPU_VP8_PICTURE_H_