vaapi_webp_decoder.h 983 B

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2019 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_VAAPI_VAAPI_WEBP_DECODER_H_
  5. #define MEDIA_GPU_VAAPI_VAAPI_WEBP_DECODER_H_
  6. #include <stdint.h>
  7. #include "media/gpu/vaapi/vaapi_image_decoder.h"
  8. namespace media {
  9. class VaapiWebPDecoder : public VaapiImageDecoder {
  10. public:
  11. VaapiWebPDecoder();
  12. VaapiWebPDecoder(const VaapiWebPDecoder&) = delete;
  13. VaapiWebPDecoder& operator=(const VaapiWebPDecoder&) = delete;
  14. ~VaapiWebPDecoder() override;
  15. // VaapiImageDecoder implementation.
  16. gpu::ImageDecodeAcceleratorType GetType() const override;
  17. SkYUVColorSpace GetYUVColorSpace() const override;
  18. private:
  19. // VaapiImageDecoder implementation.
  20. VaapiImageDecodeStatus AllocateVASurfaceAndSubmitVABuffers(
  21. base::span<const uint8_t> encoded_image) override;
  22. };
  23. } // namespace media
  24. #endif // MEDIA_GPU_VAAPI_VAAPI_WEBP_DECODER_H_